OpenWRT 访问内网地址失败
解决方案:DHCP/DNS - 常规设置 - 重绑定保护 - 关闭
场景
在学校内使用 OpenWRT 连接校园网,而后开放 AP 供电脑使用(主要为了透明代理)
本身使用起来都很正常,直到要走图书馆下论文,突然发现竟然进不去图书馆网站,再测试发现所有的edu.cn
都无法访问。
使用dnslookup
进行测试,发现又没有任何问题,可以正常解析。无论是直接请求114.114.114.114
、8.8.8.8
、1.1.1.1
、4.2.2.1
,还是直接请求路由器本身192.168.66.1
,都没有任何问题,但是就是无法访问。
经过查询,在 Lisupy的个人博客 - openwrt路由器dnsmasq部分域名无法解析 找到了问题所在及解决方案
问题原因
简单来说,就是在校内访问学校网站时,拿到的是内网 IP(更快)。而 OpenWRT 默认是不允许域名解析到内网的,因为攻击者可能会将域名解析到自己的电脑来执行攻击。
考虑到大部分情况下,内网都是直接输 IP 的,所以就禁止将域名解析到内网(听起来很有道理,但是如果攻击者可以修改 DNS 响应,应该已经拿下路由器了吧,顺手关掉保护不就行了……)