Erinevus lehekülje "Avahi kasutamine Debian Lennyga" redaktsioonide vahel

Allikas: Kuutõrvaja
(mDNS kliendi seadistamine)
(mDNS kasutamine)
112. rida: 112. rida:
 
   loomaaed.local 169.254.184.10
 
   loomaaed.local 169.254.184.10
  
===mDNS kasutamine===
+
===mDNS abil teenuste kasutamine===
 +
 
 +
Selleks, et mDNS abil publitseeritud teenuseks saaks võrgus kasutada tuleb nad esmalt avahi-daemon abil võrku publitseerida.
 +
 
 +
====Teenuste publitseerimine====
 +
 
 +
 
 +
 
 +
====Publitseeritud teenuste kasutamine====
 +
 
 +
Üldiselt saab võrgus olevaid arvuteid ja teenuseid küsida avahi-discover paketist paigaldatud programmiga avahi-discover
 +
 
 +
  $ avahi-discover
 +
 
 +
[[Pilt:avahi-1.gif]]
  
 
===Avahi utiliidid===
 
===Avahi utiliidid===

Redaktsioon: 9. august 2009, kell 20:20

Sissejuhatus

Avahi http://avahi.org/ on vaba Apple Zeroconf http://en.wikipedia.org/wiki/Zeroconf spetsifikatsiooni implementatsioon, mille kasutamine on levinud vabades operatsioonisüsteemides ja mida märkimisväärselt tunnustab ka Apple ise.

Avahi kasutamise eesmärk on lihtsustada seadmete, eelkõige nö mobiilsete töökohaarvutite, võrku seadistamist ning teenuste leidmist võrgust. Tavaliselt peetakse võrgu all silmas kohtvõrku ja teenuste all nö lõppkasutajale olulisi teenuseid, nt võrgust printeri leidmine.

Avahi pakub sellist funktsionaalsust

  • IPv4LL (IPv4 Link-Local) - võrku ühendatud arvutid nö automaatselt seadistavad ennast käima samasse võrku
  • mDNS (multicast DNS) - nimede päri ja pöördteisenduste lahendamine
  • DNS-SD (DNS Service Discovery) - teenuste kohta info levitamine

Kui Avahit ei ole kavatsus otseselt kasutada, on kasulik olla sellega kursis, et olla teadlik asjaomastest turvaprobleemidest ning avastada nt võrgus anomaaliaid

  • arvuti võrguseade muudab ip aadressi
  • võrgus esinevad nö imelikud multicastid
  • arvutid tutvustavad ja pakuvad teenuseid, mida nad ei peaks tutvustama ega pakkuma

Arvuti võrguühenduse seadistamine

Avahi abil sobib võrguühendust seadistada, kui võrgus puuduvad muud automaatsed võimalused nt DHCP server ja käsitsi mingil põhjusel on seda ebasobiv teha. Nt nö ad-hoc võrku mitme arvuti automaatseks ühendamiseks.

Tavaliselt kasutatakse avahi-autoipd http://avahi.org/wiki/AvahiAutoipd programmi mitte iseseisvalt vaid DHCP kliendi lisana, st teda kasutatakse siis kui DHCP serveri ei ole kasutatav.

avahi-autoipd omistab seadmetele aadresse nn local-link kasutuseks eraldatud vahemikust 169.254.0.0/16 (tundub, et see on see sama vahemik, millest kasutavad ka Windows operatsioonisüsteemid võrguseadmete aadresse, kui võrk on nö katki).

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install avahi-autoipd

Kui kasutada läbi DHCP kliendi, siis on eelduseks DCHP kliendi (nt pakett dhcp3-client) olemasolu ning /etc/network/interfaces peab sisaldab võrgukaardi sellist seadistust

 auto eth0
 iface eth0 inet dhcp

