Я привык использовать такие команды, как ifconfig
, route
и так далее в Linux для проверки и изменения сетевой информации. Однако я знаю, что есть ip
команда (с различными подкомандами). Я где-то слышал, что это «правильный путь». Какая-то конкретная причина, по которой я должен отказаться от ifconfig / route / etc? Каковы ваши предпочтения? Есть ли что-то, что может сделать один набор, чего не могут другие?
Команда ip
принадлежит к набору утилит под названием iproute2.
Их манифест:
Большинство руководств по настройке сети по-прежнему ссылаются на ifconfig и route как на основные инструменты настройки сети, но известно, что ifconfig ведет себя неадекватно в современных сетевых средах. Они должны быть устаревшими, но большинство дистрибутивов все еще включают их. Большинство систем конфигурации сети используют ifconfig и, таким образом, предоставляют ограниченный набор функций. Проект / etc / net направлен на поддержку большинства современных сетевых технологий, поскольку он не использует ifconfig и позволяет системному администратору использовать все функции iproute2, включая управление трафиком.
Короче говоря, он сочетает в себе ряд различных устаревших интерфейсов и обеспечивает доступ к новым функциям, таким как маршрутизация на основе политик. Благодаря более последовательному набору команд.
я думаю, вы не можете получить доступ к более продвинутым функциям iproute2 [например, несколько таблиц маршрутизации, маршрутизация на основе src-адреса или фильтра] с использованием ipconfig + route.
для меня синтаксис ip намного логичнее и проще в использовании.
iproute в конечном итоге заменит ifconfig et al. в настоящее время разница небольшая, но синтаксис ip (по крайней мере, для меня) более читабелен.
ifconfig и route доступны во всех Unix-системах под солнцем (о, о, о) с 1985 года или около того (и даже на не-Unix-системах route существует и под окнами). ip в целом лучше, но все еще редкость, за исключением последних дистрибутивов Linux. Ну и что? знаю оба пути и надеюсь, что скоро все перейдут на ip :)