在不产生新局域网的条件下,满足上网设备的数据先经过旁路网关处理而不是主路由。
主路由:假设 IP 为 192.168.1.1
需要作为旁路网关的 Redmi AX6000(或者是其他可开启 SSH 装有 OpenWrt 系固件的设备),将该设备的 LAN 和主路由的 LAN 相连
可以连上 Redmi AX6000 且可以使用 SSH 的上网设备
将上网设备连上旁路网关,Redmi 路由器默认 IP 是 192.168.31.1,通过该 IP 使用浏览器进入路由器管理页面。
此时,Redmi 路由器是路由模式,需要将其改成有限中继模式。在改之前,需要去主路由(不需要更换上网设备连接的路由器)将 Redmi 路由器的 IP 固定住,假设为 192.168.1.2。或者在 Redmi 路由器管理页面设置自己的静态 IP,同时设置子网掩码为 255.255.255.0,网关为 192.168.1.1,DNS 服务器为 192.168.1.1(指向主路由)。
因为 Redmi 路由器管理页面的信息很少,所以需要通过命令行设置一些信息。开启 SSH 的流程很容易搜索到就不讲了。开启 SSH 后,使用上网设备通过 SSH 连接 Redmi 路由器。
LAN 的 IP 等信息已经在有线中继时设置过了,这里仅需要禁用 IPv6。
uci set network.lan.ip6assign='0' 包括:忽略 LAN 接口;禁用 RA 服务;禁用 DHCPv6 服务。
uci set dhcp.lan.ignore='1'
uci set dhcp.lan.dhcpv6='disabled'
uci set dhcp.lan.ra='disabled' 包括:关闭 LAN 的 SYN-Flood;配置入站数据、出站数据、转发数据均为 ACCEPT;开启 IP 动态伪装;开启 MSS 钳制。
uci set firewall.@defaults[0].syn_flood='0'
uci show firewall.@zone[0].name
# 确认是 'lan' 后执行以下操作,
# 否则修改 [0] 中的数字,找到 'lan',再将下面的 [0] 改成对应的数字
uci set firewall.@zone[0].input='ACCEPT'
uci set firewall.@zone[0].output='ACCEPT'
uci set firewall.@zone[0].forward='ACCEPT'
uci set firewall.@zone[0].masq='1' # IP 动态伪装
uci set firewall.@zone[0].mtu_fix='1' # MSS 钳制 uci commit
reboot 将上网设备改成静态 IP,假设为 192.168.1.3,并设置子网掩码为 255.255.255.0,网关为 192.168.1.2,DNS 服务器为 192.168.1.2(指向旁路网关)。浏览器打开网页确认是否能正常访问,若能正常访问则设置成功。