openwrt交换机配置命令-swconfig
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
本文作者:因为风的缘故~
本文链接:https://www.cnblogs.com/guohaomeng/p/14824044.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?