DockerでDnsmasqインスタンスを実行するためにポート53でリッスンするDnsmasqを無効にする方法は?

DockerでDnsmasqインスタンスを実行するためにポート53でリッスンするDnsmasqを無効にする方法は?

私のDebian 10システムにドッカー化されたDnsmasqネットワーク全体のDNSサーバーソリューションを持ちたいです。

質問:

sudo lsof -i -P -n | grep LIST
dnsmasq  ... TCP 192.168.122.1:53 (LISTEN)

ローカル DNS サービスを受信する dnsmasq インスタンスが既に存在します。しかし、私はdockerインスタンスを使用したいと思います。 (dockerにはWebインターフェイスがあるので、dnsmasqでビルドを使用するように要求しないでください。)

docker-instance dnsmasq Web インターフェイスから次の情報を取得します。

⁣⁣dnsmasq: failed to create listening socket for port 53: Address in use

当然、dnsmasqを無効にする必要があります。私はこのスレッドを投げました:

https://mmoapi.com/post/how-to-disable-dnsmasq-port-53-listening-on-ubuntu-18-04

  • 環境"DNSStublistener=no"
  • 動作しますが、再起動後も同じ問題が発生します。

明らかに私が理解していない他のものがあります。この質問はこのトピックに関連しています。

Ubuntu 20.04でdnsmasqとの競合を避けるために、ポート53でsystemd-resolvedを正しく無効にする方法は?

  • 同じ問題ですが、実際にはストレスのないソリューションはないので、Network Managerソリューションの時代以降にこれに新しいスレッドを持つことが価値があると思いました。

それでは、新しい問題が発生せずにどのように無効にできますか?

編集:発見されたソリューション1つのインターフェイスでのみ受信するようにdnsmasqを制限する方法は?

説明する

  • 複数の DNS サーバーを使用するように構成に追加-bind interface(マンページの内容にもかかわらず)

しかし、

  • /etc/dnsmasq.conf問題があります。 BCにファイルがありませんか?

ベストアンサー1

私は自分自身を助けました。

  1. プロセスを見つけ、次のコマンドを使用してconfファイルのターゲットを見つけました。クラシックシステム管理者:Linuxコマンドラインでプロセスを終了する方法指導時間:
    ps aux | grep dnsmasq
    
  2. ファイルを編集し(例  nano /var/lib/libvirt/dnsmasq/default.conf:)、バインディングをバインディングインターフェイスに動的に変更しました。
  1. 再起動して役に立つことを確認してください。

  2. default.confファイルが自動的に生成されるため、使用する必要はありません。

    virsh net-edit default
    

    デフォルト設定を編集します。 libvirt v5.6より前は、カスタムオプションの渡しが許可されていないため、別の問題が発生します。しかし、その後は特別なXMLフレーズを使用します。

       <dnsmasq:options>
         <dnsmasq:option value="foo=bar"/>
         <dnsmasq:option value="cname=*.foo.example.com,master.example.com"/>
       </dnsmasq:options>
    

    解決策は次のとおりです。libvrtを使用したカスタムdnsmasq(またはカスタムオプション)?;努力したが成功しなかった。

  3. 私は以下を使用してXMLファイルのネイティブネットワークのDNSを無効にしました。

    <dns> <dns enable="no"/> </dns>
    

    マニュアルページの指示に従ってください(tmp XMLで書いて、すべてが正常なときは新しい標準として扱うので安全です)。

  4. そのポートに対して DNS が無効になっており、2 番目の dnsmasq サーバーが稼働しています。

おすすめ記事