如果有的话,和的值大于零/永远大于零会有什么影响valid_lft
?preferred_lft
我应该担心这个吗?如果是的话,如何forever
在启动时自动将其设置为(最好使用 Netplan)?
root:~# ip a
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether aa:00:11:22:33:44 brd ff:ff:ff:ff:ff:ff
inet 111.111.111.111/32 scope global ens3
valid_lft 86154sec preferred_lft 86154sec
inet 222.222.222.222/32 scope global ens3
valid_lft forever preferred_lft forever
inet6 fe80::aaa:bbb:ccc:ddd/64 scope link
valid_lft forever preferred_lft forever
root:~# ip addr change 111.111.111.111 dev ens3 valid_lft forever preferred_lft forever
root:~# ip a
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether aa:00:11:22:33:44 brd ff:ff:ff:ff:ff:ff
inet 111.111.111.111/32 scope global ens3
valid_lft forever preferred_lft forever
inet 222.222.222.222/32 scope global ens3
valid_lft forever preferred_lft forever
inet6 fe80::aaa:bbb:ccc:ddd/64 scope link
valid_lft forever preferred_lft forever
我问这个问题是因为我意识到服务器默认 IP 地址无需人工干预即可从 切换111.111.111.111
为222.222.222.222
,即ifconfig -a
显示以下内容ens3
:
root:~# ifconfig -a
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 222.222.222.222 netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::aaa:bbb:ccc:ddd prefixlen 64 scopeid 0x20<link>
ether aa:00:11:22:33:44 txqueuelen 1000 (Ethernet)
RX packets 206473 bytes 54232020 (54.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 111121 bytes 19855468 (19.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root:~# cat /etc/netplan/*.yaml
network:
version: 2
ethernets:
ens3:
dhcp4: yes
match:
macaddress: aa:00:11:22:33:44
mtu: 1500
set-name: ens3
addresses:
- 111.111.111.111/32
- 222.222.222.222/32
nameservers:
addresses:
- 8.8.8.8
- 4.4.4.4
- 1.1.1.1
- 1.0.0.1
这可能valid_lft
是preferred_lft
转换的原因吗?
如果不是,如何确保主 IP 地址保留111.111.111.111
在此配置中?我正在使用 Virtualmin,它偶尔会闪现一条消息,说主 IP 地址已更改为222.222.222.222
,并建议将其从 修改111.111.111.111
为222.222.222.222
。当时,ifconfig
显示222.222.222.222
如上所示。
答案1
我最终编写了一个单行脚本,将valid_lft
和设置preferred_lft
为forever
在启动时在网络服务之后作为服务运行。
我不知道这是否是解决了我的问题,但是自从我这样做之后,主 IP 就不再自动切换了。
/usr/sbin/ip addr change 111.111.111.111 dev ens3 valid_lft forever preferred_lft forever