Linux上VLAN的創建


注明:以下內容來自於我對這篇博客的理解 來自於大佬:FromScratch

https://www.cnblogs.com/justart/p/7944256.html

好不容易找到了篇好文章,非常感謝

估計是先入為主的原因導致我還是以思科交換機的方式理解Linux上的vlan(雖然我之前玩的是銳捷的設備)

我的測試環境是兩台電腦

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

GE62 (archlinux)使用KVM虛擬兩台虛擬機(archlinux)

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

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

以一台電腦為例(因為兩台電腦配置過程一樣,額 可能起名不一樣 無所謂啦)

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

我要把它當二層交換機用 我自己的電腦也要上網的啊 那么就虛擬個網卡然后接到上面

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

nmcli con add type bridge con-name br0 ifname br0

2、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

3、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的創建結果就是這 我也就這么寫了

4、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...

5、看看都啟動了沒有

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM