ip kontra ifconfig

21

Po przeczytaniu tej odpowiedzi rozpocząłem poszukiwania różnicy między systemami * nix ipi między nimi ifconfig. Wkrótce dowiedziałem się, że ipma „więcej” cech niż ifconfig, ale jaka jest prawdziwa różnica? Czy jest jakiś powód, aby nie używać, ifconfiggdy zapewnia on funkcje, których potrzebuję? (Np. Konsekwencje dla bezpieczeństwa) Lubię wiedzieć, ponieważ jestem zapalonym ifconfigużytkownikiem.

BloodPhilia
źródło

Odpowiedzi:

11

Prosta odpowiedź: w systemie Linux ifconfigjest przestarzały.

Od man ifconfig:

Ten program jest przestarzały! Do kontroli wymiany ip addri ip link. Do użytku statystycznego ip -s link.

Andrejs Cainikovs
źródło
1
Ale czy obejmuje to negatywne skutki uboczne podczas jego używania?
BloodPhilia 30.01.11
@BloodPhilia, jeśli korzystasz z niektórych zaawansowanych funkcji iproute, użycie ifconfig może je zepsuć. Prawie na pewno wiedziałbyś, gdzie ich używasz. W większości przypadków korzystanie z ifconfig jest bezpieczne.
Zoredache
1
Czy możesz rozszerzyć swoją odpowiedź i powiedzieć nam, jakie są wady, dlaczego jest ona zastąpiona, i tak dalej?
slhck
1
Jest to wyraźnie określone w man ifconfig: linux.die.net/man/8/ifconfig
Andrejs Cainikovs
@BloodPhilia: Niektóre stare jądra (mogą być niestandardowe, załatane), w terenie zachowywały się dziwnie podczas używania iplub ss. W przeciwnym razie nie powinno działać z systemami o stosunkowo nowoczesnym jądrze i przestrzeni użytkownika.
pilona
18

Od Dlaczego iproute2? :

Większość dystrybucji Linuksa i większość systemów UNIX używa obecnie czcigodnych poleceń arp, ifconfig i route. Podczas gdy narzędzia te działają, wykazują nieoczekiwane zachowanie w Linuksie 2.2 i nowszych. Na przykład tunele GRE są obecnie integralną częścią routingu, ale wymagają zupełnie innych narzędzi.

W iproute2 tunele są integralną częścią zestawu narzędzi.

Jądra Linuksa 2.2 i nowsze zawierają całkowicie przeprojektowany podsystem sieciowy. Ten nowy kod sieci zapewnia wydajność Linuksa i zestaw funkcji o niewielkiej konkurencji na ogólnej arenie systemu operacyjnego. W rzeczywistości nowy kod routingu, filtrowania i klasyfikacji jest bardziej funkcjonalny niż ten oferowany przez wiele dedykowanych routerów, zapór i produktów kształtujących ruch.

Gdy wynaleziono nowe koncepcje sieci, ludzie znaleźli sposoby na ich nadrobienie w stosunku do istniejącej struktury w istniejących systemach operacyjnych. To ciągłe nakładanie warstw cruft doprowadziło do kodu sieciowego, który jest wypełniony dziwnymi zachowaniami, podobnie jak większość języków ludzkich. W przeszłości Linux emulował obsługę przez SunOS wielu z tych rzeczy, co nie było idealne.

Ten nowy framework umożliwia wyraźne wyrażanie funkcji wcześniej niedostępnych dla Linuksa.

Wstrzymano do odwołania.
źródło