Linux:avahi: Unterschied zwischen den Versionen

Aus Alexander's Wiki
K
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:


= Konfiguration =
= Konfiguration =
Avahi wird über die Datei ''/etc/avahi/avahi-daemon.conf'' konfiguriert.
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.'''
<source lang="bash">
  domain localnet
  search localnet
  nameserver 10.200.0.5
</source>


== D-BUS ==
== D-BUS ==
Zeile 19: Zeile 24:
   disable-publishing=no
   disable-publishing=no
</source>
</source>
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.
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:
<source lang="bash">
  sudo apt-get install libnss-mdns
</source>
Manche Netzwerkkarten leiten Multicast-Pakete nicht weiter, so dass die Avahi Namensauflösung nicht funktioniert. Dann hilft folgender Befehl:
Manche Netzwerkkarten leiten Multicast-Pakete nicht weiter, so dass die Avahi Namensauflösung nicht funktioniert. Dann hilft folgender Befehl:
<source lang="bash">
<source lang="bash">
Zeile 42: Zeile 50:
   sudo apt-get install avahi-utils  
   sudo apt-get install avahi-utils  
</source>
</source>
== 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>
Dann kann man
<source lang="bash">
  avahi-browse -r -f _sense-management-server._tcp
</source>
avahi-browse --all -r

Aktuelle Version vom 11. November 2014, 08:01 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:

  sudo apt-get install libnss-mdns

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>

Dann kann man

  avahi-browse -r -f _sense-management-server._tcp

avahi-browse --all -r