OpenWRT的NAT环回似乎失效问题
自己编译了一个OpenWRT作为主路由,但是一开始端口转发无效,经过一番摸索,端口转发问题解决,但是在内网使用ddns外网+端口号无法访问又出现了,经过另外的折腾终于解决,现在记录一下,希望对存在类似问题的朋友有帮助。OpenWRT版本号:固件版本OpenWrt R22.1.1 / LuCI Master (git-21.335.48743-5f363d9)内核版本5.10.93一、端口转发失效的
自己编译了一个OpenWRT作为主路由,但是一开始端口转发无效,经过一番摸索,端口转发问题解决,但是在内网使用ddns外网+端口号无法访问又出现了,经过另外的折腾终于解决,现在记录一下,希望对存在类似问题的朋友有帮助。
OpenWRT版本号:
固件版本 OpenWrt R22.1.1 / LuCI Master (git-21.335.48743-5f363d9)
内核版本 5.10.93
一、端口转发失效的问题
有人说是内核的问题,有人说是docker的问题,再重新编译也比较麻烦,看看能不能省事哪里设置一下最好能解决。经过测试,有人说要在防火墙–自定义规则里面设置命令,我试了下,可以了。命令如下:
iptables -t nat -I PREROUTING -i pppoe-WAN -p tcp --dport 9180 -j DNAT --to-destination 10.0.0.1:80
上面这条命令,“pppoe-WAN”是自己WAN口的名称,如果不一样自行替换一下,“9180”是转发出去的外网端口,“10.0.0.1:80”是自己内网设备IP以及它的端口,自行替换。然后重启路由器就可以了。
二、NAT环回失效问题
- ssh连接openwrt系统后,编辑/etc/sysctl.d/11-br-netfilter.conf文件,确认后面的值是0,如果不是,需要改为0。
net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
- 编辑/etc/sysctl.conf文件。文件内容可能是空的,把上面三行内容复制进sysctl.conf文件,保存退出。
- ssh内输入sysctl -p命令,查看输出结果是不是第一条下面的那三条内容。
- 最后,输入/etc/init.d/sysctl restart 。
上面的内容,我也是网上找的的,设置完成后,还是不行,文章来源是使用openwrt作为拨号主路由使用中关于端口回流失效的问题 。
后来我在无意间发现,OpenWRT的端口转发中有一个“启用 NAT 环回”的选项,默认是启用状态。我就想,上面文章中的设置就是启用NAT环回,这里再启用会不会冲突了呢?我就把“启用 NAT 环回”的选项取消掉了,试了一下,居然成功了,简直不可思议。
更多推荐
所有评论(0)