Docker 打破了虚拟机的网络桥接

Docker 打破了虚拟机的网络桥接

安装后,docker我无法再访问在 Linux 机器上运行的虚拟机。虚拟机已启动并运行,但其他主机根本无法再访问它们。有人之前遇到过这个问题并能帮助解决这两个问题吗?

  • 为什么会这样呢?
  • 我如何重新配置​​我的系统以再次正确桥接至虚拟机?

答案1

遗憾的是,Docker 在启动时会更改系统的 IPTABLES 防火墙,从而破坏桥接网络。这是一个已知问题,目前尚无妥善解决方案。

看: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865975

这里的解决方案是: https://anteru.net/blog/2017/docker-kvm-and-iptables/index.html

创建一个文件 /etc/docker/daemon.json,内容如下:

{
    "iptables" : false
}

警告:此“修复”可能会带来严重的安全隐患,因此请小心。我认为最好的解决方案是让 docker 在 IPTABLES 中创建和管理自己的链,而不要管系统链。

相关内容