Linux:avahi: Unterschied zwischen den Versionen

Aus Alexander's Wiki
(Die Seite wurde neu angelegt: „= Installation = <source lang="bash"> sudo apt-get install avahi-daemon </source>“)
 
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Installation =
= Installation =
<source lang="bash">
<source lang="bash">
   sudo apt-get install avahi-daemon  
   sudo apt-get install avahi-daemon libnss-mdns
</source>
</source>
= 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.'''
<source lang="bash">
  domain localnet
  search localnet
  nameserver 10.200.0.5
</source>
== D-BUS ==
Wichtig ist hier die Option "enable-dbus". Damit ermöglicht man es Avahi, über den D-Bus mit anderen Programmen zu kommunizieren.
<source lang="bash">
  enable-dbus=yes
</source>
== Publishing ==
Dient zur Publizierung der bereitgestellten Avahi Dienste:
<source lang="bash">
  disable-publishing=no
</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:
<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:
<source lang="bash">
  sudo ifconfig <interface> allmulti
</source>
== 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:
<source lang="bash">
  use-ipv6=no
</source>
== Firewall ==
Avahi öffnet den Netzwerk-Port 5353 sowie einen weiteren Port im Bereich 32768 bis 61000.
<source lang="bash">
  sudo netstat -tulpen | grep avahi
</source>
= Verwendung von Avahi =
Es empfiehlt sich avahi-utils zu installieren, die dann die Kommandos ''avahi-browse'', ''avahi-publish'' und ''avahi-resolve'' bereitstellen:
<source lang="bash">
  sudo apt-get install avahi-utils
</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