ローカル(127.0.1.1)DNSリゾルバはLAN DNSサーバーを無視します。

ローカル(127.0.1.1)DNSリゾルバはLAN DNSサーバーを無視します。

私のLANのDNSサーバーとして機能するようにコンピュータを設定しました(おおよそ次のように)。このガイド)。私の主な動機は、IPの代わりにURLを使用して自分のコンピュータとデバイスにアクセスできることです。

私の名前を正しく解析できるので、うまく機能し、よく渡されます。

➜  ~ nslookup router.casa 192.168.1.5
Server:     192.168.1.5
Address:    192.168.1.5#53

Name:   router.casa
Address: 192.168.1.1

そして外部:

➜  ~ nslookup google.com 192.168.1.5
Server:     192.168.1.5
Address:    192.168.1.5#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.28.174

192.168.1.5これがDNSサーバーアドレスであることに気づいたでしょう)

その後、DHCPサーバー(Linksysルーター)をデフォルトの192.168.1.5DNSアドレスに設定し、Googleアドレスを設定しました。これは、ローカルDNSサーバーがダウンしても、自分のデバイスが名前を解決できるようにしたいからです。これはうまくいくようです、またはこれを行うと、少なくともどのコンピュータでも正しく反映されているようです。

➜  ~ nmcli dev show | grep DNS
IP4.DNS[1]:                             192.168.1.5
IP4.DNS[2]:                             8.8.8.8
IP4.DNS[3]:                             8.8.4.4

ただし、nslookup明示的なDNSアドレスを持たない一般的なクエリは機能しません。

➜  ~ nslookup router.casa
Server:     127.0.1.1
Address:    127.0.1.1#53

** server can't find router.casa: NXDOMAIN

多くのSuperUser、Unix&Linux、およびAskUbuntuの質問を読んだ後、このアドレスはデフォルトで設定され、私のディストリビューション(Mint)に事前設定された127.0.1.1ローカルDNSキャッシュに似ていることがわかりました。resolvconf効果的に:

➜  ~ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

手動パッチ(またはresolv.conf 基本ファイルの編集resolvconfを完全に削除します。、等。 )。ただし、すべてのゲストデバイスがローカル名を使用できるようにしたいので、LAN設定全体を編集したくありません(一部のデバイスは私のものではありません)。

すべてのPCとデバイスの設定を手動で編集する必要がないようにDNSサーバーおよび/またはDHCPを設定する方法はありますか?

さらに、追加の質問として、この127.0.1.1サーバーはなぜ最初のDNSアドレスを無視しますか?nslookupDNSサーバーで使用しても失敗します。

➜  ~ nslookup router.casa 127.0.0.1
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   router.casa
Address: 192.168.1.1

➜  ~ nslookup router.casa 127.0.1.1
Server:     127.0.1.1
Address:    127.0.1.1#53

** server can't find router.casa: NXDOMAIN

より便利な出力:

➜  ~ sudo netstat -tulpn | grep 127.0.1.1
tcp        0      0 127.0.1.1:53            0.0.0.0:*               ESCUCHAR    1489/dnsmasq    
udp        0      0 127.0.1.1:53            0.0.0.0:*                           1489/dnsmasq    

ベストアンサー1

エントリ127.0.1.1がここにある可能性が最も高く、dnsmasqDNSとDHCPを提供(最も重要にはキャッシュ)するローカルデーモンです。 NetworkManagerは、次のようにdnsmasqを実行しないように設定できます。ファイルを編集し、行の先頭に配置して/etc/NetworkManager/NetworkManager.conf行をコメントアウトします。dns=dnsmasq#

sudo nano /etc/NetworkManager/NetworkManager.conf

次に、ネットワーク管理者を再起動します。

sudo service network-manager restart

次に、127.0.1.1エントリがルータから消え、ルータ/etc/resolv.confから取得されたエントリに置き換えられていることを確認します。

おすすめ記事