Tulemusena võrku ühendatud arvuti käivitamisel omandab võrguseade local-link aadressi

 eth0:avahi Link encap:Ethernet  HWaddr 70:01:68:01:01:51  
         inet addr:169.254.184.10  Bcast:169.254.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Otseselt saab nt testimiseks käivitada avahi-autoipd selliselt, kuid eelnevalt tuleb ip aadress eemaldada vastavalt võrguseadmelt, nt ip programmi abil

 # avahi-autoipd eth0
 Found user 'avahi-autoipd' (UID 104) and group 'avahi-autoipd' (GID 109).
 Successfully called chroot().
 Successfully dropped root privileges.
 Starting with address 169.254.184.10
 Callout BIND, address 169.254.184.10 on interface eth0
 Successfully claimed IP address 169.254.184.10

ning ifconfig väljundis on näha seade

 eth0:avahi Link encap:Ethernet  HWaddr 70:01:68:01:01:51  
         inet addr:169.254.184.10  Bcast:169.254.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

mDNS

mDNS kasutab andmevahetuseks multiedastust (ingl. k. multicast), vaikimisi address 224.0.0.251 ja port 5353. Vaikimis moodustatakse nimed domeeni .local alla, nt loomaaed.local.

mDNS kasutavatel osalised arvutid on tavaliselt samaaegselt nii mDNS nö serverid kui ka kliendid.

mDNS serveri seadistamine

Üle võrgu tulevatele mDNS päringutele vastab avahi-daemon

 # netstat -anp | grep 5353
 udp        0      0 0.0.0.0:5353            0.0.0.0:*                           2664/avahi-daemon: 
 udp6       0      0 :::5353                 :::*                                2664/avahi-daemon

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install avahi-daemon

Olulised seadistusfailid on

  • /etc/avahi/avahi-daemon.conf
  • /etc/avahi/hosts
  • /etc/avahi/services
  • /etc/default/avahi-daemon

Kui mingil põhjusel on vaja arvutis tutvustada võrgule mõnda muud nime-aadressi vahelist seost, sobib seda teha /etc/avahi/hosts faili abil

mDNS liiklus on multicast liiklus ja paistab võrgus sarnaselt (konkreetselt on kasutatud Xen virtuaalseid arvuteid)

17:45:26.731223 70:01:68:01:01:51 > 01:00:5e:00:00:fb, ethertype IPv4 (0x0800), \

 length 121: 169.254.184.10.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) PTR[|domain]

17:45:26.972295 70:01:68:01:01:51 > 01:00:5e:00:00:fb, ethertype IPv4 (0x0800), \

 length 133: 169.254.184.10.5353 > 224.0.0.251.5353: 0 [2q] [2n] ANY (QM)? 246.2.254.169.in-addr.arpa.[|domain]

mDNS kliendi seadistamine

mDNS kliendiks olemiseks on tarvis lisada süsteemi NSSile mDNS tugi

 # apt-get install libnss-mdns

ning kasutada failis /etc/nsswitch.conf rida

 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Praktiliselt paigaldatakse aga ka mDNS serveri osa, st avahi-daemon pakett ning muudetakse /etc/nsswitch.conf faili.

Kui võrgus on mõni mDNS server veel, saab küsida nt nii (NB! dig ja nslookup ei kasuta NSSi) päriteisendust

 # getent hosts loomaaed.local
 169.254.184.10 loomaaed.local

ning pöördteisendust

 # getent hosts 169.254.184.10
 loomaaed.local 169.254.184.10

mDNS abil teenuste kasutamine

Selleks, et mDNS abil publitseeritud teenuseks saaks võrgus kasutada tuleb nad esmalt avahi-daemon abil võrku publitseerida.

Teenuste publitseerimine

Publitseeritud teenuste kasutamine

Üldiselt saab võrgus olevaid arvuteid ja teenuseid küsida avahi-discover paketist paigaldatud programmiga avahi-discover

 $ avahi-discover

Avahi-1.gif

Avahi utiliidid

Paketee avahi-utils sisaldab mitmesuguseid utiliite, mida saab nt diagnostikaks kasutada

 # apt-get install avahi-utils

IPv4 nime aadressiks lahendamiseks sobib öelda

 # avahi-resolve -4 -n loomaaed.local
 loomaaed.local 169.254.184.10   

Avahi-võimeline tarkvara

Kasulikud lisamaterjalid