Hlavná stránka Späť do sekcie How-to

Automatické nastavenie sieťového profilu pomocou ifplugd a guessnet

Tento návod využijú hlavne užívatelia notebooku, ktorí sa s ním pohybujú vo viacerých sietiach.

Na začiatok si môžeme aspoň zbežne povedať na čo na nám slúžia nástroje ifplugd a guessnet. Takže ifplugd je vlastne daemon, ktorý nám zisťuje prítomnosť sieťového káblu (spojenia) a podľa toho automaticky nastavuje parametre sieťového rozhrania. Guessnet je utilitka, ktorá sa podľa testov a kritérií (budú popísané a vysvetlené v konfiguračnom súbore) snaží určiť, aký profil nastavenia siete sa má použiť. Ak by ste náhodou mali záujem o detajlnejšie informácie nie je nič jednoduchšie ako použiť man alebo google.

Inštalácia potrebného softvéru

  • už spomínaný ifplugd a guessnet (sudo aptitude install ifplugd guessnet)
  • a voliteľne program resolvconf na automatické nastavenie dns, o ktorom si povieme nižšie (sudo aptitude install resolvconf)

Súbor interfaces

Takže teraz si vytvoríme subor interfaces (každý môže použiť svoj obľúbený textový editor - vim, gedit, kate, ...). Najlepšie sa jeho obsah vysvetlí na príklade, takže:

auto lo
iface lo inet loopback

- definovanie loopback interface. Toto tam proste musí byť a ak niekto chce o tom vedieť viac tak google mu má čo povedať.

mapping hotplug
script grep
map eth0

- pridanie sieťového rozhrania eth0

mapping eth0
script guessnet-ifupdown
map default: none
map timeout: 3
map verbose: true
map ap1

- nastavenie parametrov guessnet pre eth0

  • map default = predvolený profil pre toto zariadenie, ktorý je najlepšie nechať nenastavený
  • map timeout = timeout pre testy
  • map verbose = výstup verbose na konzolu sa využije pri problémoch, ktoré dúfam nebudú
  • map ap1 = profil, s ktorý bude toto zariadenie využívať (može ich byť viacej)
mapping hotplug
script grep
map eth1

- to isté ako pri eth0

mapping eth1
script guessnet-ifupdown
map default: none
map timeout: 3
map verbose: true
map home
map school
map unknown

- to isté ako pri eth0

iface home inet dhcp
test1 peer address IP_adresa mac MAC_adresa
test2 peer address IP_adresa mac MAC_adresa

- nastavenie profilu pre dhcp. Takže ako vidno môžeme použiť viacero testov, podľa ktorých sa určí v akej sieti sa nachádzame. IP a MAC adresu sa musí testovať na zariadení, ktoré ju má pri dhcp v sieti statickú (stálu) a máme istotu, že pri teste bude dostupné, čiže napríklad v tomto prípade je to router a file server.

iface school inet static
address 192.168.1.23
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
test peer address 192.168.1.1 mac Mac_adresa

- nastavenie statického profilu. Mýslím, že tu sa netreba zbytočne rozpisovať, pretože tieto veci sú totožné s klasickým nastavením. Len dodám, že ak chceme aby sa nám dns nastavilo podľa súboru interfaces, musíme mať nainštalovaný už vyššie spomínaný program resolvconf.

iface ap1 inet static
address 192.168.100.107
gateway 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
dns-nameservers 192.168.100.1
test wireless essid Essid_siete

- nastavenie statického profilu pre wifi. Takže toto je vlastne to isté ako pri predchádzajúcom profile, akurát sa netestuje IP a MAC adresa, ale Essid sieti. Ak sa na bezdrátovej sieti používa šifrovanie, tak pre správne fungovanie je ešte potrebné mať nainštalovaný a nakonfigurovaný wpa_supplicat.

iface unknown inet dhcp

- nastavenie pre neznámu sieť. Takže ak by ste sa k takej dostali a náhodou tam beží dhcp, tak sa aktivuje tento sieťový profil. Ak by tá sieť mala statické parametre a nejak by sa ich podarilo zistiť, tak to znamená, že už nie je neznáma a môže sa pre ňu vytvoriť profil.

iface disconnected inet static
test missing-cable

- tento profil sa nastaví keď nie je pripojený žiaden kábel, alebo nie je v dosahu žiadna wireless sieť.

Súbor /etc/default/ifplugd

Tento nám slúži na nastavenie parametrov programu ifplugd a mal by vyzerať takto:

INTERFACES="eth0 eth1 ... ethX"
HOTPLUG_INTERFACES=""
ARGS="-f -u3 -d10 -w -I"
SUSPEND_ACTION="stop"

Na koniec ...

  • nakopírovať súbor interfaces do /etc/network/
sudo mv /etc/network/interfaces /etc/network/interfaces.old && sudo cp interfaces /etc/network/
  • reštartovať ifplugd daemona
sudo /etc/init.d/ifplugd restart

Upozornenie:
V pripade pouzivania tohto postupu je potrebne odinstalovat network-manager, alebo ine podobne “udelatko” !

Autor nie je žurnalistický, a ani wiki borec, takže dúfa, že to bude pochopiteľné. A samozrejme ak niekto bude mať nápad ako to upraviť do lepšej formy, tak nech sa činí.

 
kubuntu/tipy_triky/auto_network_config.txt · Posledná úprava: 2008/03/12 23:21 od krtko
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki