方案1:真正桥接(Dumb AP + WiFi Client 桥接) → 推荐!(所有设备同网段 192.168.21.x,无 NAT,性能最好) 这种模式下,你的 OpenWrt 设备相当于一个“无线网卡 + AP 交换机”,上游路由器给所有下游设备(包括你 OpenWrt 自己)分配 IP。 步骤(LuCI 界面操作,最简单): 先备份配置(以防变砖):System → Backup/Flash Firmware → Generate archive 无线部分(Network → Wireless): 扫描上级 WiFi(Scan),找到你要连的 SSID 点击 Join Network WPA passphrase 填上级 WiFi 密码 Create / Assign firewall-zone → 选择 wan(重要!) Network → 选 wan(或新建一个叫 wwan 的接口,后续再桥) Mode 自动是 Client (STA) 保存 & 应用 如果有第二个 radio,可以再建一个 AP(你的扩展 WiFi),Network 选 lan 网络接口(Network → Interfaces): 编辑 WAN 接口: Protocol → Static address IPv4 address → 192.168.21.220 IPv4 netmask → 255.255.255.0 IPv4 gateway → 192.168.21.1 Custom DNS servers → 192.168.21.1(或 8.8.8.8) 高级设置 → Use built-in IPv6-management → 取消勾选(除非你要 IPv6) LAN 接口:保持默认 192.168.1.1(或改成其他避免冲突,如 192.168.88.1),但关闭 DHCP(DHCP Server → Ignore interface → 勾选) 桥接无线到 LAN(关键一步,避免双 NAT): 如果你的设备支持单 radio 同时 STA + AP(大多数新驱动支持),在无线里把 STA 的 Network 改成 lan(而不是 wan) 或者新建接口(Add new interface): Name: stabridge 或 br-wwan Protocol: Unmanaged 或 Static(不重要) Interface → Physical Settings → Bridge interfaces → 勾选,把 wan(或你的 STA 接口,如 wlan0.sta)和 lan(br-lan)一起桥接 防火墙:把 STA 接口(wwan 或 wan)加到 lan 防火墙 zone(而不是 wan zone),关闭 masq(NAT) 保存 & 应用 → 重启设备 成功后:OpenWrt 自己会用 192.168.21.220 上网,下游设备(连你的 AP 或有线)也会直接从上级路由器拿 192.168.21.x 的 IP,全网互通 常见失败点: 无线 STA 没加到 lan zone → 桥接失败 DHCP 没关 → IP 冲突 信号太弱 → 先靠近上级路由测试 方案2:经典路由模式(NAT) → WAN 静态 IP + 自己的 LAN 网段(如果你接受双 NAT) WAN 接口:静态 192.168.21.220/24,网关 192.168.21.1 无线 STA:Network → wan,防火墙 zone → wan LAN:192.168.2.1/24(或其他不同网段),开 DHCP 防火墙:lan → wan 允许 forward,wan 开 masq 这种最稳,但下游设备是 192.168.2.x,上游看不到,端口转发麻烦
ailixiaoran 发表于 2026-1-10 12:38 方案1:真正桥接(Dumb AP + WiFi Client 桥接) → 推荐!(所有设备同网段 192.168.21.x,无 NAT,性能最 ... 现在应该就是第二种 上游看不到下游的情况 第一种里面 下游设备(连你的 AP 或有线)也会直接从上级路由器拿 192.168.21.x 的 IP,全网互通,但我的下游设备需要的是192.168.1.x网络,因为里面有的工业设备是写死了的1.x网络,可以上游访问到吗?因为我很少玩这种,所以脑壳有点懵。
2012huguoliang 发表于 2026-1-10 13:04 现在应该就是第二种 上游看不到下游的情况 第一种里面 是的,你现在的情况确实更接近第二种(经典路由模式 + NAT):上游(上级路由器 192.168.21.1)看不到下游设备(你的工业设备们在 192.168.1.x),下游也看不到上游的全貌,只能通过你的 OpenWrt 设备做 NAT 转发上网。这是最稳、最简单的方式,尤其当下游有固定写死 IP 的工业设备时(不能轻易改成从上级 DHCP 拿 IP)。 但你问的核心是:上游能不能访问到下游的 192.168.1.x 设备? 答案:可以,但需要额外配置端口转发(Port Forwarding)或 DMZ。上游能“看到”并访问下游特定设备(比如通过 IP:端口访问工业设备的 Web 界面、Modbus、PLC 等),但不是“全网互通”那种 Layer2 级别的直接 ping 通所有。 为什么第一种(同网段桥接)在这里行不通? 第一种要求所有设备(包括你的工业设备)都从上级路由器拿 192.168.21.x 的 IP,这样才真正“全网互通”。 但你的工业设备IP 写死了 192.168.1.x(可能是 192.168.1.100/24 之类),上游路由器根本不知道这个子网存在,也不会转发流量过去。 即使你强行桥接,工业设备还是用 1.x 网段,ARP 广播过不去,通信会断(除非你做复杂 VLAN/多子网路由,但你的 WiFi 模块大概率不支持或太麻烦)。 所以,别纠结第一种了,它不适合有固定 IP 的场景。走第二种 + 端口转发是最务实的。 推荐配置:路由模式(NAT) + 上游访问下游端口转发 你的目标: OpenWrt 用静态 192.168.21.220 连上游(无线 STA 模式) 自己的 LAN 用 192.168.1.1/24(或你工业设备所在的网段),开 DHCP(如果有动态设备)或全静态 下游设备上网正常(通过 NAT) 上游能访问下游特定设备(比如工业设备的 192.168.1.100:80 Web 页) LuCI 操作步骤(基于标准 OpenWrt): 无线部分(Network → Wireless): STA (Client) 连上级 SSID,密码正确 Network → wan(防火墙 zone 保持 wan) WAN 接口(Network → Interfaces → WAN): Protocol: Static address IPv4 address: 192.168.21.220 Netmask: 255.255.255.0 Gateway: 192.168.21.1 DNS: 192.168.21.1 或 8.8.8.8 保存应用 LAN 接口(Network → Interfaces → LAN): Protocol: Static address IPv4 address: 192.168.1.1(或改成你的工业网段网关,比如 192.168.1.254 避免冲突) Netmask: 255.255.255.0 DHCP Server:如果有动态设备就开;工业设备写死 IP 的话,可以 Ignore interface(关 DHCP) 防火墙 zone: lan 防火墙 - 端口转发(Network → Firewall → Port Forwards): Add 新规则(示例:上游访问下游 Web 服务器 192.168.1.100:80) Name: Industrial Web Protocol: TCP External zone: wan External port: 8080(上游看到的端口,建议别用 80 避免冲突,可自定义如 8080、5000 等) Internal zone: lan Internal IP address: 192.168.1.100(你的工业设备 IP) Internal port: 80 更多端口同理加(比如 Modbus TCP 502 → External 5020 → Internal 502) 保存 & 应用 可选:DMZ(更简单,但暴露风险高): Firewall → General Settings → wan zone → Masquerading 保持开 Forward to destination zone lan 开 DMZ → Input/Output/Forward 都 accept(测试用) 或直接加 DMZ host: 把某个工业设备 IP 设为 DMZ(上游所有端口直接转发到它,不安全,仅测试) 测试: 上游电脑 ping 192.168.21.220(你的 OpenWrt WAN IP) → 通 上游访问 http://192.168.21.220:8080 → 应该看到下游 192.168.1.100 的 Web 界面 下游设备 ping 8.8.8.8 通网 如果要上游 ping 通下游设备:不行(因为 NAT 隐藏了),只能靠端口转发访问服务
ailixiaoran 发表于 2026-1-11 11:05 是的,你现在的情况确实更接近第二种(经典路由模式 + NAT):上游(上级路由器 192.168.21.1)看不到下 ... 虽然看不懂,但是那么详细的解说路过点赞支持一下
seekyou2008 发表于 2026-1-11 19:39 搁几天了,应该解决了吧。瞎猜一下,把最后那个静态路由里的192.168.1.0改为192.168.1.254。然后再建一个19 ... 没解决呢 还是通不了下面设备
2012huguoliang 发表于 2026-1-12 09:17 没解决呢 还是通不了下面设备 cat /etc/config/network iptables -L 这两地方看一下有没有其它问题。