我在接口 ens160 ( 10.209.70.147 ) 上有一个 IP,它已启动并响应流量。然后我从 vmware 控制台添加另一个处于“连接状态”的接口 eth0,并在 netplan 中将另一个 IP ( 10.209.226.248) 添加到 eth0。当我执行 netplan apply 时,我看到 ens160 中的 IP 暂时关闭。systemd 也确认了这一点:-
Aug 21 17:56:39 10 kernel: [3542843.809266] vmxnet3 0000:03:00.0 ens160: intr type 3, mode 0, 3 vectors allocated
Aug 21 17:56:39 10 kernel: [3542843.809833] vmxnet3 0000:03:00.0 ens160: NIC Link is Up 10000 Mbps
Aug 21 17:56:39 10 systemd-networkd[307]: ens160: Lost carrier
Aug 21 17:56:39 10 systemd-networkd[307]: ens160: Link UP
Aug 21 17:56:40 10 systemd-networkd[307]: ens160: Gained carrier
Aug 21 17:56:41 10 ntpd[607]: Listen normally on 28 ens160 10.209.226.248:123
TCP 转储还显示 10.209.70.147 上存在数据包丢失:-
78194 2023-08-21 17:56:40.457615 0.307371 10.49.24.148 10.209.70.149 TCP 1356 [TCP Retransmission] 59675 → 9090 [PSH, ACK] Seq=197416 Ack=139625 Win=262144 Len=1300
78278 2023-08-21 17:56:41.061066 0.603451 10.49.24.148 10.209.70.149 TCP 1356 [TCP Retransmission] 59675 → 9090 [PSH, ACK] Seq=197416 Ack=139625 Win=262144 Len=1300
78195 2023-08-21 17:56:40.477066 0.000000 10.49.24.148 10.209.70.147 TCP 68 59873 → 443 [SYN] Seq=0 Win=64896 Len=0 MSS=1352 WS=256 SACK_PERM=1
80105 2023-08-21 17:56:41.490827 1.013761 10.49.24.148 10.209.70.147 TCP 68 [TCP Retransmission] 59873 → 443 [SYN] Seq=0 Win=64896 Len=0 MSS=1352 WS=256 SACK_PERM=1
此数据包丢失会导致流量下降几秒钟。这发生在 Ubuntu 20.04 上。尚未检查更高版本。这是 Ubuntu 20.04 上的已知问题吗?如果不使接口暂时关闭,netplan 应用行为能否顺利进行?任何线索都会有所帮助。
答案1
我相信这是 netplan 工作方式(以及网络一般的工作方式)所固有的。
该命令netplan apply
不仅生成配置,还将它应用于所有正在运行的接口(也看这里)。如果不关闭并重新启动接口,则无法更改正在运行的网络设备的配置。
如果您只想生成下次重启时应用的配置,请使用命令netplan generate
。
答案2
`critical` (bool)
Designate the connection as “critical to the system”, meaning
that special care will be taken by to not release the assigned
IP when the daemon is restarted. (not recognized by
NetworkManager)
https://netplan.readthedocs.io/en/stable/netplan-yaml/#properties-for-all-device-types