最近在办公室配置了“iKuai + OpenWrt旁路由”模式的网络,使用起来感觉不错。但是今天发现一个端口转发没有生效,经过逐一排查,最终发现是由于旁路由的问题引起的。
建议排查项
- 内网主机防火墙设置(可尝试先关闭防火墙)
- 路由器防火墙设置
- 尝试更换公网IP端口
- 尝试暂时取消旁路由
通过排除法逐一排查,最终确定问题是由于旁路由模式引起的。尝试不使用旁路由时,iKuai的端口映射是有效的。那么在保留旁路由的情况下,如何让iKuai的端口映射生效呢?请参考下面的解决办法。
解决办法
如果没有旁路由的情况下,模式是这样的:
- 公网IP(8.8.8.8:2222) -> iKuai路由器(192.168.1.1) -> 内网主机(192.168.1.5:2222)
这样并没有问题,但是如果加了旁路由后,发现公网IP(8.8.8.8:2222)
无法访问,这时我们需要先将流量转发到旁路由,再由旁路由转发至内网目标主机,模式是这样的:
- 公网IP(8.8.8.8:2222) -> iKuai路由器(192.168.1.1) -> 旁路由(192.168.1.2:2222) -> 内网主机(192.168.1.5:2222)
通过这种网络模式,可以正常将公网流量转发至目标主机,遂问题解决。具体操作步骤如下:
一、在“iKuai路由器后台 - 网络设置 - 端口映射”添加一条转发至旁路由的规则,如下图。
二、登录旁路由(OpenWrt)后台,在“网络 - 防火墙 - 端口映射”将来自LAN端口(上面步骤的内网端口)的流量转发至内网的目标机器,如下图。
最后保存并应用即可。
总结
- 如果您内网机器的网关指向的是主路由(192.168.1.1),则不需要在旁路由进行映射。
- 但如果您内网机器网关指向的是旁路由(192.168.1.2),需要在主路由添加端口映射外,还需要在旁路由额外添加端口映射