説明
このプラグインはローカルネットワークから mDNS レコードを読み取り、それらのレコードに基づくクエリに応答します。
mDNS レコードを標準の DNS サーバーを通じてアクセス可能にすることで、mDNS 非対応アプリケーションに mDNS レコードを提供できます。つまりアプリケーションは mDNS を認識しません。
構文
mdns example.com [minimum SRV records] [filter text] [bind address]
例
このプラグインを使用する前提条件として、mDNS レコードをブロードキャストするシステムがローカルネットワークに存在します。`.local` ドメインは設定されたドメインに置換されることに注意してください。たとえば、下記の設定では `test.local` は `test.example.com` になります。
レコードのドメインを指定します。
example.com {
mdns example.com
}
`dig` でテストします。
dig @localhost baremetal-test-extra-1.example.com
;; ANSWER SECTION:
baremetal-test-extra-1.example.com. 60 IN A 12.0.0.24
baremetal-test-extra-1.example.com. 60 IN AAAA fe80::f816:3eff:fe49:19b3
`minimum SRV records` が設定の場合はプラグインは、SRV レコードを最低でもその数になるまで待機し、その後に応答します。`minimum SRV records` のデフォルトは `3` です。
example.com {
mdns example.com 2
}
つまり、SRV レコードがいくつか返されるためには、指定されたタイプの SRV レコードが最低でも 2 つ存在する必要があります。レコードが 1 つしか見つからない場合、そのタイプの SRV レコードに対するリクエストには結果が返されません。
`filter text` が設定の場合は、サービス名に指定された文字が含まれていない mDNS レコードはすべて無視されます。このため、プラグインで使用することを想定していない mDNS サービスがアドバタイズされる環境でプラグインを使用できます。`filter text` が設定されていない場合、すべてのレコードが処理されます。
example.com {
mdns example.com 3 my-id
}
この設定は、サービス名に文字列「my-id」が含まれない mDNS レコードはすべて無視します。
`bind address` が設定の場合は、プラグインはそのインターフェースにのみ mDNS トラフィックを送信します。そのため、望ましくないインターフェースに対してマルチキャストパケットを送信することはありません。フィルタを設定せずに `bind address` を使用する場合は、`filter text` を「」に設定します。
example.com {
mdns example.com 3 "" 192.168.1.1
}
この設定は、`192.168.1.1` アドレスが割り当てられたインターフェースにのみマルチキャストパケットを送信します。インターフェースのルックアップは mDNS クエリが送信されるたびに動的に行われます。そのため、アドレスが別のインターフェースに移動した場合、プラグインは自動的に新しいインターフェースに切り替わります。