Команда/bin/ip появилась в Linux системах достаточно давно, но все по инерции продолжают использовать более старую команду/sbin/ifconfig. Случайно натолкнулся на аглоязычную статью и она подтолкнула меня на активное использование ip.
Понятно, что ifconfig быстро не уйдет, но его более новая и функциональная версия — IP в конечном счете заменит.
Man по IP сначала может выглядеть пугающе, но после беглого знакомства с синтаксисом команды — всё становится просто и понятно. Здесь только очень маленькая, наиболее употребляемая часть возможностей ip в сравнении с ifconfig.
Список сетевых устройств и их конфигураций
$ ifconfig
$ ip addr show $ ip link show
Включение сетевого интерфейса
$ ifconfig eth0 up
$ ip link set eth0 up
Выключение происходит по такой же схеме:
$ ifconfig eth0 down
$ ip link set eth0 down
Назначение IP-адреса
$ ifconfig eth0 192.168.0.77
$ ip address add 192.168.0.77 dev eth0
Это простой вариант команды. Обычно необходимо указать также маску подсети и широковещательный адрес.
Необходимо отметить, что маска подсети может быть задана и в нотации CIDR то-есть как 192.168.0.77/24.:
$ ifconfig eth0 192.168.0.77 netmask 255.255.255.0 broadcast 192.168.0.255
$ ip addr add 192.168.0.77/24 broadcast 192.168.0.255 dev eth0
Удаление IP-адреса
С помощью ip можно удалить IP-адрес:
$ ip addr del 192.168.0.77/24 dev eth0
Псевдонимы (alias)
$ ifconfig eth0:1 10.0.0.1/8
$ ip addr add 10.0.0.1/8 dev eth0 label eth0:1
Протокол ARP
Новая запись в ARP-таблице:
$ arp -i eth0 -s 192.168.0.1 00:11:22:33:44:55
$ ip neigh add 192.168.0.1 lladdr 00:11:22:33:44:55 nud permanent dev eth0
Отключение протокола ARP на интерфейсе:
$ ifconfig ~arp eth0
$ ip link set dev eth0 arp off