2023年3月更新: 经过测试,这个方法对于6.1内核版本的固件已经失效,暂时不确定具体是什么原因导致
问题描述:
openwrt在esxi内安装好后,等待ddns解析生效,发现域名+端口号无法在内网访问,外网访问却一切正常。
1、咨询大佬后,发现固件内包含docker功能就会导致回流失效。
使用源码coolsnowwolf/lede编译固件,不能加入docker功能,否则会引起回流失效的问题,暂时无解,docker 的内核 NS 原因导致回流无效。
2、重新编译去除docker后,又是从头开始设置拨号--设置lan口--添加dhcp的主机绑定--设置端口转发。这个时候发现,哎,可以了!(内网有群晖NAS和两个Linux系统,需要映射的端口数大概有25个左右)一个个测试之后,玄幻的事来了,部分端口可以部分不可以。于是再次咨询大佬,告知可以尝试取消端口环回的勾选后再重新勾选,如果还是不行,没辙了。
遂放弃。
解决:
1、ssh连接openwrt系统后,编辑/etc/sysctl.d/11-br-netfilter.conf
文件。
net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
确认后面的值是0,如果不是,需要改为0
2、编辑/etc/sysctl.conf
文件。文件内容可能是空的,把第一条的内容复制进sysctl.conf文件,保存退出。
3、ssh内输入sysctl -p
命令,查看输出结果是不是第一条下面的那三条内容。
4、输入/etc/init.d/sysctl restart
最后问题完美解决!
方法来源
- 李蜀の博客
- coolsnowwolf/lede/issues/2103
- 此文章仅作为个人折腾记录备忘,请尊重原作者的创作。
20 条评论
非常感谢,完整试过没有用,内网依然无法访问,想到两个问题:
1 - 代码修改后,每一个转发的loopback要不要打勾?
2 - 和我使用的 openclash 有没有关系?
谢谢
openwrt的内核和插件迭代较快,未必会一直适用,抱歉。至于loopback和openclash,你可以试试
sysctl: error: 'net.bridge.bridge-nf-call-arptables' is an unknown key
sysctl: error: 'net.bridge.bridge-nf-call-ip6tables' is an unknown key
sysctl: error: 'net.bridge.bridge-nf-call-iptables' is an unknown key
一样的
nice 有用
感谢大佬,解决了内网无法访问的问题,大佬好人一生平安。
大佬,没有sysctl.d/11-br-netfilter.conf这个文件夹以及文件,可否新建?
应该是可以的
不用这么复杂啊。内网dns指向路由器ip,然后再路由器上写内网解析记录,比如
192.168.1.254 www.mydomain.com
然后客户端访问域名就直接到192.168.1.254 ip,还省了转发,内网直接通讯
牛啊牛啊.....一下就搞定了OωO...还有个x小问题,只要是这个域名,管你端口指定是那个ip,都是被劫持了
sysctl -p 命令是之前固件的方法,新的固件不支持
我用的固件可以直接在
防火墙→端口转发→高级设置 里面勾选启用NAT环回处理功能
请问大佬我在输入sysctl -p后显示的如下信息:
sysctl: error: 'net.bridge/bridge-nf-call-arptables' is an unknown key
sysctl: error: 'net.bridge/bridge-nf-call-ip6tables' is an unknown key
sysctl: error: 'net.bridge/bridge-nf-call-iptables' is an unknown key
其它操作步骤都是一致,不知道哪里出问题了?
net.bridge.bridge-nf-call-arptables=0
net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
你仔细看看?你输错了符号
我在文本编辑里bridge之间是“.”,直接复制的内容,未修改,但输入sysctl -p显示的又是“/”。很郁闷
我也是这样,请问解决了吗
不行的话换一种编辑器,用vim或者nano直接编辑,不要用文本编辑器这类的软件
我试过几种文本编辑了,用winscp直接修改文件也试过了,都是bridge之间还是"/"
那我就不清楚了。不确定是不是固件的原因了
太感谢了,网上找了好多都不能解决,博主这个办法一下就解决了,感谢感谢!
果然有效!大佬厉害!
不过这个方法是什么原理呢?
部分openwrt自定义源码编译出的固件会导致无法自动生成这部分配置,就导致回流异常,手动配置一下自然就好了