V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jamme
V2EX  ›  宽带症候群

请教各位大佬一个有关单臂路由的网络结构问题

  •  
  •   jamme · 8 小时 28 分钟前 · 614 次点击

    先大致介绍一下我的网络设备:

    • 桥接光猫
    • VLAN 交换机( Redmi AC2100 ,OpenWrt ,将 WAN 口并入 br-lan ,启用网桥 VLAN 过滤,当作交换机和 WiFi 热点使用)
    • N1 单臂路由( flippy 的 OpenWrt )

    网络拓扑结构如下:

    网络拓扑结构

    AC2100 交换机

    WAN 口并入 br-lan ,进行了 VLAN 划分,光猫连接 AC2100 的 WAN 口; N1 连接 AC2100 的 LAN1 ,N1 拨号上网;其余两台有线连接设备分别接入 AC2100 的 LAN2 和 LAN3 。AC2100 设置为静态 IP(192.168.1.2),并关闭 DHCP 。开启无线热点供无线设备上网,网桥 VLAN 过滤配置如下:

    N1 单臂路由

    主要负责拨号上网、DHCP 以及跑各种插件,WAN 使用eth0.100,LAN 使用eth0.10,配置如下:

    目前这个网络结构可以正常上网。

    问题

    目前有两个问题:

    1. 在 PC 上开启游戏加速器,无法正常为同局域网内的主机加速。例如,我在 PC 上启动雷神加速器,加速器分配172.24.1.0/16的网关和 DNS ,配置在 NS 上后,加速器会显示连接成功,但在 NS 上点击连接测试,无法正常测试,进入 eshop 和 NSO 等页面,也无法正常访问任天堂服务器。
    2. LAN2 和 LAN3 接口接入的两台有线设备均可正常获取 IP 地址和访问网络,但是如果我将其中一个接口通过网线,连接到另一台 redmi AX6(OpenWrt)时,AX6 的 WAN 口无法获取到 IP 地址。我本想通过这种方式,使用 AX6 组建一个子网,尝试让设备都在子网下是否可以正常加速主机,但未能获取 IP 导致无法验证。

    补充:

    我也尝试过使用雷神加速器和 UU 主机加速的 APP 在路由器上安装插件,并通过插件去加速,但都无法正常获取路由器信息,无法安装和使用路由器插件。

    这个网络拓扑结构是参照油管博主 Owen Yang 的视频配置的,唯一的区别就在于他使用的交换机是水星 SG108 PRO ,我不太清楚是我配置上的问题,还是说 OpenWrt 系统的 AC2100 无法做到等价效果。我尝试 Google 了相关问题,也问了 GPT ,最终都没得到合适的解决方案。希望各位大佬不吝赐教,万分感谢。

    31 条回复    2025-12-19 00:10:15 +08:00
    orionl
        1
    orionl  
       7 小时 38 分钟前   ❤️ 1
    问题一:PC 开启游戏加速器,Switch (NS) 无法连接/测试失败
    症状分析:
    PC 加速器显示连接成功,说明 PC 可以访问公网。但 NS 无法通过 PC (作为网关)上网。这种架构下,流量路径是:NS -> (L2 WiFi/网线) -> AC2100 -> (L2 网线) -> PC -> AC2100 -> (VLAN Trunk) -> N1 -> Internet 。
    既然 NS 和 PC 接在同一个“交换机”( AC2100 )下,它们之间的通信应该纯粹是二层( L2 )流量,主要由 ARP 和本地转发决定。

    排查与解决步骤:

    检查 Windows 防火墙(最高频原因):
    现象: 加速器虽然开启了代理,但 Windows 防火墙默认会拦截来自局域网其他设备(你的 NS )的入站连接请求。
    操作: 请在 PC 上暂时彻底关闭 Windows 防火墙(专用网络和公用网络都关掉),然后重新测试 NS 连接。如果成功,请在防火墙入站规则中为加速器程序放行,或仅允许 ICMP 和特定端口。
    检查 AC2100 (交换机)的端口隔离/防火墙:
    你将 AC2100 的 OpenWrt 当作交换机使用,但 OpenWrt 依然有防火墙和网桥设置。
    操作:
    进入 AC2100 后台,确保 br-lan 的防火墙区域( Zone )是 Accept (允许) 所有的 Input/Output/Forward 。
    检查是否开启了“AP Isolation”( AP 隔离)。如果 NS 是 WiFi 连接,PC 是有线连接,且隔离开启,它们无法通信。
    关键点: 检查 br-lan 的设置中,“IGMP Snooping”是否开启。建议关闭 IGMP Snooping ,有时它会干扰组播/广播发现,导致连接测试失败。
    检查 N1 (主路由)的硬件/软件流量分流( Offloading ):
    虽然 NS->PC 不经过 N1 ,但 PC->Internet 经过 N1 。OpenWrt 的“流量分流”、“Turbo ACC”或“Flow Offloading”经常导致游戏加速器(特别是涉及 NAT 修改的)失效。
    操作: 进入 N1 后台 -> 网络 -> 防火墙(或 Turbo ACC 中心),关闭“软件流量分流”和“硬件流量分流”。


    问题二:接入 AX6 做子路由,WAN 口无法获取 IP
    症状分析:
    LAN2/LAN3 接入电脑能获取 IP ,接入 AX6 路由无法获取。这通常是 VLAN Tag (标签)处理不一致导致的。

    原理:

    普通 PC 网卡通常会忽略发给它的带 VLAN Tag 的数据包(或者由驱动剥离),如果 Switch 发送了 Untagged 包,PC 也能收。
    路由器的 WAN 口通常严格遵守标准,如果它期待纯净的 Ethernet 帧( Untagged ),却收到了带 Tag 的帧,或者 VLAN ID 不匹配,它就会丢弃,导致 DHCP Discovery 失败。
    排查与解决步骤:

    核对 AC2100 的 VLAN 表( Bridge VLAN Filtering ):
    你需要确保连接下级设备( LAN2, LAN3 )的端口,在 VLAN 10 (即你的内网 VLAN )上被配置为 Untagged (不带标签) 且 PVID (Port VLAN ID) 必须设为 10 。
    典型错误配置: 如果你把 LAN2 设为 Tagged 10 ,有些 PC 网卡比较“宽容”能处理,但 AX6 的 WAN 口作为标准路由接口,默认不接受带 Tag 的流量(除非你在 AX6 上也配了 VLAN )。
    修正配置( AC2100 ):
    br-lan 接口概览中:
    LAN1 (连 N1): 勾选 VLAN 10 (Tagged/Local), VLAN 100 (Tagged)。
    LAN2/LAN3 (连设备): 勾选 VLAN 10 (Untagged), PVID: 10 (在“主要”或“PVID”列设置)。
    检查 AX6 WAN 口设置:
    确保 AX6 WAN 口协议是 DHCP 客户端。
    排雷: 很多 OpenWrt 固件为了防冲突,WAN 口可能默认开启了防火墙拒绝 Ping 或其他保护,但获取 IP 应该没问题。
    尝试: 如果确认 AC2100 配置无误,尝试将连接 AX6 的网线手动指定速率(比如强制千兆),排除自动协商失败( Auto-negotiation )的问题。


    在 N1 上无法安装加速器插件,通常是因为 N1 自身无法正确解析域名或连接插件服务器。

    检查 DNS:SSH 登录 N1 ,ping baidu.com 看看通不通。如果不通,编辑 /etc/resolv.conf ,确保留有 nameserver 223.5.5.5 之类的公共 DNS 。
    检查时间: 确保 N1 系统时间同步,时间不对会导致 SSL 证书错误,无法下载插件。
    总结建议操作顺序:

    PC 端: 关闭 Windows 防火墙。
    AC2100 端: 确认 LAN2/3 端口是 VLAN 10 Untagged 且 PVID=10 。
    N1 端: 关闭 Turbo ACC / Flow Offloading 。
    myderr
        2
    myderr  
       7 小时 38 分钟前   ❤️ 1
    你这个看着挺怪的,是把 ac2100 当成交换机和 ap 了吧,然后主路由其实是 n1,然后 ac2100 做的是 ap 的模式吧。为啥要这样绕一圈呢
    birdvdsk
        3
    birdvdsk  
       7 小时 32 分钟前 via Android   ❤️ 1
    你在最后一个图片里,把 eth0 和 eth0.10 都加入了同一个网桥,在这里合并了两个广播域,这里是有意为之吗
    birdvdsk
        4
    birdvdsk  
       7 小时 18 分钟前 via Android
    2. 你的网段是 192.168.1.0/24 ,你的 AX6 的 lan 接口网段是否也是 192.168.1.0/24 ,如果形成地址重叠会不能应用 IP 地址
    jamme
        5
    jamme  
    OP
       5 小时 49 分钟前
    @orionl

    问题一:

    > 在 PC 上暂时彻底关闭 Windows 防火墙(专用网络和公用网络都关掉)

    尝试了,没有效果。

    > 确保 br-lan 的防火墙区域( Zone )是 Accept (允许)



    常规设置需要全部放行么?

    > 检查是否开启了“AP Isolation”( AP 隔离)

    NS 确实是通过无线连接的,并且通常情况下连接的是 AC21200 的无线热点。但无线设置中的“隔离客户端”是关闭的

    > “IGMP Snooping”是否开启

    IGMP 嗅探是关闭的

    > 检查 N1 (主路由)的硬件/软件流量分流( Offloading )

    防火墙中似乎没有找到和流量分流相关的设置,Turbo ACC 网络加速中有软件分流分载设置,默认是开启状态,刚刚尝试关闭了一下,关闭后,会导致 DNS 解析失败,PC 无法访问网络。




    问题二:

    > AX6 问题

    AC2100 的网桥 VLAN 过滤设置如下,LAN2 和 LAN3 端口为 VLAN10 的`untagged|*`(*的意思是 Primary VLAN ID),VLAN100 设置为不参与。AX6 的 WAN 口设置为 DHCP 客户端时,无法获取 IP 地址;选择静态地址且设置为 192.168.1.0/24 中未使用的 IP 地址时,无法访问网络,且无法 PING 通网关 192.168.1.1 。

    设置指定速率的方法没有尝试过,不确定是否有用,等回来我尝试一下看看。



    > 安装加速器插件的问题,N1 可以正常访问互联网,nameserver 在 openclash 中配置了拨号时运营商提供的 DNS ,时间同步没有问题。其实 N1 上自带了 uu 加速器的插件,但是手机端无法识别。无论是手机连接 AC2100 的无线热点,还是连接 N1 的无线热点,均无法识别。雷神有几率可以连接到 N1 ,但是到 SSH 验证步骤时,无法通过验证。

    非常感谢大佬的详细建议。
    jamme
        6
    jamme  
    OP
       5 小时 46 分钟前
    @myderr 对,是的,你理解的没错,N1 其实是主路由。之所以这么做,是我现有的两个路由器 AC2100 和 AX6 的内存都太小了,无法正常运行我所需的插件。然后没有花时间去研究软路由,所以暂时没打算购置软路由。又恰巧手边有一台 N1 ,就刷了 OpenWrt 做单臂路由来跑插件了。
    jamme
        7
    jamme  
    OP
       5 小时 42 分钟前
    @birdvdsk #3 哦,eth0 其实可以勾选掉了,当时是做配置的时候先保留了 eth0 ,防止设备失联,设置 vlan 之后其实可以勾掉了,但是我忘记了。

    我 AX6 是 wan 保持在 192.168.1.0/24 ,lan 设置为了 192.168.2.0/24 ,应该不会形成冲突。
    birdvdsk
        8
    birdvdsk  
       4 小时 16 分钟前   ❤️ 1
    看了好多遍也没找到明显问题,可否抓包来看看具体情况?
    1. 针对加速器无效问题:在电脑端启动 WireShark ,看看有没有源 IP 为,172.24.1.0/16 的包
    2. 针对 AX6 无法获得地址问题,在交换机上对 LAN2 或 LAN3 上抓包,看看交换机和 AX 直接是否有效通讯
    jamme
        9
    jamme  
    OP
       3 小时 37 分钟前
    @birdvdsk #8

    刚刚抓了一下,不是特别懂怎么分析抓包数据,大佬帮忙看下,下面这张截图是启动加速器后,NS 配置好手动 IP 、子网掩码、网关和 DNS 后,首次尝试连接 WIFI 热点时,NS 提示 DNS 解析失败时的抓包状态



    下面这张图是第二次尝试连接 WIFI 热点并且成功连接后,在点击 NS 自带的网络测试功能时的抓包状态,且 NS 提示无法连接,与服务器连接已断开。



    关于 AX6 是否能与交换机有效通讯这个我没抓包试过,但我猜应该是不行,因为我尝试过通过 SSH 到 AX6 去 ping 交换机的地址,不通,ping 网关地址也一样。
    xqzr
        10
    xqzr  
       3 小时 17 分钟前   ❤️ 1
    @Livid #1 AI

    PPPoE 本身就是一种隔离。如果不介意 LAN 暴露给 WAN ,无需任何 VLAN 就可以正常拨号联网。
    如果介意,华为光猫的“业务路由”可以只让 PPPoE 帧,带 Tag 从 PON 口发出。没有 Tag 的 LAN 侧帧,会在光猫 PON 层被丢弃。
    其它光猫的“VLAN 透传”功能,也可以看看
    Donahue
        11
    Donahue  
       3 小时 2 分钟前
    何必搞这么复杂,N1 不拨号只做旁路由就可以了,太复杂折腾起来很麻烦。
    jamme
        12
    jamme  
    OP
       2 小时 39 分钟前
    @Donahue 因为以前用 NAS 的 docker 部署过容器做旁路网关,但是感觉使用配置起来有点不太方便,而且游戏加速器使用也有点问题,所以就放弃了旁路网关的方式。
    jamme
        13
    jamme  
    OP
       2 小时 38 分钟前
    @xqzr 好的,感谢,我了解一下。
    Livid
        14
    Livid  
    MOD
    PRO
       2 小时 37 分钟前
    @xqzr 谢谢,1 楼那个大段复制粘贴 AI 生成文本的账号已经被彻底 ban 。
    allplay
        15
    allplay  
       2 小时 7 分钟前 via Android
    旁路由一个旁字,就象征了这是歪门邪道。
    op 主你在 N1 这几十元的玩意上折腾的时间精力应该是几百元的,
    不知道你折腾多久了,查了多少资料,反复调试,最后的结果也仅仅是带宽减半、性能落伍的旁路由,仅此而已。
    好生买个几百元的 X86 主机做主路由,用你的红米做无线接入点和交换机。这样的主流架构,会省心很多。
    人生苦短,自己想想吧。
    birdvdsk
        16
    birdvdsk  
       2 小时 5 分钟前 via Android
    @jamme 查看了抓包结果,我看到每一个发送到 NS 的回复数据包都被重放了。
    UDP 等协议重传不会有问题,TCP 协议就会因此无法正常工作。这就是为什么连接成功,但是无法上网
    allplay
        17
    allplay  
       1 小时 57 分钟前 via Android
    你用 n1 拨号的目的是什么?你有公网 ipv4 ?
    WuSiYu
        18
    WuSiYu  
       1 小时 52 分钟前   ❤️ 1
    不知道是不是同样的问题,但或许可以检查下这两个设置然后试试:
    1. 在“防火墙”页面中关闭“丢弃无效数据包”
    2. 打开 WAN Zone – 编辑 – 连接追踪设置 – 允许“无效”流量

    这是我之前折腾单臂路由时遇到网络不通的解决方案,具体请参考: https://wusiyu.me/openwrt-bypass-gateway-tcp-not-work/
    guiys
        19
    guiys  
       1 小时 48 分钟前 via Android   ❤️ 1
    你的 lan2/lan3 和无线设备之间互 ping 能通吗?感觉俩问题都是跟设备之间互通有关
    WuSiYu
        20
    WuSiYu  
       1 小时 47 分钟前
    @WuSiYu 当然我们的“单臂路由”似乎并不是同一种,我那个是配的是“旁路由”,ipv4 是主路由横跨两个网段,上行过软路由到主路由,下行直接从主路由发到客户端。你这种似乎只是划分 vlan 的话,按说跟正常网络层拓扑没区别
    jamme
        21
    jamme  
    OP
       1 小时 39 分钟前
    @allplay #15 我当然知道选择 x86 软路由是更好的方案,我也知道选择 N100 可以一步到位,但我没有选择,肯定是有我自己的原因。另外,我知道你和恩山的某位大佬一样,很看不上旁路由,但我的 N1 不是旁路由。
    jamme
        22
    jamme  
    OP
       1 小时 38 分钟前
    @guiys 可以的,lan3 连接的 nas ,局域网内的所有设备均可正常访问。
    guiys
        23
    guiys  
       1 小时 35 分钟前 via Android
    @guiys 另外你这个结构可以只给光猫 wan 的数据打 vlan100 ,LAN 的数据还是默认 1 不用打 vlan ,再试一下。
    jamme
        24
    jamme  
    OP
       1 小时 34 分钟前
    @WuSiYu #20 哦哦,那确实不一样,我的上下行流量是相同的路径。
    hackroad
        25
    hackroad  
       1 小时 32 分钟前
    路由就路由,整什么幺蛾子单臂路由
    birdvdsk
        26
    birdvdsk  
       1 小时 31 分钟前
    @jamme 可试试通过抓包找到数据包在哪里被重放的,只要解决了数据包重放问题,你的问题就解决了
    jamme
        27
    jamme  
    OP
       1 小时 29 分钟前
    @guiys #23 这个方法我还真没考虑过欸,使用默认 1 和自定义是可以规避什么问题么?我之前怀疑过 VLAN 配置的问题,我问 GPT 曾经得到过一个答案,他说 openwrt 的 vlan 有可能设置的 pvid ,但并不一定真实生效。
    jamme
        28
    jamme  
    OP
       1 小时 24 分钟前
    @birdvdsk #26 之前在 N1 上抓过包,好像可以抓到 172.24.2.0/16 的 arp 广播,但我当时没细跟,只是知道 NS 广播问谁是 172.24.2.0/16 的网关,并且得到了回应。等过两天再抓包跟一下研究研究。
    slowman
        29
    slowman  
       1 小时 16 分钟前
    目前有两个问题:
    1. 你的截图为什么如此昏暗,看着很累
    2. 涉事网段 172.24.2.0/16 没有标在图上,而且为什么要用这么大的段
    3. 抓包是在哪个接口上抓的,这很重要. 需要在每个相关接口抓,可以 -i any host 172.24.2.X
    4. 楼上的数据包重放毛线,这是包给你丢了所以服务器不停的重传

    所以目前从抓包看不是 IP 层的问题,毕竟是 311 字节的小包重传个不停
    你可以在 PC 上尝试其他的网关软件给 switch 用来验证下
    birdvdsk
        30
    birdvdsk  
       1 小时 6 分钟前
    @slowman TCP 是在重传,可是看 TCP 前面的部分,每个回复的数据包都正好是两份。
    jamme
        31
    jamme  
    OP
       1 小时 3 分钟前
    @slowman

    1. 实在是不好意思,我开启了 HDR ,然后使用截图工具截图就会变暗,之前截图都是自己看,所以没考虑过这个问题,今天是第一次把截图直接发在网上的,确实考虑不周,实在是抱歉了。

    2. 172.24.2.0/16 这个网段是游戏加速器分配的,他把网关分配为 172.24.1.123 ,NS 的 IP 分配为 172.24.2.123 。

    3. 9 楼的两次抓包截图是在开启游戏加速器的 PC 上使用 wireshark 抓取的,这台 PC 连接了 AC2100 的 LAN2 端口。之前还在 N1 上使用 tcpdump 抓取过,抓到过 NS 的 arp 广播,寻问网关是谁。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1276 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:14 · PVG 01:14 · LAX 09:14 · JFK 12:14
    ♥ Do have faith in what you're doing.