1つのインターフェイスでのみ受信するようにdnsmasqを制限する方法は?

1つのインターフェイスでのみ受信するようにdnsmasqを制限する方法は?

ループバックインターフェイスでのみ受信する(バージョン2.66)試みていますが、dnsmasq受信にのみこだわります。みんな利用可能な住所、つまり0.0.0.0:53次の主張にもかかわらず:

# dnsmasq -ilo --pid-file=/run/dnsmasq-lo.pid

dnsmasq: failed to create listening socket for port 53: Adress already in use

1つのIPアドレスのみを受信して​​いるように見える別のdnsmasqプロセスが実行されています。

# netstat -ltaupn | sed -rne 2p -e '/:53\b/p'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.125.1:53        0.0.0.0:*               LISTEN      4224/dnsmasq    
tcp        0      0 192.168.124.1:53        0.0.0.0:*               LISTEN      4221/dnsmasq    
udp        0      0 192.168.125.1:53        0.0.0.0:*                           4224/dnsmasq    
udp        0      0 192.168.124.1:53        0.0.0.0:*                           4221/dnsmasq    

すべてのインスタンスを終了しdnsmasqてコマンドを再実行すると、次の結果が表示されます。

# dnsmasq -ilo --pid-file=/run/dnsmasq-lo.pid
# netstat -ltaupn | sed -rne 2p -e '/:53\b/p'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      4452/dnsmasq    
tcp6       0      0 :::53                   :::*                    LISTEN      4452/dnsmasq    
udp        0      0 0.0.0.0:53              0.0.0.0:*                           4452/dnsmasq    
udp6       0      0 :::53                   :::*                                4452/dnsmasq    

次の引数は単独で、または組み合わせて何も変更しません。

--local=//
-a127.0.0.1
-Ieth0 -Ieth1 -Ivirbr0 -Ivrbr1

どのように強制的にdnsmasq聞くことができますか?ただ私が望む1つのインターフェイス、ループバックインターフェイス?

ベストアンサー1

ありがとうスティーブン・チャジェラス、可能な答えの1つは追加することです--bind-interfaces。私はコマンドラインヘルプを読むのを制限したので、このオプションを無視しました。

# dnsmasq --help | grep bind-interfaces
-z, --bind-interfaces                   Bind only to interfaces in use.

私は本能的にマニュアルページを再確認しませんでした。 IMHOこのヒントはまだ混乱しています。

ただし、マニュアルページには次のように記載されています。

   -z, --bind-interfaces
          On systems which support it, dnsmasq binds the wildcard address,
          even when it is listening on only some interfaces. It then  dis-
          cards  requests  that it shouldn't reply to. This has the advan-
          tage of working even when interfaces  come  and  go  and  change
          address.  This  option  forces  dnsmasq  to really bind only the
          interfaces it is listening on. About the only time when this  is
          useful  is  when running another nameserver (or another instance
          of dnsmasq) on  the  same  machine.  Setting  this  option  also
          enables multiple instances of dnsmasq which provide DHCP service
          to run in the same machine.

これがより明確です。

おすすめ記事