技术解析

Linux bridge down/up 如何通知虚拟机重新获取 ip ?
0
2021-06-15 12:48:43
idczone

设备连接

  • pve 下有 vmbr1 桥接到 enp2s0. enp2s0 连着路由器.
    iface vmbr1 inet dhcp
      bridge-ports enp2s0
    
  • debian 虚拟机挂到 vmbr1,可以正常分配到 v4-局域网和 v6 地址.

家宽的 ipv6 每隔几天就需要重新拨号,否则就不通了,设定了路由器每天重启.

路由重启后

  • 宿主机正常重新获取 v4 和不同的 v6 地址.
  • 但 vmbr1 上的虚拟机没有重新获取 ip..

拔网线 /执行 ifdown vmbr1

  • 在 debian 执行 ethtool ens18,发现 ens18 还是处于 link 状态.
  • 这样就没法用 ifplugd 来响应网口热插拔事件了...似乎进入了死胡同...

求助熟悉 linux 网络的 V 友大神,有那些思路能解决这个问题呢?? 非常感谢!!


用 qemu 的 moniter socket 可以控制虚拟机网线的插拔状态吧

用 dhclient 命令定期 renew 一下地址?
https://www.cyberciti.biz/faq/howto-linux-renew-dhcp-client-ip-address/


感谢,提供思路, 这一块自己真是一穷二白,深入一点就不了解了.

定期 renew 倒是最直接,先使用了....
qemu 的 moniter socket ,宿主机 ifplugd up/down 时候,执行虚拟机的网线插拔切换. 应该可行,查资料写写..

可以试试调整 DHCP 租约时间
[关于用户对于 DHCP 租约时间的疑问解答]( http://utt.com.cn/reference.php?id=763)

调整 DHCP 租约时间,似乎是强制 dhcp 客户端重新请求唯一的办法.. 谢谢!

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服