本次實驗搭建 KVM 虛擬機下的 VLAN 環境,如下圖所示

1、配置宿主虛擬機的網絡文件
cd /etc/sysconfig/network-scripts/ #進入配置文件目錄下 cp ifcfg-eth0 ifcfg-eth0.10 #復制網絡配置文件 cp ifcfg-eth0 ifcfg-eth0.20 vi ifcfg-eth0 vi ifcfg-eth0.10 vi ifcfg-eth0.20

2、配置網橋文件
cd /etc/sysconfig/network-scripts/ #進入配置文件目錄下 cp ifcfg-eth0 ifcfg-brvlan10 #復制網絡配置文件 cp ifcfg-eth0 ifcfg-brvlan20 vi ifcfg-brvlan10 vi ifcfg-brvlan20

3、重啟網絡服務
service network restart
4、檢測 VLAN 是否配置成功
brctl show #查看KVM網絡配置

5、虛擬機分別設置brvlan10和brvlan20


6、分別配置虛擬機 KVM1 和 KVM2 的IP進行VLAN隔離測試
kvm1:
sudo su - #cirros鏡像的話切換成root權限進行操作 ifconfig eth0 192.168.100.10 netmask 255.255.255.0 up
kvm2:
sudo su - #cirros鏡像的話切換成root權限進行操作 ifconfig eth0 192.168.100.20 netmask 255.255.255.0 up

7、此時完成了網絡圖的配置樣子,同一個網段進行 Ping 測試
kvm1:
ping 192.168.100.20
kvm2:
ping 192.168.100.10
同理試驗,將 KVM 的網絡設置成 同一個網橋下(如 brvlan10 下),再次進行 7步驟 操作進行 VLAN 隔離試驗
附上 CLOUDMAN 的 VLAN 總結
1、VLAN 表示 Virtual LAN ,一個帶有 VLAN 功能的 switch 能夠將自己的端口划分出多個 LAN
2、物理交換機存在多個 VLAN ,每個 VLAN 擁有多個端口
3、同一 VLAN 端口之間可以交換轉發,不同的 VLAN 端口之間隔離
4、所以交換機其實包含兩層功能:交換和隔離
5、Linux 的 VLAN 設備實現的是隔離功能,但沒有交換功能
6、一個 VLAN 母設備(比如 eth0) 不能擁有兩個相同 ID 的 VLAN 子設備,因此也就不可能出現數據交換的情況
7、Linux Bridge 專門實現交換的功能
8、將同一 VLAN 的子設備都掛載到一個 Bridge 上,設備之間就可以交換數據了
9、Linux Bridge 加 VLAN 在功能層面完整模擬現實世界里的二層交換機
