Difference between revisions of "Zeroconf"

From NMS
Jump to: navigation, search
(Spoštění)
(Konfigurace)
Line 36: Line 36:
  
 
===Konfigurace===
 
===Konfigurace===
 +
Avahi se konfiguruje pomocí XML souborů. Uvedu ukázkové nastavení, které používám. Mám naprosto jednoduchou topologii sítě: server - notebook. K serveru je připojena tiskárna (která se tváří jako síťová) a běží na něm FTP server. Ukážu, jak se dají publikovat tyto služby.
 +
 +
Nejdříve je nutné nastavit avahi-daemona, který je zodpovědný za veškerou komunikaci mDNS na každém stroji. Řekneme mu, které služby má ohlásit v lokální síti a pokud je zvolený stroj i jako brána do internetu, dá se nastavit, aby přeposílal adresy "klasických" DNS serverů ostatním pomocí mDNS. Bohužel zatím není možné použít pouze balíček Avahi v situaci, kdy se chcete připojít k síti s bránou do internetu, je nutné nastavení adresy implicitní brány na každém uzlu jiným způsobem (route add default gw 169.254.1.1), což znamená, že brána musí mít statickou adresu.
 +
 +
/usr/local/etc/avahi/avahi-daemon.conf
 +
[server]
 +
host-name=hofos-server
 +
domain-name=local
 +
#browse-domains=
 +
use-ipv4=yes
 +
use-ipv6=no
 +
check-response-ttl=no
 +
use-iff-running=yes
 +
enable-dbus=yes
 +
disallow-other-stacks=yes
 +
#allow-point-to-point=no
 +
 +
[wide-area]
 +
enable-wide-area=yes
 +
 +
[publish]
 +
disable-publishing=no
 +
disable-user-service-publishing=no
 +
add-service-cookie=no
 +
publish-addresses=yes
 +
publish-hinfo=yes
 +
publish-workstation=yes
 +
publish-domain=yes
 +
#publish-dns-servers=
 +
publish-resolv-conf-dns-servers=yes
 +
 +
[reflector]
 +
enable-reflector=no
 +
reflect-ipv=no
 +
 +
[rlimits]
 +
#rlimit-as=
 +
rlimit-core=0
 +
rlimit-data=4194304
 +
rlimit-fsize=0
 +
rlimit-nofile=30
 +
rlimit-stack=4194304
 +
rlimit-nproc=3
  
 
===Spouštění===
 
===Spouštění===

Revision as of 02:48, 29 September 2006

Úvod

Zeroconf, nebo také Zero Configuration Networking je soubor technik k automatické konfiguraci IP sítě bez nutnosti nastavování speciálních serverů (DHCP, DNS). Také je znám jako Automatic Private IP Addressing, AIPA. Toto umožňuje uživatelům snadné připojení počítačů, síťových tiskáren a dalších bez nutnosti znalostí IP síťování. Bez Zeroconfu, nebo podobných, musí uživatelé nastavit každý síťový prvek individuálně v závislosti na topologii sítě, apod.

IPv4 Link-Local Addressing

Multicast DNS

DNS Service Discovery

Implementace v různých systémech

Linux

Mac OS

Windows

Avahi

Avahi je systém objevování služeb na lokální síti. Je založeno hlavně na flexmdns implementaci mDNS od Lennarta Poetteringa, který zastavil vývoj svého projektu ve prospěch avahi. Tento software je možno stánhout ze stránek projektu.

Instalace

Avahi jsem instaloval ze zdrojových kódů na systému SuSE Linux 10.0. Je k dispozici standardní konfigurační script configure. Následující příkaz nakonfiguruje zdrojový kód:

./configure --prefix=/usr/local --disable-qt4 --disable-python --disable-mono

Musel jsem zakázat některé možnosti, protože SuSE 10.0 nemá potřebné knihovny.

Potom už standardně:

make

make install

ldconfig

Konfigurace

Avahi se konfiguruje pomocí XML souborů. Uvedu ukázkové nastavení, které používám. Mám naprosto jednoduchou topologii sítě: server - notebook. K serveru je připojena tiskárna (která se tváří jako síťová) a běží na něm FTP server. Ukážu, jak se dají publikovat tyto služby.

Nejdříve je nutné nastavit avahi-daemona, který je zodpovědný za veškerou komunikaci mDNS na každém stroji. Řekneme mu, které služby má ohlásit v lokální síti a pokud je zvolený stroj i jako brána do internetu, dá se nastavit, aby přeposílal adresy "klasických" DNS serverů ostatním pomocí mDNS. Bohužel zatím není možné použít pouze balíček Avahi v situaci, kdy se chcete připojít k síti s bránou do internetu, je nutné nastavení adresy implicitní brány na každém uzlu jiným způsobem (route add default gw 169.254.1.1), což znamená, že brána musí mít statickou adresu.

/usr/local/etc/avahi/avahi-daemon.conf [server] host-name=hofos-server domain-name=local

  1. browse-domains=

use-ipv4=yes use-ipv6=no check-response-ttl=no use-iff-running=yes enable-dbus=yes disallow-other-stacks=yes

  1. allow-point-to-point=no

[wide-area] enable-wide-area=yes

[publish] disable-publishing=no disable-user-service-publishing=no add-service-cookie=no publish-addresses=yes publish-hinfo=yes publish-workstation=yes publish-domain=yes

  1. publish-dns-servers=

publish-resolv-conf-dns-servers=yes

[reflector] enable-reflector=no reflect-ipv=no

[rlimits]

  1. rlimit-as=

rlimit-core=0 rlimit-data=4194304 rlimit-fsize=0 rlimit-nofile=30 rlimit-stack=4194304 rlimit-nproc=3

Spouštění

Před samotným spuštěním si ověřte, zda vám již neběží nějaká implementace mDNS na portu 5353! Pokud ano, tak po spuštění avahi-daemona budete uvítáni hláškou "Failed to create server: No suitable network protocol available". Např. SuSE 10.0 používá mdnsd implementaci Multicast DNS.

Teď již k použití. Spustíte jednoduše:

avahi-daemon

Odkazy

Aplikace v praxi - Bonjour