ifconfig

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

ifconfig to polecenie konfigurujące interfejsy sieciowe w systemach Unix i Linux.

Odpowiednie skrypty wykorzystują ifconfig do "podniesienia" (uruchomienia) interfejsów sieciowych podczas startowania systemu operacyjnego. Podczas dalszej pracy komputera polecenie to okazuje się potrzebne tylko przy debugowaniu lub tuningowaniu konfiguracji sieciowej. Podczas wyłączania systemu kolejny zestaw skryptów wykorzystuje ifconfig do "upuszczenia" (wyłączenia) interfejsów sieciowych. Dzieje się tak zawsze, jeżeli system jest prawidłowo zamykany.

ifconfig jest narzędziem przestarzałym - nie pracuje w pełni poprawnie w obecnych środowiskach sieciowych[1]. Z tego powodu stopniowo wypierany jest z zadań konfiguracji sieci na rzecz pakietu Iproute2 (i polecenia ip).

Użytkowanie programu[edytuj | edytuj kod]

Zwykle prawo do wykorzystania polecenia ifconfig ma tylko superużytkownik (root).

Jeśli argumenty nie zostaną podane, to polecenie ifconfig wyświetla status aktywnych interfejsów sieciowych:

brama:~# ifconfig

Kiedy pojawi się pojedynczy argument interface, to wyświetlany jest status interfejsu przypisanego do tej nazwy (np. eth0, ppp0):

brama:~# ifconfig eth0

Jeżeli wykorzystana zostanie opcja -a, to wyświetlony zostanie status wszystkich interfejsów a nawet tych, które są nieaktywne:

brama:~# ifconfig -a

Jeżeli komputer posiada połączenie z Internetem poprzez protokół PPP oraz siecią lokalną opartą na Ethernecie, to efekt działania polecenia ifconfig przybiera następujący wygląd:

brama:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:DF:01:AE:3E
         inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:169989 errors:0 dropped:0 overruns:0 frame:0
         TX packets:166048 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100
         RX bytes:22121102 (21.0 MiB)  TX bytes:169321645 (161.4 MiB)
         Interrupt:10 Base address:0x2000

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:12746 errors:0 dropped:0 overruns:0 frame:0
         TX packets:12746 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:2400551 (2.2 MiB)  TX bytes:2400551 (2.2 MiB)

ppp0      Link encap:Point-to-Point Protocol
         inet addr:172.28.125.14  P-t-P:172.28.4.5  Mask:255.255.255.255
         UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
         RX packets:11489 errors:231 dropped:0 overruns:0 frame:0
         TX packets:10447 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:3
         RX bytes:10934194 (10.4 MiB)  TX bytes:892596 (871.6 KiB)

Kolejne sekcje opisują kolejne interfejsy sieciowe. Każdy interfejs posiada pewne opcje wspólne związane z protokołami (np. adres IP) oraz opcje specyficzne związane z danym rodzajem urządzenia sieciowego (np. adres MAC). Większość interfejsów wiąże się z określonymi urządzeniami (karta sieciowa, modem, itp.). Niektóre z nich są całkowicie wirtualne, co znaczy, że ich istnienie sprowadza się wyłącznie do pracy odpowiedniego modułu programowego w jądrze systemu. Przykładem może być tutaj urządzenie loopback, które pozwala na komunikację sieciową wewnątrz pojedynczego komputera pozbawionego Internetu.

Znaczenie poszczególnych informacji:

  • eth0 Link encap:Ethernet HWaddr 00:C0:DF:01:AE:3E – pierwsza karta sieciowa Ethernet, adres MAC,
    • inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0adres IP przypisany karcie, adres broadcast, maska sieciowa,
    • UP BROADCAST RUNNING MULTICAST – dodatkowe opcje interfejsu,
    • MTU:1500 Metric:1 – (ang. max transfer unit) maksymalny rozmiar pakietu,
    • RX packets:169989 errors:0 dropped:0 overruns:0 frame:0 – liczba odebranych, błędnych, pominiętych (np. na skutek braku pamięci) i zgubionych (ze względu na przeciążenie) pakietów.
    • TX packets:166048 errors:0 dropped:0 overruns:0 carrier:0 – wysłane pakiety,
    • collisions:0 txqueuelen:100 – kolizje, długość kolejki,
    • RX bytes:22121102 (21.0 MiB) TX bytes:169321645 (161.4 MiB) – odebrane i wysłane bajty,
    • Interrupt:10 Base address:0x2000 – przerwanie oraz zakres pamięci wykorzystywany przez szynę PCI,
  • lo Link encap:Local Loopback – urządzenie loopback,
    • ... – - jak wyżej,
  • ppp0 Link encap:Point-to-Point Protocol – pierwsze połączenie PPP z ISP
    • inet addr:172.28.125.14 P-t-P:172.28.4.5 Mask:255.255.255.255 – adres IP przydzielony przez IPCP lokalnej maszynie, adres IP routera przez, który ISP łączy komputer z Internetem, maska sieciowa,
    • ... – - jak wyżej.

Polecenia ifconfig nie używa się do ręcznej konfiguracji sieci. Pomocą służą tu skrypty ifup, ifdown oraz pliki konfiguracyjne w katalogu:

/etc/network

lub

/etc/sysconfig/network

Zobacz też[edytuj | edytuj kod]

Przypisy

  1. Linux Foundation: iproute2 - Introduction (ang.). 2009-11-19. [dostęp 2010-05-20].