vmware三種網路連接,qemu兩種網路連接實現 虛擬機器<--->主機 虛擬機器<--->互連網通訊的方法。
順便寫了下如何不重新編譯整個核心支援某個功能,對系統無影響,編譯速度要快於編譯整個核心。
如果你的XXX卡沒被核心支援,又怕自己編譯的核心會造成系統損壞就可以試試這個方法嘍 ^_^
vmware三種網路連接上網設定:
1.bridge :
預設使用vmnet0
將虛擬機器的ip設定與主機同網段未使用ip,其餘與主機相同:
例如主機ip是10.70.54.31,設定虛擬機器ip為10.70.54.22。netmask,broadcast,gateway,dns都與主機相同即可實現虛擬機器<--->主機 虛擬機器<---->互連網 通訊。
2.nat :
預設使用vmnet8
將虛擬機器設定成使用dhcp方式上網,windows下選擇"自動擷取ip",linux下開啟dhcp服務即可
也可以手動設定:
ip設定與vmnet8同網段,gateway設定成vmnet8的gateway(/etc/vmware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。
netmask,broadcast設定與vmnet8相同,dns設定與主機相同。
例如 vmnet8 ip:172.16.249.1 gw :172.16.249.2
虛擬機器設定: ip :172.16.249.100 gw: 172.16.249.2
3.host-only :
預設使用vmnet1
將虛擬機器ip設定與vmnet1同網段,gateway設定成vmnet1的ip,其餘設定與vmnet1相同,dns設定與主機相同
例如 vmnet1 ip :172.16.245.1
虛擬機器設定: ip :172.16.245.100 gateway :172.16.245.1
這樣就實現了虛擬機器<--->主機 通訊,但是 虛擬機器<--->互連網 仍無法通訊
虛擬機器與互連網通訊:
1.開啟主機路由功能
2.設定iptables,使主機成為一台nat server
1. echo 1 >/proc/sys/net/ipv4/ip_forward 這樣就主機就具有了路由功能
2. iptables -t nat -A POSTROUTING -o eth0 -s 172.16.245.0/24 -j MASQUERADE
這條規則意思是將來自172.16.245.0/24封包的來源ip偽裝成eth0的ip,實現虛擬機器與互連網通訊
如果網路介面是ppp+或pppoe則需要修改成-o pppoe
當然-s 172.16.245.0/24 也要根據實際情況修改