Kategória: Debian Linux

Zmenené: 21. september 2010

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áva siete v Debiane prekonala v poslednej dobe (od Lennyho po Squeeze) isté zmeny. Tou najväčšou je asi zavedenie démona na 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

Varovanie

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

Rada

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í“.

Tip

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.

Upozornenie

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?