Kategória: Debian Linux

Zmenené: 8. december 2008

Debian a sieť

Pri inštalácii distribúcie Debian GNU/Linux sa Vás inštalátor opýta na jednotlivé nastavenia siete, tieto nastaví a všetko funguje. Ak sa však pomýlite alebo neskôr zmeníte topológiu siete, je potrebné nastavenia zmeniť. Možností je viac.

Ručná úprava konfigurácie

Konfigurácia siete je uložená v konfiguračnom súbore interfaces, ktorý nájdete v adresári /etc/network/interfaces. Jeho obsah môže vyzerať napríklad takto:

# The loopback network interface
auto lo
iface lo inet loopback

# Primárne sieťové rozhranie
auto eth0
iface eth0 inet static
    hwaddress ether a1:b2:c3:d4:e5:f6
    address 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.253
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.0.254
    dns-search domov.skk

# druhé sieťové rozhranie
autoeth1
iface eth1 inet dhcp

Čo v tomto súbore možno vyčítať? Tak najprv počet a mená rozhraní. V tomto súbore sú definované tri rozhrania lo, eth0 a eth1, a všetky tri sú spúšťané automaticky, čo je definované časťou auto. Časť iface definuje typ rozhrania, možné sú vlastne tri druhy spätná slučka (loopback), statické nastavenie a dynamické nastavenie. Existujú aj ďalšie, ale budem sa venovať len týmto trom možnostiam.

Spätná slučka

Spätná slučka (lopback) je rozhranie, pomocou ktorého počítač komunikuje sám so sebou, pričom vôbec nepoužíva sieťovú kartu. Podľa štandardov je IP adresa spätnej slučky 127.0.0.1, preto ju netreba nastavovať. O určenie, že rozhranie lo je rozhranie spätnej slučky sa stará časť iface:

iface lo inet loopback

vidíte v ňom slovo iface, nasledované menom rozhrania (lo), rodinou adries IPv4 (inet) a metódou spätnej slučky (loopback). Definícia spätnej slučky nemá žiadne ďalšie nastavenia.

Dynamické nastavenie

Dynamické nastavenie sieťových parametrov je možné robiť vtedy, keď máte v sieti DHCP (resp. BOOTP) server. V dnešnej dobe už skôr DHCP server, ktorý je novší a poskytuje pokročilejšie možnosti ako BOOTP, pričom je plne kompatibilný s BOOTP.

V tomto nastavení stačí v časti iface zadať meno rozhrania, rodinu adries a voľbu dhcp. Dynamické nastavenie žiadne ďalšie voľby nepoužíva:

iface eth1 inet dhcp

Statické nastavenie

Toto nastavenie sa používa na nastavenie statickej, čiže pevnej IP adresy rozhrania a ďalších potrebných parametrov. V časti iface túto možnosť nastavuje voľba static:

iface eth0 inet static

Toto nastavenie už potrebuje aj ďalšie voľby:

  • address – IP adresa rozhrania
  • netmask – maska siete
  • hwaddress – MAC adresa rozhrania
  • network – IP adresa siete
  • broadcast – IP adresa všesmerového vysielania
  • gateway – IP adresa predvolenej brány

Pričom povinné sú len nastavenia address a netmask, adresu siete a všesmerovú adresu systém dokáže dopočítať z týchto dvoch údajov. Nastavenie v súbore /etc/network/interfaces poskytuje aj ďalšie možnosti, ďalšie informácie hľadajte v manuálovej stránke interfaces(5).

Ak zmeníte nastavenia siete v konfiguračnom súbore interfaces, prejavia sa zmeny až po reštartovaní siete:

invoke-rc.d networking restart

Nastavenie pomocou ifconfig

Na konfiguráciu sieťového rozhrania je určený nástroj ifconfig. Ak ho spustíte bez parametrov, príkaz vypíše nastavenia všetkých všetkých rozhraní, napríklad:

ifconfig
eth1      Zapouzdření:Ethernet  HWadr 00:0C:29:95:03:FF
          inet adr:192.168.0.10  Všesměr:192.168.0.255 Maska:255.255.255.0
          inet6-adr: fe80::20c:29ff:fe95:3ff/64 Rozsah:Linka
          AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST  MTU:1500  Metrika:1
          RX packets:98 errors:0 dropped:0 overruns:0 frame:0
          TX packets:129 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:1000
          RX bytes:10403 (10.1 KiB)  TX bytes:10254 (10.0 KiB)
          Vstupně/Výstupní port:0x2040 Paměť:e8920000-e8940000

lo        Zapouzdření:Místní smyčka
          inet adr:127.0.0.1 Maska:255.0.0.0
          inet6-adr: ::1/128 Rozsah:Počítač
          AKTIVOVÁNO SMYČKA BĚŽÍ  MTU:16436  Metrika:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          kolizí:0 délka odchozí fronty:0
          RX bytes:1332 (1.3 KiB)  TX bytes:1332 (1.3 KiB)

