ifconfig

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

ifconfig po raz pierwszy pojawił się w systemach uniksowych jako część pakietu narzędzi TCP/IP w 4.2BSD.

Skrypty startowe systemu operacyjnego wykorzystują ifconfig do włączania interfejsów sieciowych podczas uruchomienia oraz wyłączania w trakcie zamykania.

We współczesnych dystrybucjach Linuksa ifconfig jest narzędziem przestarzałym - nie współpracuje w pełni z nowszymi wersjami jądra[1]. Z tej racji został wyparty z konfiguracji sieci przez program ip z pakietu Iproute2.

Użytkowanie programu

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.

W Linuksie na ogół nie używa się ifconfig 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ż

  • ip

Przypisy

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