ip动态伪装(等价于iptables masquerade命令)

Openwrt如果不设置ip动态伪装,则无法从内网访问国内网站(但是可以正常科学上网)。

Openwrt只有设置了ip动态伪装或marsquerade命令,才能从内网访问国内网站(同时可以正常科学上网)。但此设置带来的问题是外网无法访问内网ip(即使设置了端口转发),导致内网的服务器无法被外网访问。

一个解决办法是将内网服务器的网关和dns手动指向主路由,不经过旁路由处理,则可以被外网正常访问。这么做的优点是服务器不经过旁路由连接更稳定,缺点则是服务器无法利用旁路由科学上网(可以考虑同时打开主路由科学上网)。

UPDATE 2023-04-23

外网无法访问内网ip的原因是旁路由没有配置二次端口转发。当使用旁路由作为Gateway时,端口转发需要进行如下2步设置:

  1. 在主路由将端口映射给旁路由,比如8000 -> 旁路由ip:8001
  2. 在旁路由将端口映射给本地ip,比如8001 -> 本地ip:8002

也可以将主路由的端口段整个映射给旁路由,比如1000-10000 -> 旁路由ip:1000-10000,这样以后添加新的端口映射时只需要在旁路由添加映射即可。