$ cat /etc/network/interfaces.d/test0 iface test0 inet staticpre-up ip link add $IFACE type dummyaddress 1.1.1.1netmask 255.255.255.0post-down ip link del $IFACE$ sudo ifup -v test0ifup: parsing file /etc/network/interfaces.d/test0 ifup: configuring interface test0=test0 (inet)ip link add $IFACE type dummy/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.drun-parts: executing /etc/network/if-pre-up.d/ethtool /bin/ip addr add 1.1.1.1/255.255.255.0 broadcast 1.1.1.255 dev test0 label test0/bin/ip link set dev test0 up/bin/run-parts --exit-on-error --verbose /etc/network/if-up.drun-parts: executing /etc/network/if-up.d/ethtoolrun-parts: executing /etc/network/if-up.d/openssh-server run-parts: executing /etc/network/if-up.d/upstart$ sudo sed -i 's/1.1.1.1/1.1.1.2/g' /etc/network/interfaces.d/test0 $ sudo ifdown -v test0ifdown: parsing file /etc/network/interfaces.d/test0 ifdown: configuring interface test0=test0 (inet)/bin/run-parts --verbose /etc/network/if-down.drun-parts: executing /etc/network/if-down.d/upstart/bin/ip addr del 1.1.1.2/255.255.255.0 broadcast 1.1.1.255 dev test0 label test0RTNETLINK answers: Cannot assign requested address/bin/ip link set dev test0 down/bin/run-parts --verbose /etc/network/if-post-down.dip link del $IFACE可见,ifdown 的时候,会按照 interfaces 文件中写的 IP 去 `ip addr del` ,所以,原来配置在 test0 上的 1.1.1.1 这个 IP 不会被删除。当然,我的这个例子,ifdown test0 && ifup test0 之后,test0 上的 1.1.1.1 这个IP会消失、只有 1.1.1.2 这个 IP,是因为我的例子中再 ifdown 最后会把 test0 这个 dev 删除,绑在上面的 IP 也就随之被删除了。2017-07-04 9:06 GMT+08:00 Roy Lust <roy.lust@gmail.com>:时候贴出配置和控制台输出了😎2017-07-03 19:25 GMT+08:00 Shell Xu <shell909090@gmail.com>:我不知道。但是我的默认做法是先ifdown,修改地址,再ifup。因为ifdown的时候会按照你的设定去cleanup, 但是你这时设定的地址已经是1.1.1.2了吧。。。 --2017-07-03 9:10 GMT+08:00 luohua lis <luohualis@outlook.com>:在 /etc/network/interfaceing 下配
置IP为1.1.1.1 之后重启服务,成功配置IP
再修改 该文件并将地址修改为 1.1.1.2
之后再重启服务,发现 1.1.1.2 变成了 second
地址,原来的 1.1.1.1也并 没有消失这是bug,还是新版本的特性
彼節者有間,而刀刃者無厚;以無厚入有間,恢恢乎其於游刃必有餘地矣。
blog: http://shell909090.org/