单网口 OpenWrt 设置问题

2023-07-16 09:46:22 +08:00
 0o0O0o0O0o

路由器 A 的 Network - Switch 配置如下:

VLAN ID CPU (eth0) CPU (eth1) LAN 1 LAN 2 WAN
1 off tagged untagged untagged off
2 tagged off off off untagged
10 off tagged off off off

VLAN 1 对应默认的 lan 和默认 wifi ,192.168.1.0/24 ;
VLAN 10 对应访客 wifi ,192.168.10.0/24 。

路由器 B 的 WAN 连接 A 的 LAN 1,配置静态 IP 192.168.1.2,禁用 DHCP Server 、防火墙、DNS ,配置默认 wifi ,当作 AP 。

以上都没问题,现在想让 B 也具有访客 wifi ,该如何配置呢?

B 只有一个物理网口,luci 里是没有 Network - Switch 的:

config interface 'loopback'
 | option device 'lo'
 | option proto 'static'
 | option ipaddr '127.0.0.1'
 | option netmask '255.0.0.0'

config device
 | option name 'br-lan'
 | option type 'bridge'
 | list ports 'lan'

config interface 'lan'
 | option device 'br-lan'
 | option proto 'static'
 | option ipaddr '192.168.1.2'
 | option netmask '255.255.255.0'
 | option ip6assign '60'
 | option gateway '192.168.1.1'


root@OpenWrt:~# ls -l /sys/class/net/
lrwxrwxrwx    1 root     root             0 Jul 13 11:05 br-lan -> ../../devices/virtual/net/br-lan
lrwxrwxrwx    1 root     root             0 Jan  1  1970 eth0 -> ../../devices/platform/soc/c080000.ethernet/net/eth0
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lan -> ../../devices/platform/soc/c000000.switch/net/lan
lrwxrwxrwx    1 root     root             0 Jan  1  1970 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx    1 root     root             0 Jul 13 11:05 phy0-ap0 -> ../../devices/platform/soc/a000000.wifi/net/phy0-ap0
lrwxrwxrwx    1 root     root             0 Jul 13 11:05 phy1-ap0 -> ../../devices/platform/soc/a800000.wifi/net/phy1-ap0

尝试这样是会失去连接,只能 TFTP 刷机:

set network.bridge_vlan_home='bridge-vlan'
set network.bridge_vlan_home.device='br-lan'
set network.bridge_vlan_home.vlan='1'
set network.lan.device='br-lan.1'

set network.bridge_vlan_guest='bridge-vlan'
set network.bridge_vlan_guest.device='br-lan'
set network.bridge_vlan_guest.vlan='3'

set network.guest=interface
set network.guest.proto='static'
set network.guest.ipaddr='192.168.10.2'
set network.guest.netmask='255.255.255.0'
set network.guest.gateway='192.168.10.1'
set network.guest.device='br-lan.3'
1770 次点击
所在节点    OpenWrt
17 条回复
0o0O0o0O0o
2023-07-16 10:06:01 +08:00
试图蒙一个:

config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'

config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0t'
option vid '1'

config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0.1'

不出意料又连不上了,又只能 TFTP
neroxps
2023-07-16 11:03:04 +08:00
既然你访客是 vlan 10 那么路由 B 也需要配一个 vlan 10 啊。然后 路由 B 和路由 A 之间的接口是 tagged vlan1 和 vlan 10
luckjoe680
2023-07-16 11:08:32 +08:00
只能一个 2.4g 一个 5g 不可能用一个信号区分两个吧
cpstar
2023-07-16 12:22:38 +08:00
不可能,除非 B 的 WAN 支持两个 vlan ,但是显然这种路由器不可能存在
下游肯定需要一个交换机,可是一个物理口两个 VLAN 号,好像也行得通。下游交换机上再分离 VLAN 号和物理口。

