T60:~ # ip -Vip utility,iproute2-ss110629T60:~ # ip addr show dev eth02: eth0: <NO-CARRIER,broADCAST,MulTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:15:58:2a:84:3e brd ff:ff:ff:ff:ff:ff inet 10.11.12.2/24 scope global eth0 inet 10.11.12.3/24 scope global secondary eth0 inet 10.11.12.4/24 scope global secondary eth0 inet6 fe80::215:58ff:fe2a:843e/64 scope link valID_lft forever preferred_lft foreverT60:~ #
我想将10.11.12.3/24地址替换或更改为10.11.12.6/24.这该怎么做?如果我执行ip addr更改10.11.12.6/24 dev eth0或ip addr替换10.11.12.6/24 dev eth0然后10.11.12.6刚刚添加到eth0.另外,在更改/替换的情况下,语法是否应该从10.11.12.3/24更改/替换为10.11.12.6/24?我知道我可以使用ip addr del命令,但如何通过ip addr更改或ip addr替换来实现这一点?
解决方法 (我意识到这是一个古老的问题,但谷歌把我带到了这里,因为我试图找出确切的变化和替换以及它们如何不同).我相信替换和更改都用于修改现有地址.考虑:
ip addr add 192.168.1.10/32 dev dummy0
这让我:
32: dummy0: <broADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNowN group default link/ether 5a:ec:58:4f:d1:35 brd ff:ff:ff:ff:ff:ff inet 192.168.111.10/32 scope global dummy0 valID_lft forever preferred_lft forever inet6 fe80::58ec:58ff:fe4f:d135/64 scope link valID_lft forever preferred_lft forever
如果我再次运行相同的命令,我会收到一个错误:
# ip addr add 192.168.111.10/32 dev dummy0 RTNETlink answers: file exists
如果我想修改该地址上的标志,我可以使用更改或替换.在这里,我使用ip addr更改来修改该地址上的preferred_lft和valID_lft设置:
# ip addr change 192.168.111.10/32 dev dummy0 preferred_lft 300 valID_lft 300# ip addr show dummy032: dummy0: <broADCAST,LOWER_UP> mtu 1500 qdisc noqueue state UNKNowN group default link/ether 5a:ec:58:4f:d1:35 brd ff:ff:ff:ff:ff:ff inet 192.168.111.10/32 scope global dynamic dummy0 valID_lft 298sec preferred_lft 298sec inet6 fe80::58ec:58ff:fe4f:d135/64 scope link valID_lft forever preferred_lft forever
ip addr replace的行为是相同的.实际上,如果查看代码,它们会导致几乎相同的 *** 作:
if (matches(*argv,"change") == 0 || strcmp(*argv,"chg") == 0) return ipaddr_modify(RTM_NEWADDR,NLM_F_REPLACE,argc-1,argv+1); if (matches(*argv,"replace") == 0) return ipaddr_modify(RTM_NEWADDR,NLM_F_CREATE|NLM_F_REPLACE,argv+1);
看起来这里的意图是更改将仅修改现有地址,而替换将修改现有地址或如果指定的地址不存在则创建新地址.在实践中,似乎更改和替换将添加地址(如果它尚不存在).
如果你真的想要添加一个新地址并删除一个旧地址,你需要分两步完成,使用ip addr del,然后是ip addr add(当然,反过来).
总结以上是内存溢出为你收集整理的linux – 理解“ip addr change”和“ip addr replace”命令全部内容,希望文章能够帮你解决linux – 理解“ip addr change”和“ip addr replace”命令所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)