如何在 /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-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_GATEWAYIP4_NAMESERVERSDHCP4_DOMAIN_NAME_SERVERS

相关内容