京东亚瑟ax1800升级支持自定义DNS作旁路由WIFI还是要NAT
前言
当看到京东云无线路由器推送固件更新的时候,有说明支持自定义域名网DNS后,联想到之前文章《解决京东云ax1800 pro亚瑟 旁路由内网不通问题》有提到过,小米路由默认就支持旁路由功能,就因支持自定义局域网DNS。就迫不及待要更新了。
image-20240921133800777升级
升级前
image-20240626205813636升级后
image-20240626205823864参考别人的https://cloud.tencent.com/developer/article/2036952
在这里插入图片描述原因分析
注1: 问题在主路由身上,而不是旁路由。
注2: 不是所有路由器都有此问题,取决于固件及其配置参数。
3: 以下都是以 Redmi AX5 作为主路由讲述的。
数据从主机发送到主路由 AP,会经过虚拟网桥(下面简称 bridge),然后再到网桥上其他接口。 一般而言,我们常用的无线路由器(例如:Redmi AX5 ),都创建了一个名为 br-lan 的 bridge,其桥接了以太网和无线设备,我们可以用 brctl show 来查看:
root@XiaoQiang:~# brctl show
bridge name bridge id STP enabled interfaces
br-lan 7fff.28d127e7dd8c no eth1
eth2
eth3
wl0
wl1
br-miot 7fff.2ed127e7dd8e no wl13
root@XiaoQiang:~#
可以看到,网桥 br-lan 桥接了 eth1、eth2、eth3、wl0、wl1 五个网卡接口(二层设备)。 另外,值得一提的是,eth1、eth2、eth3(还有用于 wan 口的 eth4)实际上是属于同一交换机上的端口(由 IPQ8075 —5口千兆交换芯片管理),然而,在这里它们被抽象成独立的网卡接口。又因为 eth1、eth2、eth3 被桥接在一起,为了加速转发,这3个接口之间数据转发其实是直接在二层(链路层)走交换机芯片被快速转发的,并不经过 bridge。如果是 wl0、wl1 (二层设备,分别负责2.4G、5G)和 eth1、eth2、eth3 之间收发数据,那就 必须经过 bridge了,因为它们的协议都不同(一个是 IEEE802.11,一个 IEEE802.3),帧格式自然不同,必须交给 CPU 处理转换才行。
当内核变量 net.bridge.bridge-nf-call-iptables = 1 时,netfilter 会调用 iptables 的相关钩子函数去处理 bridge 上的数据,也就是让数据包经过一遍防火墙(看变量名字也能猜出来是干什么)。
要知道,iptables 是具有状态机制的防火墙 的配置工具(不过,我经常就把 iptables 当作防火墙)。状态机制是 iptables 中特殊的一部分,其实它不应该叫状态机制,因为它只是一种连接跟踪机制。但是,很多人都认可状态机制这个名字。连接跟踪可以让 Netfilter 知道某个特定连接的状态。
解决办法
原来,路由器内部早就定义好了旁路由检测方式。 明白这些,就简单多了,登陆 Redmi AX5 网页后台,在DHCP参数页,设置一个或两个DNS为非192.168.31.1的IP就行了,当然把默认网关改成旁路由也可以,不过我不想那样。 然后保存重启路由器就行了。 此方法应该也适用 Xiaomi/Redmi 其他路由器(我猜的😁)
在这里插入图片描述别人的解决办法是只要修DNS为非本路由的地址,就能启用了旁路由模式。
总结
可能京东云无线路由器根本就没有小米的那么周到,也就是根本没考虑旁路由当网关的情况。这次折腾以失败告终,wifi模式下还是要使用伪装,也就是要多一次NAT
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

福建宁德小山村
校验提示文案
Theosoft
校验提示文案
Theosoft
校验提示文案
福建宁德小山村
校验提示文案