ifconfig

Wyświetla i konfiguruje interfejsy sieciowe (przestarzałe, zastępowane przez ip).

ifconfig to wysłużony klasyk z pakietu net-tools, który służy do podglądania i konfigurowania interfejsów sieciowych w systemach uniksowych. Wpisujesz go, gdy chcesz szybko sprawdzić, jaki adres IP, maskę i adres MAC ma twoja karta, ile pakietów przeszło przez interfejs, albo gdy musisz ręcznie podnieść lub położyć dany interfejs. Działa, ale na nowoczesnym Linuksie jest uznawany za przestarzały i na wielu dystrybucjach domyślnie go już nie ma — jego rolę przejęło polecenie ip. Warto go znać, bo wciąż spotkasz go na starszych serwerach, w tutorialach i w pamięci mięśniowej każdego admina.

Składnia i najważniejsze opcje

Podstawowa forma wygląda tak: ifconfig [interfejs] [adres] [opcje]. Bez żadnych argumentów wypisuje tylko aktywne interfejsy.

  • -a — pokazuje wszystkie interfejsy, także te wyłączone (down)
  • up — aktywuje wskazany interfejs
  • down — wyłącza wskazany interfejs
  • netmask — ustawia maskę podsieci dla adresu IPv4
  • broadcast — ustawia adres rozgłoszeniowy interfejsu
  • mtu — ustawia maksymalny rozmiar ramki (Maximum Transfer Unit) w bajtach
  • hw ether — zmienia sprzętowy adres MAC interfejsu (jeśli sterownik na to pozwala)
  • promisc / -promisc — włącza lub wyłącza tryb nasłuchu wszystkich pakietów (promiscuous)

Przykłady użycia

  • ifconfig — wypisuje wszystkie aktywne interfejsy wraz z ich adresami i statystykami.
  • ifconfig -a — pokazuje absolutnie wszystkie interfejsy, łącznie z tymi w stanie down.
  • ifconfig eth0 192.168.1.50 netmask 255.255.255.0 — przypisuje karcie eth0 adres IP i maskę podsieci.
  • ifconfig eth0 down — wyłącza interfejs eth0 (uważaj, jeśli robisz to przez SSH na tym samym łączu).
  • ifconfig eth0 hw ether 00:11:22:33:44:55 — zmienia adres MAC, przydatne przy testach lub klonowaniu sprzętu.

Częste błędy i pułapki

Najczęstsza niespodzianka to komunikat „command not found” na świeżym Ubuntu, Debianie czy Fedorze — net-tools nie jest już domyślnie instalowany. Doinstaluj pakiet net-tools albo po prostu przesiądź się na ip. Druga pułapka: zmiany wprowadzone przez ifconfigulotne i znikają po restarcie — trwałą konfigurację trzymasz w plikach dystrybucji (Netplan, NetworkManager, /etc/network/interfaces). Pamiętaj też, że większość operacji wymaga uprawnień roota, więc bez sudo co najwyżej popatrzysz. I klasyk: ifconfig eth0 down na zdalnym serwerze, do którego jesteś podłączony właśnie przez ten interfejs, skutecznie odcina ci sesję.

Powiązane komendy: ip, ip addr, ip link, route, ip route, ethtool, nmcli.