私はunboundを使用し、通常はDNSサーバーとしてopenDNSを使用しています。
Dig google.com
を実行すると、SERVER: 127.0.0.1#53(127.0.0.1)
と表示されます。これは正確にポート#53でリッスンしているものですか?これはバインドされていませんか、それともdnsmasqと関係がありますか(dnsmasq.conf
が/etc
にないように見えるので、dnsmasqもインストールされていますか?)
Resolv.confにはnameserver 127.0.0.1
がありますが、ネットワークマネージャーでは、DNSサーバーが2つのopenDNSアドレスをポイントしています。ここで何が起こっているのでしょうか?ローカルネームサーバーはdnsmasqをポイントし、ネットワークマネージャーからの値を使用しますか?それとも実際に聞いているのは束縛されていないのですか?
インストールされている場合、NetworkManagerはデフォルトでDNSリゾルバーとしてDnsmasqを使用します。これはDebianベースのシステムのデフォルトです。したがって、Dnsmasqはデフォルトの構成で実行され、コマンドラインオプションで指定されたアップストリームサーバー(および/etc/hosts
の内容)に基づいて名前のみを解決します。そのファイルはオプションパッケージ dnsmasq にのみ存在するため、/etc/dnsmasq.conf
はありません。
システムが現在DNSクエリにDnsmasqまたはUnboundを使用しているかどうかを確認するには、netstat -ulnp | grep ":53 "
を実行します。
Ubuntu 12.04では、NetworkManagerは他のDNSリゾルバーとうまく連携しません( bug 959037 を参照してください)== Thomas Hoodの要約 ほぼすべてをカバーしています)。 UnboundをNetworkManagerと一緒に実行し続けるには、NetworkManagerにDnsmasqを実行しないように指示することをお勧めします(NetworkManagerが使用しないDnsmasqの機能を使用している場合を除き、Unboundに加えて必要ありません)。それを行うには:
/etc/NetworkManager/NetworkManager.conf
を編集して、dns=dnsmasq
を含む行をコメント化します(その行の先頭に#
を追加します)。service network-manager restart
を使用してNetworkManagerを再起動します。Ubuntu 12.04では、network-manager
にハードコードされているため、dnsmasqがデフォルトで実行されるようになりました。デスクトップインストールでデフォルトでローカルリゾルバとしてdnsmasqを使用するこれは、このリリースの2番目の大きな変更です。デスクトップインストールでは、DNSサーバーはNetworkManagerが管理するdnsmasqサーバーを指す「127.0.0.1」になります。
SERVER: 127.0.0.1#53(127.0.0.1)
これは、ローカルDNS(DNSMASQ)からクエリのansを取得していることを意味します。
ローカルリゾルバーが不要な場合は、次の手順を使用してDNSMASQをオフにできます。
/etc/NetworkManager/NetworkManager.conf
ファイルを編集する必要があります
gksudo gedit /etc/NetworkManager/NetworkManager.conf
から次の行をコメント化します
dns=dnsmasq
に
#dns=dnsmasq
ファイルを保存して終了します。
ここで、次のコマンドを使用してnetwork-manager
を再起動する必要があります
Sudo systemctl restart network-manager
リファレンス link
DNSMasqを使用する場合、アドレスの解決に実際に使用されたDNSサーバーを確認するには、127.0.0.1
のみを報告するため、Dig
を使用できません。代わりに:
DNSMasqでログを有効にする:
sed -i 's/\#log-queries/log-queries/' /etc/dnsmasq.conf
systemctl restart dnsmasq
DNSMasqをログに記録し、出力を監視します。
journalctl --unit dnsmasq.service -f
ホストにpingを実行します。
ping google.ca
その後、私のアップストリームDNSサーバー(192.168.1.1)が解決します。
: query[A] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: query[AAAA] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: reply google.ca is 172.217.1.3
: reply google.ca is 2607:f8b0:400b:80f::2003
: query[PTR] 3.1.217.172.in-addr.arpa from 127.0.0.1
: forwarded 3.1.217.172.in-addr.arpa to 192.168.1.1
: reply 172.217.1.3 is iad23s25-in-f3.1e100.net
: reply 172.217.1.3 is yyz10s14-in-f3.1e100.net
* .company.comの(スプリットトンネル中の)会社のVPNの背後にあるホストにpingを実行します
ping box.company.com
結果:
: query[A] box.company.com from 127.0.0.1
: forwarded box.company.com to vpn.ser.ver.ip
: query[AAAA] box.company.com from 127.0.0.1