本文发自 http://www.binss.me/blog/solve-dns-resolve-problem-on-openwrt/,转载请注明出处。
搬到新房间,由于无法独占主路由(公用),我将刷了 OpenWRT 的斐讯 K3 作为二级路由,形成以下网络拓扑:
中国电信光猫(桥接) - 主路由(拨号) - K3 。
结果发现当设备连接到 K3 时出现某些域名无法解析的问题,而连接到主路由却没有该问题。
google 苦查无果,只能自己折腾,经过若干天的踩坑,终于在今天解决了该问题。在此分享给遇到该问题的童鞋。
现象
无法连接苹果的 app store,其根本原因是无法解析 api-edge.apps.apple.com 、bag.itunes.apple.com 等域名。
在淘宝、天猫等商品页弹出登录框,在输入信息点击登录后发现网页刷新了一下,依然是未登录状态。
原因
OpenWRT 自带 dnsmasq 做 DNS 解析和 DHCP。dnsmasq 默认会读取 /tmp/resolv.conf.auto
文件,该文件由 OpenWRT 自动生成,在我这如下:
# Interface wan
nameserver 202.96.134.133
nameserver 202.96.128.166
search DHCP
search HOST
其中,202.96.134.133 和 202.96.128.166 继承自上级路由,本质上来自于运营商。经过测试,在使用它们作为上级 server 的时候会解析不到 A 记录。
解决
由于 /tmp/resolv.conf.auto
由 OpenWRT 定期自动生成,我们创建 /root/resolv.conf.fixed
文件,内容如下:
# Interface wan
nameserver 1.2.4.8
nameserver 223.6.6.6
nameserver 223.5.5.5
search DHCP
search HOST
并将文件路径填到 LUCI - DHCP and DNS - Server Settings - Resolv and Hosts Files - Resolve file 中。
通过选用主流 DNS server,解决了上述的问题。
1F tcbbd 5 years, 8 months ago 回复
2333333
2F binss MOD 5 years, 8 months ago 回复
回复 [1F] tcbbd:害怕.jpg
3F tcbbd 5 years, 8 months ago 回复
瑟瑟发抖.jpg
4F Wong arrhenius 5 years, 7 months ago 回复
基本操作
5F 丁明哲 3 years, 2 months ago 回复
11111
6F Neilyo 2 years, 1 month ago 回复
很棒