Omrežne nastavitve v Linuxu

Objavljeno: 5.6.2006 20:50 | Avtor: Dalibor Kranjčič | Kategorija: Programer | Revija: Junij 2004

Novejše distribucije Linuxa omogočajo uporabnikom preprosto spreminjanje omrežnih nastavitev v okenskem okolju. Poznamo pa tudi izviren in nekoliko zahtevnejši način postavljanja omrežja v tekstovnem načinu neposredno s sistemskima programoma ifconfig in route. Na voljo so tudi številne omrežne datoteke, ki se razlikujejo glede na distribucijo.

Linux pri zagonu naloži lastno podobo z diska v pomnilnik. Tam jo razširi in izvede vzpostavitev datotečnega sistema, upravnika pomnilniškega prostora in drugih ključnih delov sistema. Kot zadnji korak jedro Linuxa požene program init, ki prebere postavitveno datoteko /etc/initab. Ta datoteka usmeri program init v izvajanje zagonskih datotek v mapi /etc/rc.d, skupaj z datoteko za zagon omrežnih nastavitev /etc/rc.d/init.d/network.

Tak zagon omrežja je značilen za distribucijo Red Hat Linux. Pri distribuciji Suse Linux je datoteka za zagon omrežnih nastavitev v mapi /etc/init.d. Pravzaprav je na voljo bližnjica, ki mapo /etc/rc.d preusmeri v mapo /etc/init.d.

Datoteka za zagon omrežnih nastavitev izvaja številne naloge: nastavlja okoljske spremenljivke za identifikacijo računalnika, omogoča vklop/izklop izbir IP usmerjanja (forwarding) in drobitve (fragmentation), izvaja namestitev privzetega usmerjevalnika (router) ter aktivira omrežne naprave z uporabo sistemskih programov ifconfig in route.

V datotečnem sistemu so številne druge omrežne datoteke, ki jih za svoje delovanje potrebuje datoteka za zagon omrežnih nastavitev. Te uporabnikom omogočajo vnašanje podatkov: naslov za IP, omrežna maska, privzeti prehod (gateway), imenski strežnik (DNS server) in podobno. Med omrežnimi datotekami različnih distribucij Linuxa so manjše razlike. V nadaljevanju bomo spoznali omrežne datoteke za distribuciji Red Hat in Suse Linux.

Omrežne datoteke

/etc/sysconfig/network (Red Hat Linux) - določa osnovne omrežne nastavitve:

#Datoteka /etc/sysconfig/network

NETWORKING=yes

FORWARD_IPV4= false

HOSTNAME = mojracunalnik.domena.si

DOMAINNAME=domena.si

GATEWAY = 172.16.1.220

GATEWAYDEV=eth0

Razlaga posameznih parametrov v datoteki network:

NETWORKING - določa, ali so omrežne nastavitve računalnika aktivirane.

FORWARD_IPV4 - posredovanje paketov vključeno/izključeno.

HOSTNAME - ime vašega računalnika (ime + domena).

DOMAINNAME - ime domene.

GATEWAY - naslov za prehod.

GATEWAYDEV - naslov naprave za prehod.

/etc/sysconfig/network/config (Suse Linux) - vsebuje številne parametre, ki se nanašajo na omrežne naprave. Omogoča določanje akcij v primeru spreminjanja statusa omrežne naprave.

Datoteka za konfiguracijo povratne naprave (loopback device) ifcfg-lo omogoča določanje lokalnega naslova za IP, ki ga lahko uporabimo za preizkušanje medprocesne komunikacije omrežne programske opreme v lastnem računalniku, če nimamo dostopa do omrežja.

/etc/sysconfig/network/ifcfg-lo (Suse Linux):

# Datoteka ifcfg-lo

# Loopback (lo) configuration

IPADDR=127.0.0.1

NETMASK=255.0.0.0

NETWORK=127.0.0.0

BROADCAST=127.255.255.255

STARTMODE=onboot

/etc/sysconfig/network-scripts/ifcfg-lo (Red Hat Linux):

# Datoteka ifcfg-lo

DEVICE=lo

IPADDR=127.0.0.1

NMASK=255.0.0.0

NETWORK=127.0.0.0

BCAST=127.255.255.255

