NetworkManager a Auto eth0
Som spokojný používateľ novej generácie KDE, označovanej KDE4. Netvrdím, že nemá chyby, ale chyby patria k životu, a zatiaľ všetky boli riešiteľné. Jediná vec, ktorá ma trápila už niekoľko mesiacov, bola správa drôtovej siete, kde KDE vytrvalo ignorovalo moje nastavenie a vždy sa vracalo k východziemu stavu.
Správa siete v Debiane
Správy siete v Debiane prekonala v poslednej dobe (od Lennyho po Squeeze) isté zmeny. Tou najväčšou je asi zavedenie démona pre správu siete (Network Manager alebo Wireless Interface Connection). K dispozícii je aj starý známy ifupdown. V zmysle Referenčnej príručky Debianu, sú tieto démony predurčené najmä do prostredia notebookov a iných mobilných zariadení a nemajú byť používané v serverovom nastavení. Ja ich nepoužívam ani na stolných počítačoch.
Oba démony plnia viac-menej rovnakú funkciu, a to poskytnúť jednoduché riešenie nastavenia sieťových rozhraní, uchovávanie týchto nastavení a ich jednoduchú zmenu. Pričom všetky tieto úlohy umožňujú aj obyčajným používateľom, teda nevyžadujú práva superpoužívateľa root – na rozdiel od nástroja ifupdown, ktorý rieši nastavenia siete na úrovni celého systému, a to len správcovi systému.
Použitie Network Manager
V ďalšom sa zameriam na použitie démona Network Manager, pretože Wicd nepoužívam a ani sa nechystám.
Pri prechode na Network Manager (NM) je dobré vedieť niekoľko vecí. Asi najdôležitejšou z nich je: "Zabudnite na interfaces"! Mám na mysli súbor /etc/network/interfaces, v ktorom sa nastavujú rozhrania pre systém ifupdown. V ideálnom prípade stačí mať v tomto súbore len definíciu rozhranie lo:
auto lo
iface lo inet loopback
V prípade, že v tomto súbore ponecháte aj definíciu iných rozhraní, nič sa nestane, len tieto rozhrania nebudú spravované prostredníctvom NM, hoci niektoré definície rozhrania v tomto súbore môžu byť môžu. Patrí medzi nich:
-
auto <iface> -
allow-hotplug <iface> -
iface <iface> inet dhcp
Všetky ostatné nastavenia v tomto súbore zabránia tomu, aby mohlo byť rozhranie spravované prostredníctvom NM.
Okrem nastavení v súbore /etc/network/interfaces je potrebná ešte jedna vec, a to členstvo v skupine netdev. Používateľ vytvorený pri inštalácii je automaticky do tejto skupiny zaradený, ak vytvárate používateľov pomocou štandardných nástrojov KDE (alebo Gnome), mal by byť v tej skupine tiež, ak nie, použite:
addgroup <login> netdev
Konfigurácia NM je v súbore /etc/NetworkManager/NetworkManager.conf a za normálnych okolností v ňom nie je potrebné nič meniť.
Spolupráca NM a ifupdown
Napriek tomu, čo som písal vyššie, existuje aj možnosť spravovať sieťové pripojenia, ktoré sú definované v súbore interfaces. Postará sa o to voľba managed v konfiguračnom súbore NM. Táto voľba môže mať hodnotu false (východzia hodnota) alebo true. Ak potrebujete mať nastavenia rozhrania tam i tam, nastavte túto voľbu na true a reštartuje NM.
Aplikácia zmien
V prípade, že urobíte zmeny, či už v súbore /etc/NetworkManager/NetworkManager.conf alebo v súbore /etc/network/interfaces, je potrebné reštartovať NM pomocou:
service network-manager restart
Takže zabudnite na:
service networking restart
...samozrejme ak nepoužívate systém ifupdown, v takom prípade upozornenie o zastaranosti jednoducho ignorujte. Alebo, ešte lepšie, použite kombináciu príkazov:
ifdown eth0; ifup eth0
Pri reštarte NM mi vždy spadne KNetworkManager, v takom prípade stačí v "Crash dialógu" zvoliť reštartovať...
Problém v KDE
Spomínaný problém s pádom KNetworkManager nie je jediný a dokonca ani nie je dôležitý. Keď si svoje nastavenia vyladíte, nepotrebujete NM reštartovať. Väčší problém je ten, že nástroj nastavenia siete v KDE zatiaľ nepodporuje zmenu nastavení tzv. "systémových spojení".
Systémové spojenia sú nastavenia, ktoré sú platné pre celý systém.
Vlastne ani to by nebol problém, keby... Keby NM nevytváral predvolené systémové spojenie pre káblovú sieť, nazvané "Auto eth0" a ja som niekoľko mesiacov nevedel prísť na to, ako sa ho zbaviť. V čom je problém? Vždy po prihlásení (alebo odpojení/pripojení kábla), systém jednoducho ignoroval moje nastavenie a predvolene nastavil spomínané "Auto eth0" (pre moje rozhranie eth0), ktorého nastavenia som nemohol zmeniť. Jediné, čo som mohol,bolo vždy ručne vybrať moje nastavenie z kontextového menu NM.
V prípade WiFi sa tento problém nevyskytuje.
Nakoniec je riešenie jednoduché, našiel som ho v emailovej konferencii NM a spočíva v pridaní voľby no-auto-default a MAC adresy rozhrania do konfiguračného súboru NM, napríklad takto:
[main] plugins=ifupdown,keyfile no-auto-default=XX:YY:ZZ:cd:ed:c0 [ifupdown] managed=false
Ostáva reštartovať NM a moje nastavenie je automaticky vybrané. Jednoduché, že?

