我正在尝试添加一个脚本,该脚本将在特定接口的 DHCP IP 更改时执行。为此,我已将以下脚本复制到“/etc/dhcp/dhclient.d/dhcp-hook.sh”。每当 dhcp 更新/绑定发生时,我都需要获取路由器 IP,以便通过该 IP 添加路由。有人可以建议我如何在“dhcp4-change”事件中获取路由器ip信息,在下面的情况下$DHCP4_routers_IP_ADDRESS。该脚本如下所示,表 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