mdns

原始碼 首頁

啟用方式
mdns:github.com/openshift/coredns-mdns

mdns - 通過正常的 DNS 提供 '.local' 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 記錄後,才會回應任何 SRV 記錄。 minimum SRV records 預設為 3

example.com {
    mdns example.com 2
}

這表示任何 SRV 記錄必須至少存在兩個相同類型的 SRV 記錄才會返回。如果只找到一個記錄,則對該類型的 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 查詢時都會動態執行介面查找,因此如果位址移至不同的介面,外掛程式會自動切換到新的介面。