如何使用“ip addr add”手动分配永久/静态 IP 地址?

如何使用“ip addr add”手动分配永久/静态 IP 地址?

将 IP 地址分配给该网络接口后,使用以下任一命令:

ip addr add 10.0.0.0 dev eth1 valid_lft forever preferred_lft forever
ip addr replace 10.0.0.0 dev eth1 valid_lft forever preferred_lft forever
ip addr add 10.0.0.0 dev eth1
ip addr replace 10.0.0.0 dev eth1

我可以验证ip addrIP 地址是否eth1设置10.0.0.0/32得很好(我认为):

...
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 08:00:27:4d:1e:43 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.0/32 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe4d:1e43/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
...

我自己开始ping...ping命令在 31 号 ping 时挂起:

username@computer:~$ ping 10.0.0.0
PING 10.0.0.0 (10.0.0.0) 56(84) bytes of data.
64 bytes from 10.0.0.0: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 10.0.0.0: icmp_seq=2 ttl=64 time=0.034 ms

...

64 bytes from 10.0.0.0: icmp_seq=30 ttl=64 time=0.038 ms
64 bytes from 10.0.0.0: icmp_seq=31 ttl=64 time=0.041 ms

一旦 ping 挂起,我可以验证ip addr其 IP 地址是否eth1已消失:

...
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 08:00:27:4d:1e:43 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::a00:27ff:fe4d:1e43/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
...

如何使用 为网络接口分配静态 IP 地址ip(8),而不让它消失?(系统重启后消失即可)

我在跑步Ubuntu 14.04

从网上研究我的问题来看,似乎修改文件/etc/network/interfaces是解决方案,但这是不可取的,因为这种解决方案不像ip(8)命令那样可移植。

答案1

你的问题不是ip addr某个进程(网络管理器?)删除了IP地址。不幸的是,我不知道是否可以确定哪个进程进行了此访问。

如果干扰进程调用,ip则应该可以使用进程记帐 (man acct),但如果直接通过 NETLINK 套接字进行配置则不行。

您可以终止或停止可疑进程,以找出是哪个进程执行了此操作。

相关内容