一般Xen虛擬機我們是用橋接(bridging)的方式直接連接網(wǎng)絡,不過Xen還支持 routing 和 NAT 的方式配置虛擬機網(wǎng)絡,本文我們來講講在linux下的Xen 虛擬機的如何配置 NAT 網(wǎng)絡.
我們使用 Xen 虛擬機的時候一般都是用橋接(bridging)的方式把虛擬機(domU)直接暴露在網(wǎng)絡上,就像網(wǎng)絡上單獨的一臺服務器一樣,這種方式簡單好用,不用在 dom0 做任何的端口轉(zhuǎn)發(fā)也不用任何 iptable 規(guī)則,不過除了 bridging 以外,Xen 還支持 routing 和 NAT 的方式配置虛擬機網(wǎng)絡,比如我們想在一臺物理服務器上安裝5個虛擬機,這5個虛擬機能彼此訪問也可以訪問外網(wǎng),但是外網(wǎng)不能直接訪問這5個虛擬機,或者我們只有一個公網(wǎng) IP 地址,但是需要5個虛擬機都能上網(wǎng),這時候就可以用到 Xen 的 NAT 模式.
首先確認系統(tǒng)的網(wǎng)絡配置干凈,上面沒有復雜的網(wǎng)絡設置,也沒有以前配置留下來的網(wǎng)絡橋接,因為 Xen 自帶的腳本 network-nat 不是那么聰明,無法在復雜一點的網(wǎng)絡設置里面正確配置.
修改 Xen 的配置文件,確認下面幾項配置后重啟 xend,必要的話重啟系統(tǒng):
- # vi /etc/xen/xend-config.sxp
- ...
- #(network-script network-bridge)
- (network-script network-nat)
- ...
- #(vif-script vif-bridge)
- #(vif-script vif-route)
- (vif-script vif-nat)
- ...
- # /etc/init.d/xend restart
- Stopping xend daemon: [ OK ]
- Starting xend daemon: [ OK ]
修改虛擬機 domU 的配置文件,加上或者修改 vif 這行配上對應的內(nèi)部網(wǎng) IP 地址,這個內(nèi)部網(wǎng) IP 是自己隨意設定的:
- # vi /etc/xen/domu01
- ...
- vif = [ "ip=10.0.0.1" ]
- ...
啟動虛擬機后修改網(wǎng)絡配置,如果虛擬機是 Ubuntu 的話,網(wǎng)絡配置在 /etc/network/interfaces,修改后重啟:
- # vi /etc/network/interfaces
- auto lo
- iface lo inet loopback
- auto eth0
- iface eth0 inet static
- address 10.0.0.1
- gateway 10.0.0.254
- netmask 255.255.255.0
- # reboot
本來還需要在 dom0 設定內(nèi)核轉(zhuǎn)發(fā)的(echo 1 > /proc/sys/net/ipv4/ip_forward),還記得上面修改 xend-config.sxp 時碰到的腳本 network-nat 嗎?是的,那個腳本已經(jīng)幫我們設置好 NAT 轉(zhuǎn)發(fā)了,我們不用再添足了,也不用自己設置 iptable 規(guī)則了~
- # vi /etc/xen/scripts/network-nat
- ...
- op_start() {
- echo 1 >/proc/sys/net/ipv4/ip_forward
- iptables -t nat -A POSTROUTING -o ${netdev} -j MASQUERADE
- [ "$dhcp" != 'no' ] && dhcp_start
- } //Vevb.com
- ...
新聞熱點
疑難解答
圖片精選