Xen network Linux

來源:互聯網
上載者:User

Xen網路

 

* 橋接網路

 

* 路由網路

 

* 包含NAT的虛擬區域網路

 

橋接網路

 

Time for Action—Using Bridged Networking

 

1、xen裡面預設的網路設定是橋接,這可以通過查看Xen在設定檔(/etc/xen/xend-config.sxp)來進一步確認,它應該有非注釋的下面兩行。

 

(network-script network-bridge)

 

(vif-script vif-bridge)

 

2、為domU建立一個新的設定檔,你可以使用在之前章節建立的任何一個鏡像或你自己擁有的其他鏡像。根據你選擇的鏡像替換檔案中的配置:

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;bridged_domU%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'bridge=xenbr0' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

3、用xm啟動domU

 

xm create /root/xenimages/ttylinux_domU.cfg –c

 

4、檢查以確定domU已啟動並正常運行

 

xm list

 

下面是啟動Xen服務和xend時發生的事件隊列:

 

1、執行/etc/xen/scripts/network-bridge指令碼

 

2、這將建立一個叫xenbr0的新橋接器

 

3、從物理網卡eth0複製MAC和IP地址

 

4、停止物理網卡eth0

 

5、建立一對新的已串連的虛擬網路介面--veth0和vif0.0

 

6、將之前複製的 MAC和IP地址指派到veth0

 

7、重新命名物理網卡eth0為peth0

 

8、重新命名虛擬網卡veth0為eth0

 

9、串連peth0和vif0.0到xenbr0

 

10、啟動橋接器xenbr0和網卡peth0、eth0、vif0.0

 

使用brctl show命令可以查看串連到各個橋接器上的網路介面情況

 

路由網路

 

Time for Action—Using Routed Networking

 

1、因為我們需要修改xend的設定檔,所以我們首先要停止xend

 

service xend stop

 

2、修改xen設定檔/etc/xen/xend-config.sxp使我們能夠使用路由網路。注釋關聯橋接網路的兩行並取消注釋關聯路由網路的兩行。如果在設定檔中沒發現配置路由網路的行,那麼加上他們:

 

(network-script network-route)

 

(vif-script vif-route)

 

3、重新啟動xend讓它用新的配置起動

 

xend start

 

4、修改我們之前使用的 domU的設定檔使它能使用路由網路

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;routed_domU%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.1.165' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

5、起動domU

 

xm create /root/xen-images/ttylinux_domU.cfg -c

 

6、檢查domU已經起動並正常運行

 

xm list

 

下面是 xend用路由網路設定起動的事件隊列

 

1、允許dom0進行IP轉寄

 

2、當domU起動的時候,xen從eth0複製IP地址到虛擬網路介面vif.0。虛擬介面的 ID是自動分配給xen起動的每個客戶域的
。被分配的 id在單個會話裡面永遠不會被重用,因此如果你停止並重啟一個域,它將重新分配到一個新的 ID。

 

3、啟動虛擬介面vif.0。

 

4、為domU的設定檔中指向虛擬介面vif.0分配的 IP地址增加靜態路由

 

 

Virtual Local Network with Network Address Translation

 

Time for Action—Using VLAN with NAT

 

我們將在 192.168.2.0上建立一個虛擬網路並且此網路保護一個web伺服器和一個資料庫,所有在此網路的虛擬機器的 IP地址都將在此範圍內。我們將在此網路建立兩個虛擬機器並從一個公網IP地址去訪問他們。連接埠將被dom0轉寄到各個虛擬機器上。

 

1、第一個網路介面被dom0使用了,我們需要建立一個新的網路介面用於我們的 VLAN。這個介面使用dummy網路去掉建立並命名為dummy0。建立一個新的名為/etc/sysconfig/network-scripts/ifcfg-dummy0的檔案:

 

A DEVICE=dummy0

 

BOOTPROTO=none

 

ONBOOT=yes

 

USERCTL=no

 

IPV6INIT=no

 

PEERDNS=yes

 

TYPE=Ethernet

 

NETMASK=255.255.255.0

 

IPADDR=x.x.x.x

 

ARP=yes

 

2、分配一個IP地址到這個介面並把它加到網路介面檔案-/etc/network/interfaces:

 

auto dummy0

 

iface dummy0 inet static

 

address 192.168.2.1

 

netmask 255.255.255.0

 

3、修改xend配置(/etc/xen/xend-config.sxp)增加下面的行,使我們在新的 dummy網路介面dummy0上監聽橋接:

 

(network-script 'network-bridge netdev=dummy0')

 

4、確定IP轉寄被允許

 

echo %26quot;1%26quot; %26gt; /proc/sys/net/ipv4/ip_forward

 

5、重啟sysctl使修改被live kernel擷取

 

/sbin/sysctl -p

 

6、在我們的 VLAN上建立第一個虛擬機器。修改它的設定檔使它看起來像下面這樣:

 

# assume this is the webserver vm

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;vlan_domU_1%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.2.2' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

gateway=%26quot;192.168.2.1%26quot;

 

7、在我們的 VLAN上建立第二個虛擬機器,修改他的設定檔使它看起來像下面這樣:

 

# assume this is the mysql vm

 

kernel = %26quot;/boot/vmlinuz-2.6.16.38-xenU%26quot;

 

memory = 32

 

name = %26quot;vlan_domU_2%26quot;

 

disk = ['tap:aio:/root/xen-images/ttylinux_domU.img,hda,w']

 

vif = [ 'ip=192.168.2.3' ]

 

root = %26quot;/dev/hda1 ro%26quot;

 

gateway=%26quot;192.168.2.1%26quot;

 

8、通知dom0必須為特定的連接埠轉寄請求到這個VLAN。為此我們需要首先在 dom0允許NAT:

 

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE

 

9、現在我們可以配置規則轉送連接埠到正確的虛擬機器,首先我們轉寄80連接埠:

 

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.2.2:80

 

10、然後轉寄mysql的連接埠3306:

 

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.2.3:3306

 

重啟xend然後建立虛擬機器,現在我們已經有一個簡單的網路設定使dom0轉寄基於連接埠的請求到VLAN裡面的一個客戶域。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.