单网口 OpenWrt 设置问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
0o0O0o0O0o
V2EX    OpenWrt

单网口 OpenWrt 设置问题

  •  
  •   0o0O0o0O0o 2023-07-16 09:46:22 +08:00 2080 次点击
    这是一个创建于 819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    路由器 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' 
    第 1 条附言    2023-07-16 12:27:14 +08:00

    A 的 Switch 改成了:

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

    注意到 B 有个 ../../devices/platform/soc/c000000.switch/net/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' config interface 'guest' option device 'br-guest' option proto 'static' option ipaddr '192.168.10.2' option netmask '255.255.255.0' option gateway '192.168.10.1' config switch_vlan option device 'lan' option vlan '1' option ports '0t' option vid '1' config switch_vlan option device 'lan' option vlan '10' option ports '0t' option vid '10' config device option name 'br-lan' option type 'bridge' list ports 'lan.1' config device option name 'br-guest' option type 'bridge' list ports 'lan.10' 

    这样配置后 ping 223.5.5.5 -I br-lan 是通的,但 ping 223.5.5.5 -I br-guest 依然不通,这是什么原因造成的?

    第 2 条附言    2023-07-16 14:08:20 +08:00




    VLAN ID CPU (eth0) CPU (eth1) LAN 1 LAN 2 WAN
    1 off tagged tagged untagged off
    2 tagged off off off untagged
    10 off tagged tagged tagged off
    config interface 'guest' option device 'br-guest' option proto 'static' option ipaddr '192.168.10.2' option netmask '255.255.255.0' option gateway '192.168.10.1' config switch_vlan option device 'lan' option vlan '10' option ports '0t 4t' option vid '10' config device option name 'br-guest' option type 'bridge' list ports 'lan.10' 

    搜类似型号,找到个解决方案,把 ports 从 0t 改成了 0t 4t 就成功了,我也不知道这个 4t 代表什么。

    这样 VLAN 1 依然是 untagged,相当符合我的预期:

    • 任意设备网线直连 A 的 LAN 1,会是 VLAN 1
    • 连 B 的默认 wifi 是 VLAN 1
    • 连 B 的访客 wifi 是 VLAN 10
    第 3 条附言    2023-07-16 14:14:38 +08:00

    上面第2条附言的表格写错了,应该是

    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 tagged tagged off
    17 条回复    2023-07-16 15:46:27 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
    OP
       2023-07-16 10:06:01 +08:00
    试图蒙一个:

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

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

    > 一个物理口两个 VLAN 号

    我附言里的做法是这个意思吗?通了一半
    cpstar
        7
    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
        8
    0o0O0o0O0o  
    OP
       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
        9
    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
        10
    0o0O0o0O0o  
    OP
       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
        11
    cpstar  
       2023-07-16 13:54:23 +08:00
    我只能感觉你这个 B 并没有那么大的能力去搞一个口多个 vlan
    cpstar
        12
    cpstar  
       2023-07-16 13:56:37 +08:00
    我刚才看了一眼我的 TL-XAP5400GC ,配置里边,某个 SSID 就可以设置绑定到 VLAN ID 上。所以上游一根线,下游多 VLAN ,需要设备 B 的支持,而路由器关这关那当 AP 使,窃以为没有那么大的能力,除非各种刷,当然那就已经不是纯粹的路由器了。
    0o0O0o0O0o
        13
    0o0O0o0O0o  
    OP
       2023-07-16 14:08:33 +08:00
    @cpstar
    @neroxps

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

    LAN 1 和 LAN 2 都是 VLAN 1 上 untagged ,VLAN 10 上 tagged
    vmebeh
        15
    vmebeh  
       2023-07-16 15:31:25 +08:00 via iPhone
    b 的口接 a 的 lan1:
    a 的 lan 1: untag vlan1 ,tag vlan10
    b 的一样:untag vlan1 ,tag vlan10 ,不需要 wan ,无线的设置我没用过就不清楚了
    vmebeh
        16
    vmebeh  
       2023-07-16 15:33:48 +08:00 via iPhone
    需要 b 能 ping 通 a 的话就要新建网络设备分别绑定 vlan1 ,vlan10 ,再设置好防火墙(注意转发的设置,不然来宾形同虚设)
    0o0O0o0O0o
        17
    0o0O0o0O0o  
    OP
       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 上设定的防火墙规则也是生效的,有什么我没注意到的坑吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2717 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 14:47 PVG 22:47 LAX 07:47 JFK 10:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86