按照Qemu-4.1 桥接网络设置中介绍的方法建立起桥接网络后,可以实现虚拟机和host的相互ping,但是在虚拟机里去ping其他跟host处于同一个网段的ip地址时却失败了,然后ifconfig后发现有一个叫做docker0的网桥,这是安装docker-ce时自动创建的,将docker0删除仍然无法ping通,索性将docker-ce卸载,然后重启电脑,这样虚拟机就可以ping通其他ip地址,配置上DNS和Gateway后,也可以ping通www.baidu.com。
google了半天,发现docker在安装时会修改iptables,解决办法如下:
iptables -I FORWARD -i br0 -o br0 -j ACCEPT
下面是网页地址:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865975
上面的修改只是临时生效,下次重启还需要重新执行,为了一劳永逸,需要将这里规则保存下来,参考下面的链接:
Debian 使用 iptables-persistent 持久化 iptables 规则
我使用的是sudo apt-get install iptables-persistent这种方法:
sudo netfilter-persistent save
sudo netfilter-persistent reload
iptables 命令:
查看当前规则:sudo iptables --list-rules
完。