設定されたインターフェイスの1つが切断されたときにdnsmasqが完全に失敗するのを防ぐ方法は?

設定されたインターフェイスの1つが切断されたときにdnsmasqが完全に失敗するのを防ぐ方法は?

私はArch Linuxでdnsmasqを実行しており、ルータには有線、無線、DMZ、および管理インターフェイス用の4つのLANポートがあります。 dnsmasqは私のLAN用のDHCPサーバーで、DNS機能を提供します。

私は常にLANポート4つすべてに接続していません。ただし、デバイスを再起動するときは、デバイスが接続されているポート、特に有線LANに正しく接続されることを望みます。

私の設定は次のとおりです。

dnsmasqが指定されたインターフェイス(およびループバック)でのみDHCPおよびDNS要求を受信できるようにするには、ここでインターフェイス名を指定します(例:eth0)。複数のインターフェイスに対してこの行を繰り返します。

interface=eth0
interface=eth1
interface=eth2
interface=eth3

私がこの構成を使用する理由はdnsmasq が WAN ポートで実行されたくありません。、この場合はeth4と呼びます。

私の問題は、たとえばeth1にケーブルを接続せずにシステムを再起動した場合、dnsmasqはeth0または他の有効なインターフェイスを使用し続けないことです。

Sep 16 14:16:10 router systemd[1]: Starting A lightweight DHCP and caching DNS server...
Sep 16 14:16:10 router dnsmasq[876]: dnsmasq: syntax check OK.
Sep 16 14:16:10 router dnsmasq[879]: dnsmasq: unknown interface eth1
Sep 16 14:16:10 router dnsmasq[879]: unknown interface eth1
Sep 16 14:16:10 router dnsmasq[879]: FAILED to start up
Sep 16 14:16:10 router systemd[1]: dnsmasq.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Sep 16 14:16:10 router systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
Sep 16 14:16:10 router systemd[1]: Failed to start A lightweight DHCP and caching DNS server.

その後、私のLANにはDHCPサーバーがなく、dnsmasqが提供する他の主な機能がありませんでした。これは、手動で変更して設定ファイルを編集するまで、一時的で望ましくない変更です。私の場合、有効な/接続されたインターフェイスのみを使用してdnsmasqを起動させる方法はありますか?

ベストアンサー1

コメントに答えたように、オプションの完全な説明は次のとおりです。DNS 手動):

-I, -- Except-interface= 指定されたインタフェースを受信しません。 --listen-address --interface オプションと --book-interface オプションの順序は重要ではなく、 --Exception-interface オプションは常に他のオプションよりも優先されます。 --listen-address インターフェイスタグの説明がここに適用されます。

おすすめ記事