![Docker 打破了虚拟机的网络桥接](https://linux22.com/image/1009660/Docker%20%E6%89%93%E7%A0%B4%E4%BA%86%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E7%BD%91%E7%BB%9C%E6%A1%A5%E6%8E%A5.png)
安装后,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 中创建和管理自己的链,而不要管系统链。