以前用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