Я прочитал некоторые статьи / учебные пособия по команде ifconfig, большинство из которых содержали общее утверждение:
"ifconfig устарела командой ip"
и предложил узнать ip команду. Но никто из них не объяснил, почему команда «ip» является более мощной, чем «ifconfig».
В чем разница между ними обоими?
linux
networking
ip
command
Мандар Шинде
источник
источник
Ответы:
ifconfig
is fromnet-tools
, который долгое время не мог полностью поддерживать сетевой стек Linux. Он также все еще используетсяioctl
для настройки сети, что является уродливым и менее мощным способом взаимодействия с ядром.Множество изменений в сетевом коде Linux и множество новых функций недоступны при использовании
net-tools
: многолучевой маршрутизации, маршрутизации политик (см. RPDB).route
позволяет вам делать глупые вещи, такие как добавление нескольких маршрутов к одному и тому же пункту назначения с одним и тем же показателем.Дополнительно:
ifconfig
не сообщает правильный аппаратный адрес для некоторых устройств.ipip
,sit
,gre
,l2tp
и т.д. в ядре статических туннелей.tun
илиtap
устройства.net-tools
либо.Смотрите также
ifconfig
отстой .РЕДАКТИРОВАТЬ : Убрал утверждение о
net-tools
прекращении разработки, что теперь я забыл, где я получил для этого поста.net-tools
'работал над ним с моментаiproute2
его выпуска, хотя в основном это исправление ошибок и незначительные улучшения и функции, такие как интернационализация.источник
ifconfig
. Например, в GNU inetutils есть другой. И это еще не все. unix.stackexchange.com/a/504084/5132ifconfig
это традиционная команда для отображения информации о сетевых интерфейсах и изменения некоторых настроек. В частности, это может привести интерфейсы вверх и вниз. Это существует на большинстве вариантов Unix.В Linux
ifconfig
команда не развивалась долгое время. Это все еще прекрасно для того, что он делает. Если вы используетеifconfig
что-то, нет причин останавливаться.Linux также предоставляет
ip
команду из набора инструментов iproute2 . Командаip
объединяет несколько классических команд и более, в том числеifconfig
,route
иarp
.ip
может сделать намного больше, чемifconfig
. С другой стороны,ip
это не всегда присутствует, особенно во встроенных системах (и никогда в вариантах Unix, кроме Linux).Синтаксический
ifconfig
выход «s своего рода сосет. Синтаксическийip
выход «s своего рода сосет. Там нет победителя.источник
ip
что вывод синтаксического анализа довольно прост, и, конечно, чертовски проще, чемifconfig
. Мне также нравится, что во многих случаях выходные данныеip
команды могут использоваться в качестве входных данных для другойip
команды с небольшими изменениями или без каких-либо изменений (например, каждая строкаip route show
может использоваться в качестве аргументовip route add
).ip route
, иip rule
вывод довольно ясен и довольно прост для анализа. Ноip link
илиip addr
это боль. Я действительно хотел бы, чтобы кто-то представил патч или что-то еще, чтобыip addr
распечатать точные утверждения, возможно, с переключателем, который вы бы использовали для настройки текущей конфигурации, как вы получаете сip route show
.Просто чтобы добавить немного битов к ответу от пилона. Примерно в 2005 году был представлен новый механизм управления сетевым стеком - сокеты netlink .
Для настройки сетевого интерфейса
iproute2
используется механизм полнодуплексного сокета netlink, при этомifconfig
используетсяioctl
системный вызов. Вот 2 основных документа по мотивации netlink и использованию rtnetlink .источник