swconfig
swconfig 是交換接口 (switch) 配置命令.
交換機是二層設備,是我們用來配置vlan的必備利器。
使用swconfig list
可以列出當前可用的 SWITCH 設備信息(dev 參數)
[root@PandoraBox_166C:/etc/config]#swconfig
swconfig list
swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>|load <config>|show)
[root@PandoraBox_166C:/etc/config]#swconfig list
Found: switch0 - mt762x
[root@PandoraBox_166C:/etc/config]#
使用swconfig dev switch0 show
可以用來顯示當前 switch 接口配置信息。
[root@PandoraBox_166C:/etc/config]#swconfig dev switch0 show
Global attributes:
enable_vlan: 1
Port 0:
pvid: 2
link: port:0 link:up speed:100baseT full-duplex
Port 1:
pvid: 1
link: port:1 link:up speed:100baseT full-duplex
Port 2:
pvid: 0
link: port:2 link:up speed:100baseT full-duplex
Port 3:
pvid: 0
link: port:3 link:down
Port 4:
pvid: 3
link: port:4 link:down
Port 5:
pvid: 0
link: port:5 link:down
Port 6:
pvid: 0
link: port:6 link:up speed:1000baseT full-duplex
Port 7:
pvid: 0
link: port:7 link:down
VLAN 1:
vid: 1
ports: 1 6t
VLAN 2:
vid: 2
ports: 0 6t
VLAN 3:
vid: 3
ports: 4
以我手中的這台中國移動的和路由為例(已刷pandorabox),其CPU是mt7620
。該芯片有port0
~port7
等8個交換接口,其中一個和CPU內核連接port6
,其余可通過RJ45接口引出,和路由這款路由器只引出其中3個口,這3個口一個作為wan口port0
,其余兩個作為lan口port1
,port2
。
將平台虛擬網卡eth0,划分出3個Vlan,前兩個分別對應為eth0.1(lan)-及lan組, eth0.2(wan)-即wan組。最后一組vlan3瞎划的,請忽視(/▽\);
注意:wan口與lan口需要在不同的Vlan下,如下圖
更新-更改配置顯示第二個lan口
如上圖所示,由於我刷的是newifi mini的固件,其默認引出的網口與和路由不太一樣,造成了一個lan口在配置界面沒有顯示,但通過swconfig仍能看到。
若要重新顯示,可以通過修改/etc/board.json
文件來實現。
將原先配置文件中switch
部分修改為如下所示即可。
"switch0": {
"enable": true,
"reset": true,
"ports": [
{
"num": 2,
"role": "lan",
"index": 2
},
{
"num": 1,
"role": "lan",
"index": 1
},
{
"num": 0,
"role": "wan"
},
{
"num": 6,
"device": "eth0",
"need_tag": false,
"want_untag": false
},
{
"num": 7,
"role": "PPE"
}
],
"roles": [
{
"role": "lan",
"ports": "1 2 6t 7t",
"device": "eth0.1"
},
{
"role": "wan",
"ports": "0 6t 7t",
"device": "eth0.2"
}
]
}
重啟路由器,你就發現交換機配置界面接口對應就正確了
余下內容整理自網絡
https://blog.csdn.net/strugglelg/article/details/68945203
VLAN的pvid/vid; tag/untag
http://blog.csdn.net/zqixiao_09/article/details/52078178
Trunk口 Trunk口上可以同時傳送多個VLAN
的包,一般用於交換機之間的鏈接。
Access口 Access口只能屬於1個VLAN
,一般用於連接計算機的端口
。
pvid 即端口vlan id號,是非標記端口的vlan id 設定,當非標記數據包進入交換機,交換機將檢查vlan設定並決定是否進行轉發。一個ip包進入交換機端口的時候,如果沒有帶tag頭,且該端口上配置了pvid,那么,該數據包就會被打上相應的tag頭!如果進入的ip包已經帶有tag頭(vlan數據)的話,那么交換機一般不會再增加tag頭,即使是端口上配置了pvid號;當非標記數據包進入交換機。
vid 即vlan id; 1:vlan1(eth0.1); 2:vlan2(eth0.2);
http://blog.csdn.net/shienquan/article/details/52077846
以mt7620為例:
pvid { Port0的pvid是0; Port1的pvid是1; Port2的pvid是2; Port3的pvid是3; Port4的pvid是4; Port5的pvid是5; } vid { vid=1:成員有 Port1 Port6 Port7; vid=2:成員有 Port4 Port6 Port7; }
這里說的 (已標記/未標記) tag / untag,都是說 Tx出去的包
有線網卡eth0; 划分了vlan0即lan口, vlan1即wan口
無線網卡 eth1;
br0橋接口 = eth1 + eth0.0