dnsmasq は NetworkManager によって起動されると 0.0.0.0 で listen します。

dnsmasq は NetworkManager によって起動されると 0.0.0.0 で listen します。

NetworkManager プロセスによって dnsmasq が起動されたときに、NetworkManager または dnsmasq が 0.0.0.0 でリッスンするように構成することは可能ですか?

私は何を入れても気づいた/etc/NetworkManager/dnsmasq.d/00-example.confファイルは次のようになります:

listen-address=0.0.0.0

dnsmasq は NetworkManager によって次の引数で起動されます。

/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

どのように変更すればよいか--listenアドレスオプション ?

答え1

あなたはUbuntuを使っていると思いますが、ここで何が起きるかというとdnsmasqネットワークマネージャによって使用されるプラグインローカル DNS クエリをキャッシュするには、コマンド ラインで事前定義されている理由は次のとおりです。

--listen-address=127.0.0.1

そのため、あなたの設定を行うには地元ネットワークでは、上記のファイルの下の行をコメントアウトして、デフォルトのdnsmasqを無効にする必要があります。ネットワークマネージャ:

#dns=dnsmasq

完了したら、NMを再起動します。

systemctl restart NetworkManager

次に、標準dnsmasq のバージョンを入手し、独自の目的に使用してください。

補完的: 標準バージョンをサーバーの1つにインストールすると、これがDNSサーバーとなり、修理済みIPはネットワークにDHCPサーバーを使用しているため、最終的にDNSサーバーがそのすべてのipsだけでなく、ループバック (127.0.0.1) ** 設定ファイル **/etc/dnsmasq.conf の下に配置する必要があります:

listen-address=0.0.0.0

答え2

私もこれに苦労しました。おそらく Reda Salih が正しい答えを持っていると思います。しかし、私は NetworkManager を自分の思い通りに操作しようとしてすでに多くの時間を費やし、ようやくうまく動作するようになりました。私の答えを追加したいだけです:

  1. ホストに静的 IP があることを確認してください。DHCP を使用する場合 (静的割り当ての場合でも)、DnsMasq はローカル アドレスに別の DNS サーバーを使用するなど、望ましくない設定を取得します。
  2. /etc/hostsローカル IP は読み込まれないので、 には入力しないでください。addn-hosts別のファイルで オプションを使用してください。
  3. dhcp-option=3この Dnsmasq ホストと異なる場合は、ゲートウェイを設定します(私のものは異なります)。
  4. 設定しないでくださいdhcp-option=6(何をしているのかわかっている場合を除く)
  5. NetworkManager によって強制された設定を上書きするには、 conf ファイルの設定listen-addrを使用できます。私の場合は に設定されていますが、これは と同等です。その他の設定 (dhcp-host など) は正常であり、追加の説明は必要ありません。interfaceinterface=eth0,lolisten-addr=0.0.0.0

関連情報