Network Managerと連携するようにdnsmasqプライベートネームサーバーを取得するにはどうすればよいですか?

Network Managerと連携するようにdnsmasqプライベートネームサーバーを取得するにはどうすればよいですか?

私はネットワーキングについて学んだだけです。

私はMint-18を使用しています。使用network-managerdnsmasq有効です。

特定のドメイン名で終わるアドレスをプライベートネームサーバーで確認したいと思います。

serverdnsmasq 構成ファイルのオプションを使用してプライベートネームサーバーを追加すると、すべてが失敗します。 google.comを解析することもできません。

> nslookup google.com
;; connection timed out; no servers could be reache

そのオプションを削除しserver、同じプライベートネームサーバーを上部に追加して\etc\resolve.confネットワーク管理者を再起動すると、問題が再び機能し、プライベートホスト名を解決できます。

> nslookup abcprivate.net
Server:     nn.nn.nn.nn
Address:    nn.nn.nn.nn#53

Non-authoritative answer:
Name:   abcprivate.net
Address: mm.mm.mm.mm

だから私はプライベートネームサーバーが正しいことを知っています。これが私がdnsmasqを設定した方法であるに違いありません。

これは私の設定ファイルです。

>cat /etc/NetworkManager/dnsmasq.d/dnsmasq.conf
server=/abcprivate.net/nn.nn.nn.nn

ここで、abcprivate.netはプライベートネットワークのドメインで、nnは数値です。

ベストアンサー1

私の設定は正しいですが、使用されていないことがわかりました。

>ps ax | grep dnsmasq
 1273 ?        S      0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

ご覧のとおり、confファイルを使用していません。これが真であることを確認するために、いくつかの追加テストを行いました。


最終的に問題を解決しましたが、次の方法で問題を解決しました。

  • Network-manager dnsmasqプラグインを無効にする:dnsその行をコメントアウトします。/etc/NetworkManager/NetworkManager.conf
  • 移動/etc/NetworkManager/dnsmasq.d/dnsmasq.confする/etc/dnsmasq.conf
  • すべてのネームサーバーキャプチャを/etc/dnsmasq.confに追加します(以下のファイルリストを参照)。
  • /etc/resolve.confの上部にdnsmasqアドレスを追加します(/etc/resolvconf/resolv.conf.d/headファイルを変更して...下のファイルリストを参照)。
  • Resolve.conf を読み取らないように dnsmasq を起動します。 (dnsmasq -d -R -q何が起こっているのかを見るために画面にクエリを記録したいです。)
  • 1. すべてがうまく動作します。 systemDユニットファイルにdnsmasqをカプセル化しました。

$ cat /etc/dnsmasq.conf
cache-size=1000
listen-address=127.0.1.1
server=8.8.8.8
server=/abcprivate.net/nn.nn.nn.nn
cache-size=1000

$ cat /etc/resolvconf/resolv.conf.d/head    
nameserver 127.0.1.1

$ cat /etc/systemd/system/dnsmasq.service
[Unit]
Description=SystemD - Dnsmasq is a Domain Name System (DNS) forwarder
Requires=network-manager.service

[Service]
Type=simple
ExecStart=/usr/sbin/dnsmasq -d -q -R

おすすめ記事