以前用qemu-kvm来运行虚拟机基本上就是使用的nat方式,虚拟机可以访问外部网络,基本上达到了自己的要求,但是无法在外部访问虚拟机。现在因为要openstack的虚拟化网络管理先在虚拟机上部署环境,所以需要虚拟机之间能够正确的访问并且需要提供外部访问的ip。
环境配置
硬件:cpu 双核四线程,内存8G
OS:ArchLinux 64
注意:NetworkManager服务可能会使网桥不能正常运行。配置前需要关闭NetworkManager服务,systemctl disable NetworkManager;systemctl stop NetworkManager
手工配置网桥
- 安装bridge-utils:pacman install bridge-utils
- 先将eth0网卡的ip修改掉:ifconfig eth0 0.0.0.0(某些系统网卡命名方式可能不同,以pci操命名如em0等)
- 网卡绑定:brctl addbr br0;brctl addif eth0;ifconfig br0 10.68.7.x up;
- /etc/qemu-ifup:将tap0加入到网桥
- /etc/qemu-ifdown:将tap0从网桥中删除
- 某些情况下你需要修改你的route:route add default gw 10.68.7.x
- 修改resolv.conf文件(其他系统可能是resolv)
- 启动qemu-system-x86_64 --enable-kvm -net nic -net tap,ifname=tap0 -vnc :1 -m 2048 -smp 2 -hda fedora.img
通过配置文件配置网桥
- 安装bridge-utils:pacman install bridge-utils
- 修改网卡配置文件/etc/network/bridge(其他网卡管理器可能会是/etc/sysconfig/network-scripts下)
 - /etc/qemu-ifup:将tap0加入到网桥
- /etc/qemu-ifdown:将tap0从网桥中删除
- 启动qemu-system-x86_64 --enable-kvm -net nic -net tap,ifname=tap0 -vnc :1 -m 2048 -smp 2 -hda fedora.img
配置后的ifconfig
配置后的route
|