dnsmasqが実行を開始し、53を占有してアンバウンドが開始されないのはなぜですか?

dnsmasqが実行を開始し、53を占有してアンバウンドが開始されないのはなぜですか?

Vaultが更新されました。

QEMU Managerを介して、最近ワイヤレスデバイスにマッピングされたNATネットワークを作成しました。計画は、仮想マシンにワイヤレスを使用し、ホストにイーサネットを使用することです。以前は、仮想マシンとホストのバインドを解除するのが一般的でした。

他のシステムに変更はありません。

これで、システムの再起動後にバインド解除が開始されず、ポート53を取得できないと文句を言います。 lsof を使って dnsmasq が 53 を使用したことがわかります。起動時に仮想ネットワークが起動しなくても、この問題が発生します。

クライアントを再構成する必要があるため、バインド解除されたポートを変更したくありません。

dnsmasqが起動するのはなぜですか?

最も簡単で最も影響の少ない構成変更は何ですか?

答え1

libvirt(virsh、virtmanagerなど)を使用していますか?

一部(ほとんど?すべて?)ディストリビューションはlibvirtとdnsmasqの間の依存関係を宣言します。たとえば、Debianではlibvirt-daemon-systemパッケージが推奨されますdnsmasq(たとえば、/etc/apt/apt.confで推奨パッケージのインストールを無効にしない限り、libvirt-daemon-systemをインストールするとパッケージがインストールされることを意味しますInstall-Recommends "False";)。

とにかくlibvirtを使用している場合は見てください/etc/libvirt/qemu/networks/autostart。または、より良い方法については、virsh以下のコマンドを参照してください。

ルールを含むファイル/シンボリックリンクがある場合dhcp(libvirtでネットワークを定義する主な理由)、libvirtはdnsmasqインスタンスを起動して仮想マシンにdhcp、dns、および/またはtftpサービスを提供します。この機能は通常、libvirtのインストール時にデフォルトで有効になります。

  1. 自動起動ネットワーク定義があることを確認します。

    virsh net-list --all
    
  2. もしそうなら、を使って内容を見ることができますvirsh net-dumpxml。たとえば、ネットワーク定義の名前が「default」の場合:

    virsh net-dumpxml default
    
  3. DHCPが有効になっている場合は、次の方法で停止できます(次の再起動時に自動的に起動しないようにする)。

    virsh net-destroy default             # stop it running NOW.
    virsh net-autostart --disable default # prevent it from auto-starting
    

PS:数年前、私のシステムでlibvirtが起動したdnsmasqを無効にしました。私はランニングunboundとISCを好みますdhcpd

関連情報