Shared physical device

如果要使用第二種 "Shared physical device" 時需要經過手動設定才能使用.此時所有的 Virtual machine 的網路裝置就會像是串接在一個 Hub 或是 Switch 上,只要是同區段的 IP 都可以互通. 在 Linux 下網路的模式有一個東西叫做 Bridge mode,有點像將多個 NIC Adapter ports 透過一個虛擬出來的 Bridge(Switch) 全部串在一起,再透過一個虛擬出來的網 路裝置出去,這就像是把 Linux 當成一個 switch 來使用了.

在一般的 Linux 環境下的方法也很簡單:我們也可以透過下面幾個簡單的指令來產生自己所需 要的 Bridge 裝置出來.下面的圖示你可以很清楚的看出來虛擬 NIC 和實體 NIC 是如何透過 bridge 模式串接在一起.


1.目標是用 eth0 來產生一個 bridge(bri0)
[root@benjr ~]# ifconfig eth0 0.0.0.0
[root@benjr ~]# brctl addbr bri0
[root@benjr ~]# brctl addif bri0 eth0
2.看這一些 eth 是在哪一個 bridge 上.
[root@benjr ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
bri0            8000.001517785dd6       no              eth0
virbr0          8000.000000000000       yes
3.設定一組 IP ,方便遠端管理使用.
[root@benjr ~]# ifconfig bri0 192.8.1.3
[root@benjr ~]# ifconfig bri0
bri0      Link encap:Ethernet HWaddr 00:15:17:78:5D:D6 
          inet addr:192.8.1.3 Bcast:192.8.1.255 Mask:255.255.255.0
          inet6 addr: fe80::215:17ff:fe78:5dd6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:14767 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:679328 (663.4 KiB) TX bytes:9626 (9.4 KiB)
4.最後 Allow IP forwarding
[root@benjr ~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@benjr ~]#sysctl –p
之後所有設定在 eth0(bri0) 的 Virtual Machine 都可以互通了!!可以將剛剛的步驟寫在

/etc/rc.local,讓他在開機時候就會生效.
5.reload libvirt
[root@benjr ~]# service libvirtd reload
如果要讓 Virtual Machine 可以立即選擇 "Shared physical device" 需將 libvirtd 的服務

重新載入設定.

留言

這個網誌中的熱門文章

Json概述以及python對json的相關操作

Docker容器日誌查看與清理

利用 Keepalived 提供 VIP