Výpis poskytuje vyčerpávajúce informácie o nastavení rozhrania, vrátane štatistík prijatých (RX) a odoslaných (TX) paketov, bajtov, či štatistiku kolízií. Ak ako parameter zadáte meno rozhrania, príkaz zobrazí informácie len o zadanom rozhraní.

Pomocou tohoto príkazu môžete aj nastaviť parametre rozhrania, ako napr. IP adresu a sieťovú masku:

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

Týmto nastavením nastavíte IP adresu rozhranie eth0 na 192.168.0.1 so sieťovou maskou 255.255.255.0 a rozhranie zároveň zapnete. Ďalšie podrobnosti nájdete v manuálovej stránke ifconfig(1).

Sieťové rozhranie eth1 vypnete príkazom:

ifconfig eth1 down

Nastavenie pomocou nástroja ip

Nástroj ip je novší ako ifconfig a jeho použitie je viacúčelové. Môžete pracovať nie len s nastavením rozhrania ale aj smerovania a podobne. Jeho možnosti môžete skúmať pomocou poskytnutého pomocníka:

ip help

a potom pomocou pomocníka jednotlivých objektov, napríklad:

ip addr help

Výpis nastavení rozhraní získate zadaním:

ip address show
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:95:03:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global eth1
    inet6 fe80::20c:29ff:fe95:3ff/64 scope link
    valid_lft forever preferred_lft forever

Rovnako ako pri ifconfig môžete zadať meno rozhrania a obmedziť tak výpis na príslušné rozhranie:

ip -s link show eth1
2: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:95:03:ff brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    11857    108   0    0   0    0
    TX: bytes  packets  errors  dropped carrier collsns
    10490      133      0       0       0       0

Parametre sieťového rozhrania môžete nastaviť pomocou:

ip address add 192.168.0.1/24 brd + dev eth1

čím nastavíte IP adresu rozhrania eth1 na 192.168.0.1 s 24-bitovou sieťovou maskou (255.255.255.0) a automatické nastavenie všesmerovej adresy (voľba brd +).

Na odstránenie sieťovej adresy/rozhrania, zadajte:

ip address del 192.168.0.1 dev eth1

Spustenie a zastavenie rozhrania

Keď už máte parametre rozhrania nastavené môžete ho zapnúť, respektíve vypnúť, pomocou príkazov ifup a ifdown:

ifup eth1

alebo:

ifdown eth1

Nastavenie prekladu mien

Zavedenie systému doménových mien bolo veľkým krokom k rozšíreniu internetu. Úlohou tohoto prekladu je preklad mena počítača na jeho IP adresu. V Linuxe (nakoniec vo Windows tiež) existuje súbor, ktorý uchováva lokálny zoznam mien a IP adries počítačov, a nájdete ho v /etc/hosts. Na preklad mien v internete sa už dávno nepoužíva a nahradil ho systém DNS (Domain Name Service), ktorého konfigurácia je v súbore /etc/resolv.conf a môže vyzerať napríklad takto:

search skk
nameserver 192.168.0.253

Uvedené dva parametre nie sú jediné, ale sú plne postačujúce. Prvý parameter nastavuje lokálnu doménu, ktorá bude prehľadávaná (skk je moja lokálna doména) a parameter nameserver udáva IP adresu menného servera. V tomto súbore môžete mať nastavené až tri adresy menných serverov. Ak máte nainštalovaný vlastný menný server, nastavte tu nameserver 127.0.0.1. Ak vás zaujímajú ďalšie možnosti, pozrite si manuálovú stránku resolv.conf(5).

Nastavenie statického smerovania

Nastavenie statických pravidiel smerovanie je možné viacerými spôsobmi. Začnem pomocou príkazu ip:

ip route add 192.168.55.0/24 via 192.168.0.253 dev eth1

čím nastavíte smerovanie do siete 192.168.55.0/24 cez rozhranie eth1 s IP adresou 192.168.0.253. Rovnaký cieľ dosiahnete aj pomocou staršieho príkazu route:

route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253 dev eth1

Výpis nastavených smerovacích pravidiel získate zadaním príkazu route bez parametrov alebo pomocou novšieho ip:

ip route show

Môžete tiež vyskúšať nastavenie, ktoré automaticky pridá smerovacie pravidlo pri zapnutí rozhrania a po jeho vypnutí ho zase odstráni. Toto správanie môžete dosiahnuť pridaním do súboru /etc/network/interfaces, do konfigurácie príslušného rozhrania, napríklad:

auto eth1
iface eth1 inet static
    ...
    up route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253
    down route del -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253

Veľa šťastia s nastavovaním siete.