8-12-05 08:43
Mreža i Linux II
piše ANA KUKEC
Druga naredba koja omogućuje rad s mrežnim sučeljima je ip naredba, točnije, dvije njezine podnaredbe (link i address):
ip link - rad s mrežnim sučeljem na razini podatkovnog sloja (lokalna mreža; MAC adrese i sl.),
ip address - rad s mrežnim sučeljem na razini mrežnog sloja (IP adrese i sl.)
U osnovi, podaci koje dobivamo ispisom identični su podacima koji su objašnjeni kod ispisa ifconfig naredbe i iz tog razloga neće biti ponovno objašnjavani, već će samo biti prikazani primjeri korištenja spomenutih podnaredaba ip naredbe.
Ispis podataka o aktivnim i neaktivnim sučeljima omogućuje ip link show (dovoljno je napisati i primjerice ip l sh):
# ip link show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
Uočimo ključnu riječ link. Ona je zapravo oznaka podataka za razinu podatkovnog sloja (MAC adrese) slično kao što je ključna riječ inet ili inet6 oznaka podataka za razinu mrežnog sloja (IPv4 ili IPv6 adrese).
Moguć je i ispis podataka o specifičnom sučelju, primjerice eth0 (ključna riječ dev označava uređaj tj. mrežno sučelje):
# ip link show dev eth0
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
Aktiviranje sučelja i promjenu primjerice zastavice promisc (što znači da će mrežno sučelje primati sav promet unutar kolizijske domene tj. lokalne mreže) obavit ćemo na slijedeći način:
# ip link set dev eth0 up
# ip link set dev eth0 promisc on
# ip link show
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
Deaktiviranje sučelja obavlja se analogno aktiviranju. Obratimo samo pažnju na očitu činjenicu - nije moguće deaktivirati sučelje na kojem radimo. Slično, postoji mogućnost primjerice, promjene imena sučelja (ip link set dev eth1 name MaliEthy) što također nije moguće napraviti za aktivno sučelje.
Naredba ip address (i njezin ispis) vrlo je slična naredbi ip link s tom razlikom što ona omogućuje rad s IP adresama, a u ispisu (uz MAC adrese) ispisuje i IP adrese:
# ip address show
1: lo: <LOOPBACK,UP> 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
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.133/24 brd 192.168.11.255 scope global eth0
Pogledajmo ispis naredbe i to treći redak za pojedino mrežno sučelje. Vidimo da su to podaci o IPv4 adresama (ključna riječ inet). Nakon ključne riječi scope nalazi se područje na kojem je IP adresa "važeća", za virtualno sučelje lo to je samo računalo (host), a za mrežno sučelje eth0 to je global.
Uočimo još jedan detalj u ispisu. Sve IP adrese ispisane su u CIDR obliku što podrazumijeva besklasno adresiranje (Classless Inter-Domain Routing) budući da se danas klasno adresiranje više ne upotrebljava. CIDR zapis adrese podrazumijeva tipičan zapisan dotted-decimal IP adrese nakon kojeg slijedi kosa crta i tzv. mrežni prefiks. Takav mrežni prefiks je ustvari broj bitova IP adrese koji pripadaju mrežnom dijelu adrese. Prisjetimo se, ispis ifconfig naredbe ne daje IP adrese u takvom CIDR obliku:
ifconfig naredba: addr 192.168.11.137 Mask 255.255.255.0
ip address naredba: inet 192.168.11.133/24
Pokažimo sada kako dodati adresu sučelju. Važno je napomenuti da prije dodavanja adrese sučelje mora biti aktivno (ip link set dev eth0 up). Adresu unosimo u CIDR obliku:
# ip address add dev eth0 192.168.11.140/16
1: lo: <LOOPBACK,UP> 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
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.140/16 brd 192.168.255.255 scope global eth0
Vrlo je važno zapisati adresu u potpunom CIDR obliku (s kosom crtom i mrežnim prefiksom) jer bi naredba ip address add dev eth0 192.168.11.140 rezultirala dodavanjem adrese 192.168.11.140/32 što vrlo vjerojatno nije cilj.
Pogledajmo sada što se događa pokušamo li ponovo dodati novu adresu istom sučelju:
# ip address add dev eth0 192.168.11.141/24
# ip addr show
1: lo: <LOOPBACK,UP> 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
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.140/16 brd 192.168.255.255 scope global eth0
inet 192.168.11.141/24 brd 192.168.11.255 scope global secondary eth0:0
Dakle, ovime smo dodali sekundarnu adresu sučelju.
Jednako kao što smo dodali adrese sučelju, možemo ih i obrisati. To ćemo napraviti pomoću naredbe ip address del koju koristimo analogno naredbi ip address add tako što zamijenimo riječi add i del. Pogledajmo još što se događa brisanjem primarne IP adrese pridjeljene mrežnom sučelju:
# ip address del dev eth0 192.168.11.140
# ip a s
1: lo: <LOOPBACK,UP> 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
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0c:29:57:37:60 brd ff:ff:ff:ff:ff:ff
Kao što vidimo, brišu se i sekundarne IP adrese. Uočimo još samo da kod brisanja IP adrese najčešće nije potrebno navesti mrežni prefiks (kao što se to vidi iz gornjeg primjera).
Spomenimo i to da ifconfig i ip naredba nisu jedine naredbe pomoću kojih možemo ispisati podatke o mrežnom sučelju. Primjerice, neke od podataka o mrežnim sučeljima (statistike sučelja) možemo ispisati netstat alatom na slijedeći način:
# netstat -i |
kernel Interface table |
Iface |
MTU |
Met |
RX-OK |
RX-ERR |
RE-DRP |
RX-OVR |
TX-OK |
TX-ERR |
TX-DRP |
TX-OVR |
Flg |
eth0
|
1500 |
0 |
373983903 |
0 |
0 |
0 |
524157706 |
0 |
0 |
0 |
BMRU |
eth0 |
1500 |
0 |
- |
no statistics available |
|
- |
BMRU |
eth0 |
1500 |
0 |
- |
no statistics available |
|
- |
BMRU |
lo |
16436 |
0 |
11552452 |
0 |
0 |
0 |
11552452 |
0 |
0 |
0 |
LRU |
Ova mogućnost (ispisa podataka s različitim alatima) bit će mnogo izraženija kod rada s rutama kod usmjeravanja koje će biti obrađeno u slijedećim člancima.
|