測試環境為 Ubuntu 14.04
前面有討論到 LXC 虛擬化 https://benjr.tw/95955 與 Ubuntu LXC 的使用 https://benjr.tw/93708 ,這邊我們來看看關於 LXC 的網路架構.
安裝完 LXC 會發現多了一個網路埠 lxcbr0
root@ubuntu:~# ifconfig ... lxcbr0 Link encap:Ethernet HWaddr 9e:da:df:05:e4:d0 inet addr:10.0.3.1 Bcast:10.0.3.255 Mask:255.255.255.0 inet6 addr: fe80::9cda:dfff:fe05:e4d0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:7965 (7.9 KB)
我們來看看這個網路埠 lxcbr0 的設定值.
root@ubuntu:~# nano /etc/default/lxc-net USE_LXC_BRIDGE="true" LXC_BRIDGE="lxcbr0" LXC_ADDR="10.0.3.1" LXC_NETMASK="255.255.255.0" LXC_NETWORK="10.0.3.0/24" LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
Linux 網路提供 Bridge mode 他可以透過 Linux 模擬一個 switch 來使用了,LXC 的網卡就是單純透過虛擬的 switch 與 其他 Containers 端網卡相聯接.還提供 DHCP Server 的服務.
下面的圖示你可以很清楚的看出來虛擬 NIC 是如何透過 bridge 模式串接在一起.
- USE_LXC_BRIDGE=”true”
是否使用 LXC Bridge 功能. - LXC_BRIDGE=”lxcbr0″
該 Bridge 的名稱 lxcbr0 - LXC_ADDR=”10.0.3.1″
該 Bridge 的 IP - LXC_NETMASK=”255.255.255.0″
該 Bridge 的網段遮罩. - LXC_NETWORK=”10.0.3.0/24″
該 Bridge 的網段 10.0.3.0/24 (255.255.255.0) - LXC_DHCP_RANGE=”10.0.3.2,10.0.3.254″
這 Bridge 提供 DHCP 的功能,IP 範圍 10.0.3.2 ~ 10.0.3.254
我們可以透過 # brctl show 是觀察這個 Bridge 的狀態.
root@ubuntu:~# brctl show bridge name bridge id STP enabled interfaces lxcbr0 8000.000000000000 no
啟動 Ubuntu-1 與 Ubuntu-2 Containers ,可以觀察到他們的網路裝置 (veth40YLD4 , vethV0JUNP) 會掛載在這一個 Bridge 上 (Lxcbr0 並沒有對外部網路環境建立連線).
root@ubuntu:~# lxc-start -n ubuntu-1 -d root@ubuntu:~# lxc-start -n ubuntu-2 -d root@ubuntu:~# brctl show bridge name bridge id STP enabled interfaces lxcbr0 8000.feb9422336e4 no veth40YLD4 vethV0JUNP
在 Ubuntu-2 Container 也是可以 ping 得到該 Bridge IP:10.0.3.1
ubuntu@ubuntu-2:~$ ping 10.0.3.1 PING 10.0.3.1 (10.0.3.1) 56(84) bytes of data. 64 bytes from 10.0.3.1: icmp_seq=1 ttl=64 time=0.084 ms 64 bytes from 10.0.3.1: icmp_seq=2 ttl=64 time=0.098 ms 64 bytes from 10.0.3.1: icmp_seq=3 ttl=64 time=0.117 ms ^C --- 10.0.3.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.084/0.099/0.117/0.017 ms
沒有解決問題,試試搜尋本站其他內容