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 interfejsdown— wyłącza wskazany interfejsnetmask— ustawia maskę podsieci dla adresu IPv4broadcast— ustawia adres rozgłoszeniowy interfejsumtu— ustawia maksymalny rozmiar ramki (Maximum Transfer Unit) w bajtachhw 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 ifconfig są ulotne 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.