ONBOOT=yes

NAME=loopback

BOOTPROTO=none

Podobno poznamo tudi datoteko za postavljanje dejanske omrežne naprave (omrežna ethernetna kartica) /dev/eth0:

/etc/sysconfig/network/ifcfg-eth0 (Suse Linux):

# Datoteka ifcfg-eth0

BOOTPROTO='static'

MTU=''

REMOTE_IPADDR=''

STARTMODE='onboot'

UNIQUE='GA8e.orocOxRg9gF'

WIRELESS='no'

BROADCAST='172.16.1.255'

IPADDR='172.16.1.5'

NETMASK='255.255.255.0'

NETWORK='172.16.1.0'

/etc/sysconfig/network-scripts/ifcfg-eth0 (Red Hat Linux):

# Datoteka ifcfg-eth0

DEVICE=eth0

IPADDR=172.16.1.5

NMASK=255.255.255.0

NETWORK=172.16.1.0

BCAST=172.16.1.255

ONBOOT=yes

BOOTPROTO=static

Razlaga posameznih parametrov v datotekah ifcfg-lo in ifcfg-eth0:

DEVICE - omrežna naprava.

IPADDR - vaš naslov IP.

NMASK, NETMASK - vaša omrežna maska (network mask).

NETWORK - naslov omrežja.

BCAST, BROADCAST - vaš naslov za oddajanje (broadcast address).

NAME - ime omrežne naprave.

ONBOOT - določa, ali naj se naprava konfigurira ob zagonu.

BOOTPROTO - statični (naslov za IP določamo ročno) ali pa dinamični (naslov za IP je določen s pomočjo protokola DHCP).

STARTMODE - določa aktiviranje naprave ob zagonu.

MTU - (Maximum Transmission Unit) maksimalno število zlogov (bytes), ki jih omrežna naprava lahko obdela pri enem prenosu.

Usmerjanje izhodnih in prihajajočih podatkovnih paketov (datagramov) v druge računalnike in omrežja določamo v datotekah /etc/sysconfig/statifc-routes (Red Hat Linux) in /etc/sysconfig/network/routes (Suse Linux).

/etc/resolv.conf (Red Hat in Suse) - podatki o imenskem strežniku (DNS server):

#Datoteka resolv.conf

domainname domena.si

nameserver 172.16.1.100

/etc/hosts (Red Hat in Suse) - Tu lahko vpišemo "ročni" seznam naslovov IP in gostiteljskih imen, ki jim ustrezajo, če nimamo dostopa do imenskega strežnika.

Ukaz ifconfig

Je uporabniški program, ki ga uporabljamo za določanje nastavitev omrežnega vmesnika. Z ukazom ifconfig vsaki omrežni napravi dodelimo naslov za IP, za omrežno masko (network mask) in naslov za oddajanje (broadcast address).

Osnovna skladnja ukaza ifconfig:

ifconfig ${NAPRAVA} ${IP NASLOV} netmask ${OMREŽNA MASKA} broadcast {NASLOV ZA ODDAJANJE} down/up

Če ukaz ifconfig uporabimo brez parametrov, bo izpisal trenutno delujoče omrežne naprave:

#ifconfig

eth0 Link encap:Ethernet HWaddr 00:0D:60:1B:A4:CA

inet addr:172.16.1.5 Bcast:172.16.1.255 Mask:255.255.255.0

inet6 addr: fe80::20d:60ff:fe1b:a4ca/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:357361 errors:1 dropped:0 overruns:0 frame:0

TX packets:167374 errors:0 dropped:0 overruns:0 carrier:0

collisions:228507 txqueuelen:100

RX bytes:482043135 (459.7 Mb) TX bytes:11717304 (11.1 Mb)

Interrupt:24 Memory:f9ff0000-fa000000

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:86 errors:0 dropped:0 overruns:0 frame:0

TX packets:86 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:6256 (6.1 Kb) TX bytes:6256 (6.1 Kb)

Pri tem je eth0 omrežna kartica in lo povratna naprava.

