Avahi: Ubuntu 22.04 mDNS/Bonjour Gateway mit VLAN´s im LXC Container
Avahi als mDNS-Gateway im LXC-Container: So lässt sich unter Ubuntu 22.04 Bonjour zwischen VLANs routen, ohne separate Hardware. Ein schlanker Weg, Dienste wie AirPrint oder Sonos über Netzgrenzen hinweg verfügbar zu machen.
Wenn man einen Apple TV oder Drucker in einem Netzwerk betreibt, stößt man oft an die grenze von mDNS, da mDNS Only Single Subnet arbeitet. Wenn man nun in Unterschiedlichen VLAN´s diese Services verfügbar machen möchte, so muss man ein mDNS Gateway eirichten.
LXC Vorbereiten
Wenn man das Gateway in einem LXC unter proxmox erstellen möchte, muss man zuvor eine Datei anlegen, damit man die Netzwerkeinstellungen selbstständig verwalten kann.
touch /etc/network/.pve-ignore.interfacesInstallation von Avahi
Zunächst installiert man Avahi. Dies kann direkt über den Paketmanager erledigt werden.
apt install avahi-daemon -yNun muss noch die Konfiguration angepasst werden. Dafür muss der der Reflektor aktiviert werden.
nano nano /etc/avahi/avahi-daemon.confIn der Datei wird folgende Zeile geändert:
[reflector]
#enable-reflector=noDiese Zeile muss unkommentiert werden auf yes gesetzt werden.
[reflector]
enable-reflector=yesDanach wird der Service neu gestartet.
systemctl restart avahi-daemonVLAN´s einbinden
Für die VLAN Konfiguration wird nun ein Netplan erstellt.
nano /etc/netplan/50-cloud-init.yamlIn dieser Datei wir zu nächst eine statische IPv4 für das Interface eth0 angelegt. Die VLAN´s werden auf das Interface eth0 gelinkt.
network:
version: 2
ethernets:
eth0:
dhcp4: false
optional: true
addresses:
- 172.0.0.3/16Danach werden die VLAN´s eingefügt. Diese sollen sich über DHCP selber eine IPv4 Adresse ziehen.
network:
version: 2
ethernets:
eth0:
dhcp4: false
optional: true
addresses:
- 172.0.0.3/16
vlans:
vlan10:
id: 10
link: eth0
dhcp4: true
vlan20:
id: 20
link: eth0
dhcp4: true
vlan30:
id: 30
link: eth0
dhcp4: true
vlan40:
id: 40
link: eth0
dhcp4: true
vlan50:
id: 50
link: eth0
dhcp4: trueÜberprüfung
Damit man nun prüfen kann ob die Weiterleitung funktioniert gibt man folgenden Befehl aus:
avahi-browse -aDann wird eine Liste ausgegeben mit den Interfacen auf dem die Geräte gefunden wurden.