特定のインターフェイスの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_GATEWAY
IP4_NAMESERVERS
DHCP4_DOMAIN_NAME_SERVERS