それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

openwrt で /etc/resolv.conf の dns サーバーを常に固定する

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