Openwrt 无法解析域名到内网地址,提示连接超时?

我搞的头秃掉了,这应该不可能,但是被我遇到了,谢谢各位大佬的帮助!

故障现象

  • 假设域名为baidu.com,该地址在外网访问正常,通过baidu.com:123的方式也能够正常访问,
  • 但是在内网访问baidu.com,那么Chmod提示:ERR_CONNECTION_TIMED_OUT
  • 内网通过内网IP地址+端口号访问正常
  • 内网使用:baidu.com或公网IP地址直接访问,可以出现OpenWRT的登录页面
  • 内网使用XX.XX.XX+端口号,均无法访问(无论是域名,或者公网IP地址)

环境

  1. 使用OpenWrt软路由做主路由
  2. 固件版本:OpenWrt Ipv6-Mini-S2021.08.08 by Sirpdboy / LuCI Master (git-21.211.30217-03784c3)
  3. 内核版本:5.4.132
  4. 客户端为Win10,Edge与谷歌浏览器,还有ipad
  5. 本地部署了Nginx反向代理
  6. OpenWrt端口转发已设置

尝试操作

  1. 在OpenWRT—网络—DHCP/DNS—服务器设置—基本设置中:“重绑定保护‘已经取消勾选
  2. 在OpenWRT—网络—DHCP/DNS—服务器设置—HOSTS和解析文件设置中:自定义挟持域名,已经将域名与IP绑定
  3. 更换不同OpenWRT版本尝试
  4. 清空浏览器缓存,DNS缓存

    1. 在外网访问abc.baidu.com时,检查Nginx日志文件,可以找到访问记录,但是在本地访问相同网址时,Nginx并没有相关记录信息
  5. 尝试在网络,主机名中添加主机名和对应的IP地址,然后内网访问域名+IP可以访问了,但是直接访问nginx代理的二级域名故障依旧
  6. 修改了/etc/config/uhttpd了文件,将数值设置为option rfc1918_filter 0,并且保存/etc/init.d/uhttpd restart重启

再一次感谢!

问题找到了,原因为上层虚拟机交换机本身没有开启NAT,所以导致了这一系列的问题

阅读 15.3k
1 个回答
新手上路,请多包涵

在OpenWrt的管理界面,在 网络 --> DHCP/DNS --> 常规配置 中,将 重绑定保护取消掉就可以了
重启还不行的话,可以试试 网络 --> DHCP/DNS --> 高级设置,把缓存改为0,再改回来就可以了,似乎openwrt是不会自动清理缓存的,只有用此种方式曲线救国

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