openwt で dns サーバーを指定する
OpenWRTでDNSサーバをあれこれいじってたので、メモ。
ルータのDNSサーバーを指定するには /etc/resolv.conf ( 実態は /tmp/resolv.conf ) にあります。
これは起動すると、自動的に生成されるresolv.confファイルで、PPPoEやDHCPv6などネットワーク接続後に更新されるファイルでもあります。
固定したい
openwrt がどのDNSサーバーから名前解決するかを固定したい
たとえば、nameserver をつねにlocalhost の unbound に固定したいとかある。
root@openwrt:~# nslookup t.co Server: 127.0.0.1 Address: 127.0.0.1#53 Name: t.co Address 1: 104.244.42.197 Address 2: 104.244.42.5 Address 3: 104.244.42.69 Address 4: 104.244.42.133
ネットワーク設定からやる
cloudflare の 1.1.1.1 をつねに自身の名前解決につかうには、LANネットワーク設定から行う
uci network.mylan.dns=' 1.1.1.1 8.8.8.8 8.8.4.4'
設定を書いて適用後
これを書いておくと、次のようにDNSの名前解決順序が適用される。
root@tplinkc7v5:~# cat /etc/resolv.conf # Interface lan nameserver 1.1.1.1 nameserver 8.8.8.8 nameserver 8.8.4.4 # Interface wan6 nameserver 2001:xxxx:8383:xxxxx:a5xx search flets-xxxx.jp search iptvf.jp # Interface PPPoE-ISP nameserver ISPのDNS1 nameserver ISPのDNS1
DNS の項目はいくつもあるので注意
OpenWRTルータ設定のDNS設定項目はいくつもあるので注意が必要
- PPPoE / LAN ごとのDNS設定 ( uci show network.lan.dns )
- ルータ自身のDNS設定( /etc/resolv.conf ← LAN設定に依存)
- DNSMasq が問い合わせる先の設定 ( uci show dhcp.@dnsmasq[0].server
- DNSMasq はDHCPと一体化している
- DHCP サーバがIP配布時に通知するDNSサーバー設定 ( uci show dhcp.lan.dhcp_option//='6,192.168.11.1' )
今回使ったOpenWRT
root@openwrt:~# cat /etc/openwrt_release | grep RELEASE DISTRIB_RELEASE='18.06.2'
参考資料
https://turedure-plog.blogspot.com/2014/10/openwrtgoogledns.html