/etc/dhcp/dhclient.d/スクリプトの "dhcp4-change"イベントからルーター情報を取得するには?

/etc/dhcp/dhclient.d/スクリプトの "dhcp4-change"イベントからルーター情報を取得するには?

特定のインターフェイスのDHCP IPが変更されたときに実行されるスクリプトを追加しようとしています。そのために、次のスクリプトを「/etc/dhcp/dhclient.d/dhcp-hook.sh」にコピーしました。 DHCPアップデート/バインディングが発生するたびに、そのIPを介してルートを追加できるようにルータIPを取得する必要があります。 $DHCP4_routers_IP_ADDRESSの場合、「dhcp4-change」イベントでルータIP情報を取得する方法を提案していただけますか? uplink1 テーブルが埋め込まれたスクリプトは次のとおりです。ルータの IP を取得する方法を知るだけです。

  1 #! /bin/sh
  2 
  3 interface=$1 status=$2
  4 
  5 if [ "$status" != "dhcp4-change"  -o
  6      $interface != $UPLINK1 ]; then
  7    return
  8 fi
  9 if  [ $interface = $UPLINK1 ]; then
 10     if [ -n $DHCP4_routers_IP_ADDRESS ]; then
 11        ip route add default via $DHCP4_routers_IP_ADDRESS table uplink1
 12     fi
 13 fi

答え1

いつでもイベントを追加しecho "$(env)" > change_env.logて実行して、環境変数がどのように見えるかを確認し、必要なものを見つけることができることを願っています。さまざまなイベントのいくつかの有望な環境変数にはDHCP4_DHCP_SERVER_IDENTIFIER、、、、、が含まれます。IP4_GATEWAYIP4_NAMESERVERSDHCP4_DOMAIN_NAME_SERVERS

関連情報