Większość dystrybucji Linuksa nie instaluje już domyślnie pakietu net-tools, w którym znajdziemy legendarne komendy ifconfig czy netstat. Dlaczego te narzędzia odeszły w odstawkę i jakie nowoczesne alternatywy warto opanować, by sprawnie zarządzać siecią z poziomu terminala?
W administracji systemami Linux od lat zachodzą spore zmiany. Narzędzia, które przez dekady stanowiły fundament konfiguracji sieci – jak ifconfig, netstat czy route – po cichu znikają z domyślnych instalacji popularnych dystrybucji. Dziś ich status jako przestarzałych (deprecated) jest już faktem. Choć nadal można doinstalować je ręcznie, nowoczesne systemy operacyjne stawiają na nowocześniejsze rozwiązania. Dlaczego klasyki odchodzą w odstawkę i czym je zastąpić?
Dlaczego net-tools uznano za przestarzałe?
Historia pakietu net-tools sięga lat 90., kiedy to stał się standardem w zarządzaniu siecią w systemach uniksowych. Jednak już ponad dekadę temu na listach dyskusyjnych Debiana i innych dystrybucji otwarcie rozmawiano o tym, że narzędzia te nie będą dalej rozwijane. Decyzja ta wynikała z konkretnych ograniczeń technicznych starszego pakietu:
- Słabe wsparcie dla IPv6:
ifconfignie radzi sobie najlepiej z adresami IPv6 bez dodatkowych parametrów, podczas gdy nowoczesne sieci opierają się na tym protokole. Pakietiproute2, czyli następca starego zestawu, od początku projektowano z myślą o IPv6. - Problemy z wirtualnymi interfejsami: W erze kontenerów, chmury i wirtualizacji,
ifconfigkiepsko radzi sobie z obsługą VLAN-ów, mostów sieciowych czy tuneli. Narzędzieip linkz pakietuiproute2radzi sobie z tym bez problemu. - Wydajność i przestarzała architektura:
net-toolsodpytuje jądro przez starsze interfejsy (jak pliki w/proc/net). Z koleiiproute2wykorzystuje Netlink – znacznie szybszy i bardziej elastyczny mechanizm komunikacji z jądrem systemu. - Brak aktywnego rozwoju: Kod źródłowy
net-toolsod wielu lat nie doczekał się poważniejszych zmian strukturalnych. Oznacza to brak natywnego wsparcia dla nowych technologii sieciowych i brak poprawek optymalizacyjnych.
Oczywiście status narzędzi przestarzałych nie oznacza, że zniknęły one z powierzchni ziemi. Wciąż da się je zainstalować ręcznie (np. przez apt install net-tools w Debianie/Ubuntu czy dnf install net-tools w Fedorze), ale w codziennej pracy mija się to z celem.
Które dystrybucje zrezygnowały z net-tools?
Proces wycofywania net-tools z domyślnych pakietów trwał latami, ale dziś jest już właściwie zakończony. Zobaczmy, kiedy poszczególne systemy zrezygnowały z instalowania go na starcie:
- Fedora: Od wersji 18 (początek 2013 roku).
- RHEL/CentOS: Od wersji 7 (połowa 2014 roku).
- Debian: Od wersji 9 "Stretch" (połowa 2017 roku).
- Ubuntu: Od wersji 18.04 LTS (wiosna 2018 roku).
- Arch Linux: Od okolic 2013 roku.
- openSUSE: Od wersji Leap 15.0 (2018 rok).
Wyjątkiem bywają nieliczne, bardzo konserwatywne dystrybucje lub starsze systemy z długim okresem wsparcia, gdzie pakiety te pozostawiono dla zachowania kompatybilności wstecznej.
Nowoczesne alternatywy: iproute2 w praktyce
Pakiet iproute2 to nie tylko prosty zamiennik, ale zupełnie nowe podejście do tematu. Jego sercem jest polecenie ip, które przejmuje zadania większości starych komend. Oto jak wyglądają bezpośrednie odpowiedniki w codziennej praktyce:
Podstawowe komendy: ifconfig → IP addr
Zamiast ifconfig do podglądu i konfiguracji interfejsów używamy ip addr (lub w skróconej wersji: ip a):
# Stare:
ifconfig eth0
# Nowe:
ip addr show eth0
# lub krócej:
ip a show eth0
Różnice widać od razu:
ip addrdomyślnie i czytelnie pokazuje adresy IPv4 oraz IPv6.- Informacje o stanie interfejsu czy MTU są podane w bardziej usystematyzowany sposób.
- Składnia jest spójna z resztą poleceń z tego pakietu.
Zmiana adresu IP również stała się prostsza i bardziej logiczna:
# Stare:
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
ifconfig eth0 del 192.168.1.100
# Nowe:
ip addr add 192.168.1.100/24 dev eth0
ip addr del 192.168.1.100/24 dev eth0
Routing: route → IP route
Do zarządzania tablicą routingu zamiast polecenia route używamy ip route:
# Stare:
route -n
route add default gw 192.168.1.1
# Nowe:
ip route
ip route add default via 192.168.1.1
Nowe polecenie daje znacznie większą kontrolę, pozwalając na łatwe zarządzanie wieloma tablicami routingu czy zaawansowanymi politykami.
Statystyki sieci: netstat → ss
Do sprawdzania otwartych portów i aktywnych połączeń sieciowych zamiast netstat używamy narzędzia ss (socket statistics):
# Stare:
netstat -tuln
netstat -r
netstat -i
# Nowe:
ss -tuln
ip route # zamiast netstat -r
ip -s link # zamiast netstat -i
Narzędzie ss działa błyskawicznie, ponieważ pobiera dane bezpośrednio z jądra systemu, zamiast powoli przetwarzać pliki tekstowe w katalogu /proc.
Tablica ARP: Arp → IP neigh
Do podglądu tablicy ARP służy teraz komenda ip neigh (od neighbour):
# Stare:
arp -n
# Nowe:
ip neigh
Wyświetla ona zarówno wpisy ARP dla IPv4, jak i dane z protokołu Neighbour Discovery (ND) dla IPv6.
Pełne zestawienie: net-tools vs iproute2
Poniższa tabela ułatwia szybkie odnalezienie nowoczesnych odpowiedników dla najpopularniejszych poleceń:
| Przestarzała komenda | Nowoczesny odpowiednik | Uwagi |
|---|---|---|
ifconfig |
ip addr lub ip a |
ip addr wyświetla więcej informacji (np. adresy IPv6, MTU). |
ifconfig -a |
ip link lub ip -br a |
ip -br a (brief) wyświetla skróconą listę interfejsów. |
ifconfig eth0 up/down |
ip link set eth0 up/down |
Służy do włączania i wyłączania interfejsu. |
route |
ip route |
ip route obsługuje zaawansowane opcje routingu. |
route add default gw 1.2.3.4 |
ip route add default via 1.2.3.4 |
Ustawianie bramy domyślnej. |
netstat -tuln |
ss -tuln |
ss jest znacznie szybsze i dokładniejsze. |
netstat -r |
ip route |
Podgląd tabeli routingu. |
netstat -i |
ip -s link |
Wyświetla statystyki pakietów na interfejsach. |
arp |
ip neigh |
ip neigh obsługuje ARP oraz IPv6 Neighbour Discovery. |
iptables |
nftables |
Nowoczesny system filtrowania pakietów w Linuksie. |
brctl |
ip link + bridge |
Narzędzia do konfiguracji mostków sieciowych. |
Czy coś tracimy, rezygnując z net-tools?
Przesiadka na iproute2 przynosi same korzyści, choć na początku zmiana nawyków i starych skryptów może wymagać chwili uwagi. Na co warto uważać?
1. Inny format wyjściowy
- Adresy MAC: Klasyczny
ifconfigpodawał adresy MAC jakoHWaddr. Wip addrznajdziemy je pod etykietąlink/ether. Jeśli filtrujesz te dane w skryptach, musisz dostosować polecenia, na przykład tak:ip -o link | awk '{print $2, $17}' - Identyfikacja procesów: Z kolei odpowiednikiem
netstat -p(pokazującym PID procesów) w nowym wydaniu jest:ss -tulnp
2. Różnice w składni
Nowa składnia jest bardziej logiczna, ale wymaga przepisania starych skryptów automatyzujących. Prosty przykład wyciągania adresu IP:
# Stare:
ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2
# Nowe:
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
3. Starsze oprogramowanie
Czasami starsze narzędzia monitorujące lub skrypty firm trzecich sztywno odwołują się do ifconfig. W takich sytuacjach najlepiej:
- Sprawdzić, czy producent nie wydał aktualizacji wspierającej nowsze standardy.
- Samodzielnie podmienić wywołania w skryptach na polecenia z pakietu
iproute2. - W ostateczności doinstalować
net-toolsjako rozwiązanie tymczasowe.
Jak bezpiecznie przejść na iproute2?
Przejście na nowe narzędzia nie musi być trudne. Oto kilka prostych kroków, które ułatwią ten proces:
1. Oswój się z nową składnią
Nie musisz od razu usuwać starych pakietów. Zacznij od wpisywania nowych poleceń podczas codziennej pracy. Dobrym punktem wyjścia jest oficjalny podręcznik systemowy (man IP).
2. Skorzystaj z gotowych skryptów pomocniczych
W repozytorium projektu na GitHubie znajdziesz proste narzędzia ułatwiające migrację:
if2ip– pomaga przełożyć składnięifconfignaip.netstat2ss– ułatwia przesiadkę znetstatnass.
3. Testuj zmiany lokalnie
Zanim zaktualizujesz skrypty na serwerach produkcyjnych, przetestuj je w środowisku testowym lub w kontenerze. Unikniesz w ten sposób przykrych niespodzianek.
4. Zaktualizuj wewnętrzną dokumentację
Jeśli pracujesz w zespole, upewnij się, że Wasze wewnętrzne poradniki i procedury nie powielają już starych nawyków.
Co dalej z narzędziami sieciowymi w Linuxie?
Pakiet iproute2 to tylko część większych zmian w linuksowym stosie sieciowym. Warto mieć na oku również inne nowoczesne rozwiązania:
nftables: Nowoczesny następca wysłużonegoiptables. Jest szybszy, ma prostszą składnię i lepiej radzi sobie z filtrowaniem pakietów. Szczegóły znajdziesz na oficjalnej wiki projektu.nmcli/nmtui: Narzędzia konsolowe do obsługi NetworkManagera, które pozwalają błyskawicznie konfigurować połączenia bez ręcznego edytowania plików konfiguracyjnych.systemd-networkd: Lekki demon sieciowy zintegrowany z systemd, coraz chętniej wybierany w środowiskach serwerowych i chmurowych.ethtool: Niezbędne narzędzie do sprawdzania i zmiany fizycznych parametrów karty sieciowej (np. szybkości czy trybu duplex).
Sam projekt iproute2 jest stale rozwijany. Twórcy skupiają się obecnie na lepszej integracji z technologiami takimi jak eBPF, ułatwieniu obsługi nowoczesnych VPN-ów (np. WireGuard) oraz sprawniejszym zarządzaniu siecią w środowiskach kontenerowych. Postępy prac można śledzić bezpośrednio w repozytorium na GitHubie.
Podsumowanie: Czas pożegnać net-tools?
Choć sentyment do ifconfig czy netstat u wielu administratorów pozostaje silny, czas pójść naprzód. Korzystanie ze starych narzędzi bywa dziś po prostu niepraktyczne – większość nowoczesnych systemów ich nie dostarcza, a ich ograniczenia techniczne utrudniają pracę we współczesnych sieciach.
Opanowanie iproute2 wymaga chwili ćwiczeń, ale inwestycja ta szybko się zwraca. Nowe polecenia są szybsze, bardziej spójne i dają znacznie większe możliwości. Czas zmienić nawyki i na dobre zaprzyjaźnić się z ip addr, ss oraz ip route.
Chcesz dowiedzieć się więcej? Zajrzyj do dokumentacji systemowej (man IP) lub skorzystaj z darmowych materiałów na platformie Linux Foundation. Warto też śledzić dyskusje społeczności na łamach Unix & Linux Stack Exchange.
A jeśli szukasz nowoczesnych sposobów na monitorowanie kondycji swojego systemu, przeczytaj nasz artykuł o Mission Center w 2026 roku, gdzie pokazujemy, jak wygodnie śledzić zużycie zasobów w czasie rzeczywistym.
Źródła
- https://www.tecmint.com/deprecated-linux-commands/
- https://lists.debian.org/debian-devel/2011/03/msg00658.html
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.0_release_notes/chap-red_hat_enterprise_linux-7.0_release_notes-deprecated_functionality
- https://wiki.debian.org/NetworkConfiguration#net-tools
- https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes
- https://wiki.archlinux.org/title/Network_configuration#net-tools
- https://sourceforge.net/projects/net-tools/
- https://man7.org/linux/man-pages/man8/ip-address.8.html
- https://www.kernel.org/doc/html/latest/userspace-api/netlink/intro.html
- https://nvd.nist.gov/vuln/detail/CVE-2019-15903
- https://www.kernel.org/pub/linux/utils/net/iproute2/
- http://www.slackware.com/
- https://man7.org/linux/man-pages/man8/ip.8.html
Komentarze