(本文当前是1.0版本)
一直不理解openwrt的防火墙设置里为什么有这两个选项,直到被这两个兄弟难倒了才明白。下面是我曲折的认知过程。
1.无所谓它是什么阶段
重置openwrt后,防火墙都是默认设置好的。看到过这两个选项,我也考虑过是干什么的,但基本没动过,也没遇到过问题。反正不管它们是干什么的,在就好,没问题就好。没有深入思考。
2.被问题困扰阶段
考虑着把openwrt路由器作为二级路由,不和一级路由设置在同一个网段,但能通过设置静态路由互联互通。同时在二级路由开启zerotier插件,设置为第三个网段,可以远程连接到路由器,访问一级和二级路由下的设备。
遇到的第一个问题是一级路由没法添加静态路由表。
一级路由我用的是TL-R470GP-AC 2.0,应用里没找到静态路由设置,咨询官网客服说2.0硬件版本不支持静态路由。真的是气坏了,这个AC也太不给力了。tplink百十块的路由器都可以添加静态路由,这个就不可以???无奈只好放弃。
遇到的第二个问题是二级路由LAN下的设备上不了网。
本来还在奇怪呢,怎么一设置WAN和LAN的防火墙,下挂的网关就离线了。因为这个问题,我还更新了固件,重置了好几次路由器,还是没解决。
直到在论坛看到大神们的回复,才终于理解了。其实,IP动态伪装的英文是masq,即MASQUERADE,所以就是WAN口的nat设置。
遇到的第三个问题是zerotier添加静态路由并启动nat后不能访问一级路由的设备。
有了前面的铺垫,这个问题也好理解。访问二级路由下的设备,在zerotier中添加静态路由就好。可以访问一级路由,在取消二级路由WAN口nat设置的前提下,还是需要一级路由添加静态路由。不然就是我知道你在哪,但你不知道我在哪,结果就是不通。
总的来说,取消了二级路由的nat设置,就等于路由器工作在纯路由模式,需要完整的静态路由表才能和其他网段相通。
3.豁然开朗阶段
说实在的,最终的解决方案可能还是换支持的硬件。或是换个需求。