我需要将我的静态 IP 地址存储在非标准位置;比如 EEPROM。可以使用 shell 命令检索。
是否可以/etc/network/interfaces
以这样的方式配置文件,即每次启动/重新启动网络时运行此 shell 命令,并从非标准位置读取 IP 配置并用于配置接口?
答案1
有更好的解决方案,但它只是已经提出的方案的一个变体陌生人。此 Debian Wiki 链接显示了如何在没有 IP 地址的情况下启动接口,例如,每次bridge
需要使用某个接口时都会使用此过程,而底层eth0
接口根本没有 IP 地址。
在文件中/etc/network/interfaces
添加以下行:
iface eth0 inet manual
pre-up ip link set $IFACE up
post-up /path/to/script/which_changes_your_ip.sh
post-down ip link set $IFACE down
post-down ip addr flush dev $IFACE
事实上,手册(man interfaces
)指出:
手动方法
此方法可用于定义默认不进行配置的接口。此类接口可以通过 up 和 down 命令或 /etc/network/if-*.d 脚本手动配置。
答案2
使用后发命令。https://wiki.debian.org/NetworkConfiguration#Bringing_up_an_interface_without_an_IP_address
iface eth0 inet static
address some_address
netmask 255.255.192.0
gateway some_gateway
post-up /path/to/script/which_changes_your_ip.sh