Pregled osnovnih parametrov:

  • up - uporabljamo za vnovični zagon omrežnega vmesnika.
  • Na primer:

    # ifconfig etho 172.16.1.105 netmask 255.255.255.0 up

    (aktiviranje z novimi nastavitvami)

    ali pa

    # ifconfig eth0 up (samo ponovno aktiviranje mrežnega vmesnika)

    Poznamo tudi skrajšano različico predhodne uporabe ukaza:

    #ifup eth0

  • down - uporabljamo za zaustavitev omrežnega vmesnika.
  • Na primer:

    #ifconfig eth0 down

    oziroma skrajšana različica:

    #ifdown eth0

  • netmask maska - dodeli omrežni napravi omrežno masko.
  • broadcast naslov - naslov za oddajanje (oddajanje paketov v vsak računalnik v vašem podomrežju).
  • pointtopoint naslov - uporabljamo za povezave, ki obsegajo samo dva gostitelja (npr. pri ppp protokolu).
  • irq - omogoča nastavljanje IRQ (prekinitvene) linije pri določenih napravah.
  • metric število - omogoča nastavitev metrične vrednosti (metric value), ki jo uporablja RIP (Routing Information Protocol) pri določanju vrednosti usmerjevalnih tabel (routing tables).
  • mtu število zlogov - (Maximum Transmission Unit) maksimalno število zlogov (bytes), ki jih omrežna naprava lahko obdela pri enem prenosu. Privzeta vrednost za ethernetno omrežje je 1500.
  • arp - vključi uporabo protokola ARP (Address Resolution Protocol). Protokol uporabljamo za določanje fizičnih (npr. ethernet) naslovov računalnikov v krajevnem omrežju.
  • -arp - izključi uporabo protokola ARP (Address Resolution Protocol).
  • promisc - omogoča sprejem vseh paketov, tudi tistih, ki nam niso namenjeni (v omrežju, ki vključuje opcijo broadcast). To omogoča analizo omrežnega prometa, hkrati pa povečuje možnost zlorabe.
  • -promisc - izključi prejšnjo izbiro.
  • Ukaz route

    Omogoča postavitev "smerokazov" za usmerjanje izhodnih in prihajajočih podatkovnih paketov (datagramov) v druge računalnike in omrežja. Podatki o smernicah se vpisujejo v usmerjevalno tabelo (routing table). Ukaz, prav tako kot prejšnji ukaz ifconfig, ni del jedra Linux, temveč uporabniški program.

    Osnovna skladnja ukaza route:

    route add/del -net ${OMREŽJE} netmask ${OMREŽNA MASKA} dev ${OMREŽNA NAPRAVA}

    route add/del -host ${IP NASLOV} ${OMREŽNA NAPRAVA}

    Če ukaz route uporabimo brez parametrov, bo izpisal trenutne zapise v usmerjevalni tabeli:

    #route

    Kernel IP routing table

    Destination Gateway Genmask Flags Metric Ref Use Iface

    172.16.1.0 * 255.255.255.0 U 0 0 0 eth0

    default 172.16.1.220 0.0.0.0 UG 0 0 0 eth0

    Pregled osnovnih parametrov:

  • add - dodaj novo usmeritev v usmerjevalno tabelo.
  • del - izbriši usmeritev iz usmerjevalne tabele.
  • net - omrežni naslov za IP.
  • dev - omrežna naprava.
  • Nekaj zgledov rabe ukaza route:

    # route add -host 172.16.1.5 eth0 (usmerjanje k gostitelju 172.16.1.5)

    # route add -net 172.16.1.0 netmask 255.255.255.0 eth0 (dodajanje omrežja 172.16.1.0 na omrežno napravo eth0)

    # route del -net 172.16.1.0 netmask 255.255.255.0 eth0 (brisanje omrežja)

    # route add default gw 172.16.1.220 (dodajanje privzetega prehoda skozi računalnik na na naslovu IP 172.16.1.220)

    Ukaz netstat

    Je večnamensko orodje za preverjanje omrežnih nastavitev in dejavnosti.

    Ukaz netstat omogoča naslednje funkcije:

  • Izpis usmerjevalne tabele (podobno kakor route):
  • #netstat -nr

    Kernel IP routing table

    Destination Gateway Genmask Flags MSS Window irtt Iface

    172.16.    1.0 * 255.255.255.0 U 0 0 0 eth0

    default 172.16.1.220 0.0.0.0 UG 0 0 0 eth0

  • Pregled statističnih podatkov omrežnih naprav:
  • #netstat -i

    Kernel Interface table

    Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

    eth0 1500 0 357902 1 0 0 167374 0 0 0 BMRU

    lo 16436 0 98 0 0 0 98 0 0 0 LRU

  • Pregled stanj na povezavah in vtičnicah (sockets):
  • #netstat -ta

    Active Internet connections (servers and established)

    Proto Recv-Q Send-Q Local Address Foreign Address State

    tcp 0 0 *:printer *:* LISTEN

    tcp 0 0 *:sunrpc *:* LISTEN

    tcp 0 0 *:x11 *:* LISTEN

    tcp 0 0 *:ftp *:* LISTEN

    tcp 0 0 *:telnet *:* LISTEN

    tcp 0 0 localhost:smtp *:* LISTEN

    tcp 0 0 linux.local:32783 172.16.1.144:ftp ESTABLISHED

    tcp 0 0 linux.local:32799 172.16.1.144:neod2 ESTABLISHED

    tcp 0 0 *:ssh *:* LISTEN

    -a - prikaži vse povezave.

    -t - TCP povezave.

    -u - UDP povezave.

    -w - RAW povezave..

    -x - povezave Unix vtičnice.

    Zgled uporabe ukazov ifconfig in route

    V prejšnjih razdelkih smo spoznali omrežne datoteke, ki omogočajo nastavljanje parametrov omrežnih naprav in aktivirajo dostop do omrežja ob zagonu računalnika. Vendar pa je nastavljanje omrežja mogoče poenostaviti z uporabo nekaj vrstic ukazov ifconfig in route v samo eni omrežni datoteki.

    Na primer:

    #! /bin/sh

    # Datoteka /etc/init.d/startnetwork

    # Aktivirala bo omrežno napravo eth0 z

    # naslovom za IP 172.16.1.5 in podala naslov za prehod 172.16.1.220


    # Najprej onemogočimo prejšnje nastavitve

    ifconfig eth0 down

    # določimo naslov za IP 172.16.1.5 za omrežno napravo eth0

    ifconfig eth0 172.16.1.5 netmask 255.255.255.0 up

    # določimo naslov za privzeti prehod

    route add default gw 172.16.1.220

    # Ko boste datoteko shranili v lupini poženite ukaz

    # chmod 755 /etc/init.d/startnetwork

    # kot korenski uporabnik.

    Če želimo, da se bodo te nastavitve aktivirale ob zagonu, vstavimo bližnjico na datoteko startnetwork v mapi /etc/rc.d/init.d/rc3.d (Red Hat) oziroma /etc/init.d/rc3.d/ (Suse) z imenom, na primer, S18simplenetstart:

    # ln -s /etc/init.d/startnetwork /pot_do_rc.3.d_mape/S18simplenetstart

    Številka v imenu bližnjice pomeni vrstni red klica datoteke v mapi rc3.d ob zagonu računalnika

    Gonilniki omrežnih naprav

    Poleg ukazov ifconfig in route za delovanje omrežne naprave potrebujete še gonilnik. Ta naj bi ustrezal različici jedra, nameščeni v vašem sistemu. Gonilnik lahko vključite v jedro že pri procesu namestitve operacijskega sistema, oziroma je mogoče tudi naknadno vključevanje v jedro z ukazom insmod.

    Če, na primer, želimo namestiti gonilnik za omrežno kartico tipa broadcom, to izvedemo po naslednjem postopku:

    # tar -xzvf bcm5700.tar.gz (odpakiramo paket, ki vsebuje gonilnik),

    # cd bcm5700 (premaknemo se v predhodno ustvarjeno mapo),

    # make ; make install (prevedemo gonilnike in jih namestimo v datotečni sistem),

    # insmod bcm5700 (vključimo modul/gonilnik v jedro).

    Seveda gre samo za enega izmed številnih zgledov nameščanja gonilnika. Natančen postopek je odvisen od izdelovalca programske opreme. Pogosto je nameščanje poenostavljeno z uporabo okenskih pomožnih programov, kot je, na primer, yast v distribuciji Suse Linux.

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
    Prijava

    ph

    Komentirajo lahko le prijavljeni uporabniki