40.2. dhclient の終了フックを実行する NetworkManager の dispatcher スクリプトの作成

DHCP サーバーが IPv4 アドレスを割り当てまたは更新すると、NetworkManager は /etc/dhcp/dhclient-exit-hooks.d/ ディレクトリーに保存されている dispatcher スクリプトを実行できます。この dispatcher スクリプトは、dhclient の終了フックなどを実行できます。

前提条件

  • dhclient の終了フックは、/etc/dhcp/dhclient-exit-hooks.d/ ディレクトリーに保存されます。

手順

  1. 以下の内容で /etc/NetworkManager/dispatcher.d/12-dhclient-down ファイルを作成します。

    #!/bin/bash
    # Run dhclient.exit-hooks.d scripts
    
    if [ -n "$DHCP4_DHCP_LEASE_TIME" ] ; then
      if [ "$2" = "dhcp4-change" ] || [ "$2" = "up" ] ; then
        if [ -d /etc/dhcp/dhclient-exit-hooks.d ] ; then
          for f in /etc/dhcp/dhclient-exit-hooks.d/*.sh ; do
            if [ -x "${f}" ]; then
              . "${f}"
            fi
          done
        fi
      fi
    fi
  2. root ユーザーをファイルの所有者として設定します。

    # chown root:root /etc/NetworkManager/dispatcher.d/12-dhclient-down
  3. 権限を設定して、root ユーザーのみが実行できるようにします。

    # chmod 0700 /etc/NetworkManager/dispatcher.d/12-dhclient-down
  4. SELinux コンテキストを復元します。

    # restorecon /etc/NetworkManager/dispatcher.d/12-dhclient-down

関連情報

  • NetworkManager(8) man ページ