私の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.5
DNSアドレスに設定し、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アドレスを無視しますか?nslookup
DNSサーバーで使用しても失敗します。
➜ ~ 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
がここにある可能性が最も高く、dnsmasq
DNSと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
から取得されたエントリに置き換えられていることを確認します。