最后,这么麻烦干什么,直接搞一个多 SSID 的 AP 完活,XAP5400 也才八百块钱。再不济就 2.4G 给访客,5G 给自己设备,然后两个在路由器( AP )层面隔离,而上联不分 VLAN 就是一条链路。
0o0O0o0O0o
2023-07-16 12:28:03 +08:00
@neroxps #2 谢谢,添加了附言,tagged 后 vlan1 可以连通,vlan 10 不行
0o0O0o0O0o
2023-07-16 12:33:25 +08:00
@cpstar #4

> 一个物理口两个 VLAN 号

我附言里的做法是这个意思吗?通了一半 •﹏•
cpstar
2023-07-16 13:16:25 +08:00
我有一个问题,你的真 WAN 口在哪?我还以为这个设备就一个物理 LAN ,刚看仔细是两个 LAN (怎么标题又说一个),那一个口一个 VLAN ,没啥毛病啊,下游两台路由( AP ),in this case ,不需要 VLAN 了。

然后附言里的 ping 是在哪做的?路由通么,br-lan 的上行走向 WAN 了,br-guest 也配置走向 WAN 了?
0o0O0o0O0o
2023-07-16 13:23:00 +08:00
@cpstar #7

光猫拨号
A 是二级路由,A 的 WAN 接光猫的 LAN
B 只有一个口,接 A 的 LAN 1

ping 是连上 B 的 ssh 在里面尝试的

> 一个口一个 VLAN

目前就是希望一根线解决这个问题,视作 LAN 2 不存在
cpstar
2023-07-16 13:33:25 +08:00
哦,这么个 Ping ,但是如果在 B 上 ping 192.168.10.1 via br-guest 能通,那就证明 A-B 之间的两个 VLAN 链路都通了,问题出在 A 的 NAT 上;如果不通,那就显而易见了。
0o0O0o0O0o
2023-07-16 13:41:25 +08:00
@cpstar #9

确实

ping 192.168.10.1 -I br-lan 通
ping 192.168.10.1 -I br-guest 不通

所以大概真的是设备局限
cpstar
2023-07-16 13:54:23 +08:00
我只能感觉你这个 B 并没有那么大的能力去搞一个口多个 vlan
cpstar
2023-07-16 13:56:37 +08:00
我刚才看了一眼我的 TL-XAP5400GC ,配置里边,某个 SSID 就可以设置绑定到 VLAN ID 上。所以上游一根线,下游多 VLAN ,需要设备 B 的支持,而路由器关这关那当 AP 使,窃以为没有那么大的能力,除非各种刷,当然那就已经不是纯粹的路由器了。
0o0O0o0O0o
2023-07-16 14:08:33 +08:00
@cpstar
@neroxps

可以了,参见第二条附言,谢谢
0o0O0o0O0o
2023-07-16 14:12:49 +08:00
@0o0O0o0O0o #13 第二条附言笔误

LAN 1 和 LAN 2 都是 VLAN 1 上 untagged ,VLAN 10 上 tagged
vmebeh
2023-07-16 15:31:25 +08:00
b 的口接 a 的 lan1:
a 的 lan 1: untag vlan1 ,tag vlan10
b 的一样:untag vlan1 ,tag vlan10 ,不需要 wan ,无线的设置我没用过就不清楚了
vmebeh
2023-07-16 15:33:48 +08:00
需要 b 能 ping 通 a 的话就要新建网络设备分别绑定 vlan1 ,vlan10 ,再设置好防火墙(注意转发的设置,不然来宾形同虚设)
0o0O0o0O0o
2023-07-16 15:46:27 +08:00
@vmebeh

#15

是的,附言里就是这样成功的,这个成功之后无线比较简单,wireless wifi-iface 的的 network 设置成对应的 network interface 就可以

#16

B 没有防火墙,也没有绑定 VLAN 1 ,能通过 B 的访客网络 ping 通 192.168.10.1 ,与此同时 A 上设定的防火墙规则也是生效的,有什么我没注意到的坑吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/957094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX