![如何在 Linksys WRT 1900 acs OpenWRT(Chaos Calmer 15.05.1)上为每个接口设置 VLAN](https://linux22.com/image/1488906/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linksys%20WRT%201900%20acs%20OpenWRT%EF%BC%88Chaos%20Calmer%2015.05.1%EF%BC%89%E4%B8%8A%E4%B8%BA%E6%AF%8F%E4%B8%AA%E6%8E%A5%E5%8F%A3%E8%AE%BE%E7%BD%AE%20VLAN.png)
操作系统:OpenWRT、Chaos Calmer 15.05.1(带有 luci GUI 的稳定版本)路由器:Linksys WRT 1900ACS(2x1.6Ghz、512MB RAM)
问题:我尝试为每个 LAN 接口(LAN 端口)设置单独的 VLAN。奇怪的是,我在“luci”-->“网络”中看不到任何交换机选项;菜单不存在。
我尝试/etc/config/network
通过为 switch0 添加配置开关来进行修改,但每次重新加载后我都会失去对路由器的访问权限/etc/init.d/network
。
我想要实现的目标:
Lan Port 1 --> VLAN 1;
Lan Port 2 --> VLAN 2;
Lan Port 3 --> VLAN 3;
Lan Port 4 --> VLAN 3;
Wireless --> VLAN 4;
默认/etc/config/network
如下所示:
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd61:03fe:3974::/48'
config interface 'lan'
option ifname 'eth1'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
在查看了 OpenWRT wiki 后,我尝试将交换机添加到配置中,但没有成功。
我的交换机设备名称:
root@OpenWrt:~# swconfig list
Found: switch0 - 10.mvsw61xx
我将非常感激您的意见。
答案1
查看解决方案和基本配置示例,使用 OpenWRT Chaos Calmer 15.05.1 在 WRT1200AC 上运行 VLAN这里
注意:该示例适用于 WRT1200AC v1 / WRT1900AC v2 / WRT1900ACS v1。
对于 WRT1900AC v1 的条目eth0
,eth1
需要进行 SWAPPED。
看这识别您的路由器型号。
正如您所说,配置错误很可能会损坏路由器。所以要小心!在继续更改 LAN 端口设置之前,我确保可以通过无线方式进行 SSH 登录。
来自论坛链接:
如果您没有完全正确地设置接口,您的路由器很容易就会变砖,而且设置不直观。您必须将 WAN 端口设置为使用eth0.<vlan_number>
例如:,eth0.100
将其他外部端口设置为使用eth1.<vlan_number>
例如:eth1.2
,即使 WAN 和 LAN 端口共享相同的交换机和相同的 VLAN 配置。
您必须t
对 CPU 所连接的端口使用 tagged 标志(5
oneth0
和6
on eth1
)。因此,请仔细注意下面我的示例配置中的5t
和6t
。除了这些条目之外,缺少必要内容的建议t
对我来说不起作用。
此外,出于某种原因,我发现 WAN 必须使用专门设置的 VID 100
(或任何不是1
且不与其他 vlan 号码冲突的数字),而 VLAN 本身仍必须设置为1
。请参阅下面的示例。
最后,不要使用 Luci 配置交换机(例如:Luci 界面中的网络 > 交换机)。您必须/etc/config/network
手动编辑才能更改交换机和 VLAN 定义。Luci 会弄乱交换机和 VLAN 配置。在定义接口物理连接时,它会错误地自动检测 VLAN。它会尝试将它们全部称为eth0.1
、等等,eth0.2
而eth0.3
实际上您必须eth1.X
对所有 LAN 端口和eth0.X
WAN 端口使用 。使用 Luci 的网络 > 接口 > (接口名称) > 物理设置配置页面是可以的,只要您忽略 Luci 自动检测到的 VLAN,并在第一次定义它们时使用“自定义接口”框输入正确的 VLAN 即可。
如果我没有做任何一件事,所有端口都将无法使用。我发现,只要我设置了 SSH 访问权限,使其可以通过 wifi 连接访问,我就能够轻松地从错误中恢复。
我的工作配置,其中 WAN 和每个 LAN 端口都有自己的 VLAN(设备背面标记为 3 和 4 的端口在此处定义,但当前未分配给任何网络):
/etc/config/network
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
#wan port
config switch_vlan
option device 'switch0'
option vlan '1'
option vid '100'
option ports '4 5t'
#port 1
config switch_vlan
option device 'switch0'
option vlan '2'
option vid '2'
option ports '3 6t'
#port 2
config switch_vlan
option device 'switch0'
option vlan '3'
option vid '3'
option ports '2 6t'
#port 3
config switch_vlan
option device 'switch0'
option vlan '4'
option vid '4'
option ports '1 6t'
#port 4
config switch_vlan
option device 'switch0'
option vlan '5'
option vid '5'
option ports '0 6t'
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix ' ( ...whatever your prefix is... ) '
#Lan on switch port 1
config interface 'lan'
option force_link '1'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.0.1'
option ifname 'eth1.2'
#Another local network on switch port 2
config interface 'someothernetwork'
option proto 'static'
option ifname 'eth1.3'
option ipaddr '192.168.8.1'
option netmask '255.255.255.0'
#WAN on the wan port
config interface 'wan'
option ifname 'eth0.100'
option proto 'dhcp'
#Wireless
config interface 'wi'
option type 'bridge'
option _orig_ifname 'wlan0 wlan1'
option _orig_bridge 'true'
option proto 'static'
option ipaddr '192.168.6.1'
option netmask '255.255.255.0'
答案2
仅供参考。我在运行 OpenWRT (18.06.02) 的 Linksys 1900AC v2 路由器上应用了 @AdrianQ 指定的相同配置,并且它也在此设备上运行。
这是有道理的,因为 WRT1900AC(v2) 和 WRT1900ACS 路由器都使用相同的 Marvell 88E6176 以太网交换机,因此共享相同的交换机端口布局。请参阅设备 VLAN 交换机端口参考: