Linux上VLAN的建立

註明:如下內容來自於我對這篇博客的理解 來自於大佬:FromScratchhtml

http://www.javashuo.com/article/p-vqagxkgt-eu.htmllinux

好不容易找到了篇好文章,很是感謝docker

估計是先入爲主的緣由致使我仍是以思科交換機的方式理解Linux上的vlan(雖然我以前玩的是銳捷的設備)網絡

個人測試環境是兩臺電腦測試

GE60 (Kali) 使用KVM虛擬兩臺虛擬機(archlinux)htm

GE62 (archlinux)使用KVM虛擬兩臺虛擬機(archlinux)blog

網絡管理軟件都用的NetworkManager和iptables接口

一臺5口非網管二層交換機(貌似還不支持自動翻轉,害得我又從新作交叉線去了,網線愈來愈短了。。。)ip

以一臺電腦爲例(由於兩臺電腦配置過程同樣,額 可能起名不同 無所謂啦)路由

首先我有個物理網卡,接口名eth0

我要把它當二層交換機用 我本身的電腦也要上網的啊 那麼就虛擬個網卡而後接到上面

一、new一個虛擬網卡(網橋)

nmcli con add type bridge con-name br0 ifname br0

二、new一個以太網接口作交換機用,並把剛new的虛擬網卡綁上去,這裏的接口用物理網卡的接口eth0

nmcli con add type bridge-slave con-name switcher ifname eth0 master br0

個人交換機接的路由器,這個交換機貌似不支持自動翻轉,用直通線我eth0也能獲到路由器分到的IP,並且由於這倆mac地址同樣

獲取到的IP也是同樣的  因而  不能上網了 換了交叉線就行了(貌似把ipv4.method設置成disabled就能夠了。。。)

 

我要吐槽:電信光貓給的網線就是垃圾(聯通你也是)插上以後鏈接速度竟然10M/s 本覺得是水晶頭有問題 鉸開一看簡直就是三類線 顏色我都分不清 並且根本不纏繞 橙白綠白棕白藍白都一個色 我淘寶買倆網卡讓店家給我送根線 店家還給我送個超五的線 那線粗的 要是長些雙股作鞦韆都沒問題

 

其實這裏虛擬機就能夠經過br0直接連到路由器那裏了 不過這裏沒有劃分vlan 因此繼續

按照NetworkManager的操做順序 其實也是先劃lan而後再劃v

三、new倆個虛擬網卡(網橋)給虛擬機用(我以爲這是倆vlan交換機)

參照他的博客是用的vconfig和brctl建立的網橋和vlan,而後我重啓以後都木有了。。。

因而按照brctl的建立結果用NetworkManager建立 這樣就能存下來了

nmcli con add type bridge con-name brvlan10 ifname brvlan10 ipv4.method disabled ipv6.method link-local
nmcli con add type bridge con-name brvlan20 ifname brvlan20 ipv4.method disabled ipv6.method link-local

我也不知道爲啥ipv6要搞成這個 brctl的建立結果就是這 我也就這麼寫了

四、new一個vlan並劃給剛建立的虛擬網卡用 vlan10 和 vlan20

con-name咋寫都行;dev我選的是個人物理網卡;id後面跟vlan-id;master後面跟綁在哪一個網卡上;

nmcli con add type vlan con-name eth0.10 dev eth0 id 10 master brvlan10

nmcli con add type vlan con-name eth0.20 dev eth0 id 20 master brvlan20

弄完以後就會出現倆個新設備eth0.10 eth0.20 而後我想起了路由器的虛擬接口和單臂路由

感受這兩步就至關於

int f0/0.1

encapsulation dot1Q 10

這個感受 總想往上配ip啊 還想no shut一下 emmm...

五、看看都啓動了沒有

nmcli con show

NetworkManager最大的好處就是經過顏色能夠看到當前鏈接的活動狀態

綠色表示鏈接已創建

黃色表示正在獲取地址

白色表示鏈接已斷開

以前沒設置ipv4.method爲disabled 因而鏈接黃了一會就白了 根本up不起來

 

這裏只用看四個 brvlan10 brvlan20 eth0.10 eth0.20 其餘的不用管。。。

額 我仍是說一下把

docker0和docker_gwbridge是安裝docker的時候它本身建立的 前者是容器上網用的 後者是docker集羣用的 我沒有集羣 但也懶得管

switcher是虛擬交換機,就是把網卡當交換機用了,電腦上網就用虛擬出來的br0,ip要配在br0上

vroute0和vroute1是我虛擬出來的倆網卡,給虛擬機用,前者是nat出去,後者是本機網絡

不用kvm建立網絡是由於它會改個人防火牆策略,每次開機都要恢復一次(弄得如今養成習慣了,開機先恢復防火牆策略)

vnet0和vnet1是虛擬機的接口

 

另外一臺電腦也是相同的配置

一共四臺虛擬機

GE60上 arch70(brvlan10:192.168.0.2) arch71(brvlan20:192.168.0.3)

GE62上 arch66(brvlan10:192.168.0.4) arch67(brvlan20:192.168.0.5)

這個網絡沒有網關

 

實驗結果

arch70和arch66是互通的

arch71和arch67是互通的

arch70和arch71不通

arch66和arch67不通

 

若是設置了防火牆要注意把brvlan10和brvlan20放通

這是iptables的配置

注意是filter表 nat表不用管 額 nat表裏面貌似沒有forward鏈。。。

-A FORWARD -i brvlan10 -j ACCEPT

-A FORWARD -o brvlan10 -j ACCEPT

-A FORWARD -i brvlan20 -j ACCEPT

-A FORWARD -o brvlan20 -j ACCEPT

 

KVM開虛擬機貌似就是把網卡加到網橋裏了

brctl addif brvlan10 vnet0
brctl addif brvlan20 vnet1

這個感受就像

int f0/1

switchport access vlan 10

相關文章
相關標籤/搜索