我搞的头秃掉了,这应该不可能,但是被我遇到了,谢谢各位大佬的帮助!
故障现象
- 假设域名为baidu.com,该地址在外网访问正常,通过baidu.com:123的方式也能够正常访问,
- 但是在内网访问baidu.com,那么Chmod提示:ERR_CONNECTION_TIMED_OUT
- 内网通过内网IP地址+端口号访问正常
- 内网使用:baidu.com或公网IP地址直接访问,可以出现OpenWRT的登录页面
- 内网使用XX.XX.XX+端口号,均无法访问(无论是域名,或者公网IP地址)
环境
- 使用OpenWrt软路由做主路由
- 固件版本:OpenWrt Ipv6-Mini-S2021.08.08 by Sirpdboy / LuCI Master (git-21.211.30217-03784c3)
- 内核版本:5.4.132
- 客户端为Win10,Edge与谷歌浏览器,还有ipad
- 本地部署了Nginx反向代理
- OpenWrt端口转发已设置
尝试操作
- 在OpenWRT—网络—DHCP/DNS—服务器设置—基本设置中:“重绑定保护‘已经取消勾选
- 在OpenWRT—网络—DHCP/DNS—服务器设置—HOSTS和解析文件设置中:自定义挟持域名,已经将域名与IP绑定
- 更换不同OpenWRT版本尝试
清空浏览器缓存,DNS缓存
- 在外网访问abc.baidu.com时,检查Nginx日志文件,可以找到访问记录,但是在本地访问相同网址时,Nginx并没有相关记录信息
- 尝试在网络,主机名中添加主机名和对应的IP地址,然后内网访问域名+IP可以访问了,但是直接访问nginx代理的二级域名故障依旧
- 修改了/etc/config/uhttpd了文件,将数值设置为option rfc1918_filter 0,并且保存/etc/init.d/uhttpd restart重启
再一次感谢!
问题找到了,原因为上层虚拟机交换机本身没有开启NAT,所以导致了这一系列的问题
在OpenWrt的管理界面,在 网络 --> DHCP/DNS --> 常规配置 中,将 重绑定保护取消掉就可以了
重启还不行的话,可以试试 网络 --> DHCP/DNS --> 高级设置,把缓存改为0,再改回来就可以了,似乎openwrt是不会自动清理缓存的,只有用此种方式曲线救国