Avahi

多播多個 mdns 名稱

  • June 14, 2021

我想要的是使用 avahi-daemon 多播多個名稱。這樣我就可以使用 domainA.local domainB.local 連接到它。

然後我可以使用 nginx 將這些地址重新路由到不同應用程序的不同 Web 界面。

是否可以以多播多個名稱的方式配置 avahi-daemon?

PS 不需要使用 avahi-daemon。如果有另一個具有此功能的程序,我很樂意切換。

研究和結果

所以按照咕嚕的建議,我首先嘗試了 avahi-aliases。它在儲存庫中,但似乎沒有在我的系統上正確安裝。根據說明應該在/etc/init.d/ 中安裝了一個腳本,但是沒有。

然後我給了咕嚕建議嘗試的另一個連結,這立即奏效了。它確實依賴於 python-avahi,只是需要在後台執行的 python 腳本的一個範例。我現在可以廣播 domainA.local、domainB.local 和 domainC.local 並與 nginx 結合使用,這會導致機器上的不同 Web 界面,但都可以在埠 80 上訪問。

更新

在對兩者進行了一些擺弄之後,我還發現 avahi-aliases 只能廣播子域。因此,如果您的電腦名是 elvispc,那麼 avahi-aliases 只能廣播 subdomainA.elvispc.local 和 subdomainB.elvispc.local,python 腳本將在其中廣播任何名稱。

一個麻煩的解決方案是在後台執行以下命令的多個實例:

avahi-publish -a -R whatever.local 192.168.123.1

更好的解決方案可能是使用 python-avahi 發布 cnames。參見例如https://github.com/airtonix/avahi-aliases>或<http://www.avahi.org/wiki/Examples/PythonPublishAlias

更新:

avahi wiki 似乎消失了。這是我發布的連結的存檔頁面:https ://web.archive.org/web/20151016190620/http://www.avahi.org:80/wiki/Examples/PythonPublishAlias

引用自:https://unix.stackexchange.com/questions/255353