标签:tap default 虚拟机 网络 iptable libvirt 外网 NAT org
正如https://wiki.qemu.org/Documentation/Networking所述,Qemu以-net user方式创建的网络是不支持ping的,我一般用-netdev tap,id=hn2 -device e1000,netdev=hn2创建网络,利用主机的tap0设备和NAT实现虚拟机访问外网的功能,本以为host上应该能找到对应的iptable NAT规则,但是iptable -F去掉所有规则后发现VM中ping 公网地址依然是可以通的。经过调查发现是libvirt作的NAT,如下命令可以看到libvirt的default网络forward mode是NAT, default网络是libvirtd启动后默认创建的网络。看来不显示的创建iptable规则也能作NAT,具体代码可能要看kernel中bridge相关的,后续需要查证。
sudo virsh net-edit default
<network> <name>default</name> <uuid>168f6909-715c-4333-a34b-f74584d26328</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:48:3f:0c'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> </dhcp> </ip> </network>
FYI:
https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm
https://wiki.libvirt.org/page/Networking
标签:tap,default,虚拟机,网络,iptable,libvirt,外网,NAT,org 来源: https://www.cnblogs.com/River-blog/p/16226009.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。