Linux:avahi: Unterschied zwischen den Versionen

Aus Alexander's Wiki
Zeile 48: Zeile 48:
</source>
</source>


== Ein paar Befehle ==
== Anwendungsbeispiele ==
<source lang="bash">
<?xml version="1.0" standalone='no'?> !--*nxml-*-->                                                          <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
 
<service-group>
  <name replace-wildcards="yes">Sense-Management Server</name>
    <service>
      <type>_sense-management-server._tcp</type>
      <port>10005</port>
    </service>
</service-group>
</source>
 
<source lang="bash">
<source lang="bash">
   avahi-browse -r -f _sense-management-server._tcp
   avahi-browse -r -f _sense-management-server._tcp
</source>
</source>
avahi-browse --all -r
avahi-browse --all -r

Version vom 10. November 2014, 23:21 Uhr

Installation

  sudo apt-get install avahi-daemon libnss-mdns


Konfiguration

Avahi wird über die Datei /etc/avahi/avahi-daemon.conf konfiguriert. In der Datei /etc/resolv.conf muss eine Domain konfiguriert sein, die nicht local heißen darf, da sich der Avahi-Service sonst deaktiviert.

  domain localnet
  search localnet
  nameserver 10.200.0.5

D-BUS

Wichtig ist hier die Option "enable-dbus". Damit ermöglicht man es Avahi, über den D-Bus mit anderen Programmen zu kommunizieren.

  enable-dbus=yes

Publishing

Dient zur Publizierung der bereitgestellten Avahi Dienste:

  disable-publishing=no

Damit lassen sich dann alle Geräte mit dem Gerätename.local ansprechen. Die Namensauflösung wird bei Desktop-Installationen meist mit installiert. Für andere Systeme muss man das oben angegebene Paket libnss-mdns zusätzlich installieren. Manche Netzwerkkarten leiten Multicast-Pakete nicht weiter, so dass die Avahi Namensauflösung nicht funktioniert. Dann hilft folgender Befehl:

  sudo ifconfig <interface> allmulti

IPv6

IPv6 kann zu Abbrüchen bei der Datenübertragung führen. Dann sollte man es lieber in der Datei /etc/avahi/avahi-daemon.conf abschalten:

  use-ipv6=no

Firewall

Avahi öffnet den Netzwerk-Port 5353 sowie einen weiteren Port im Bereich 32768 bis 61000.

  sudo netstat -tulpen | grep avahi

Verwendung von Avahi

Es empfiehlt sich avahi-utils zu installieren, die dann die Kommandos avahi-browse, avahi-publish und avahi-resolve bereitstellen:

  sudo apt-get install avahi-utils

Anwendungsbeispiele

<?xml version="1.0" standalone='no'?> !--*nxml-*-->                                                           <!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
  <name replace-wildcards="yes">Sense-Management Server</name>
    <service>
      <type>_sense-management-server._tcp</type>
      <port>10005</port>
    </service>
</service-group>
  avahi-browse -r -f _sense-management-server._tcp

avahi-browse --all -r