OpenWRT 访问内网地址失败

解决方案:DHCP/DNS - 常规设置 - 重绑定保护 - 关闭

场景

在学校内使用 OpenWRT 连接校园网,而后开放 AP 供电脑使用(主要为了透明代理)

本身使用起来都很正常,直到要走图书馆下论文,突然发现竟然进不去图书馆网站,再测试发现所有的edu.cn都无法访问。

使用dnslookup进行测试,发现又没有任何问题,可以正常解析。无论是直接请求114.114.114.1148.8.8.81.1.1.14.2.2.1,还是直接请求路由器本身192.168.66.1,都没有任何问题,但是就是无法访问。

经过查询,在 Lisupy的个人博客 - openwrt路由器dnsmasq部分域名无法解析 找到了问题所在及解决方案

问题原因

简单来说,就是在校内访问学校网站时,拿到的是内网 IP(更快)。而 OpenWRT 默认是不允许域名解析到内网的,因为攻击者可能会将域名解析到自己的电脑来执行攻击。

考虑到大部分情况下,内网都是直接输 IP 的,所以就禁止将域名解析到内网(听起来很有道理,但是如果攻击者可以修改 DNS 响应,应该已经拿下路由器了吧,顺手关掉保护不就行了……)

参考资料