ifconfig: команда не найдена. Сообщество Linux расстаётся с Net-Tools
Тяжело расставаться с привычными инструментами в Linux, которыми пользовался годами. Так, при установке OpenMediaVault был озадачен отсутствием команд ifconfig, route и netstat. В результате, простейшая задача по смене ip-адреса неожиданно заиграла новыми красками.
Я как-то упустил тот момент, когда пакет Net-Tools признали устаревшим и ему на смену в Linux пришёл другой сетевой инструмент iproute2. По этой причине последние версии многих дистрибутивов Linux больше не содержат привычных команд ifconfig или route.
На самом деле и iproute2 нельзя назвать чем-то принципиально новым, ведь этот пакет известен ещё с начала 2000-х годов и основным его минусом всегда считалось отсутствие актуальной документации (отсылки типа «смотри исходный код» не считаются).
Что делать, придётся избавляться от старых наработанных привычек и заново изучать новые команды и синтаксис пакета iproute2. Из очевидных плюсов нам обещают больший контроль над сетевыми параметрами и функциями Linux.
Я нашёл неплохой мануал Task-centered iproute2 user guide о практическом использовании iproute2, правда на английском языке https://baturin.org/docs/iproute2/.
Некоторые примеры использования ip
Самой востребованной функцией, без чего не обходится ни одна настройка сети, остаётся определение IP адреса, назначенного интерфейсу. Ранее это делалось командой ifconfig без каких-либо дополнительных аргументов. Теперь следует писать так:
ip a
Команда выведет список интерфейсов и связанную с ними сопутсвующую информацию:
Если требуется вывести информацию, связанную с конкретным интерфейсом, например по беспроводному соединению, командой приобретает следующий вид:
ip a show wlan0
или ещё более конкретизированный запрос с информацией только о IPv4:
ip -4 a show wlan0
Поднятие сетевого интерфейса и изменение ip адреса
Пример включения сетевого интерфейса (как было и как стало):
ifconfig eth0 up
ip link set eth0 up
Теперь давайте назначим адрес сетевому интерфейсу, пусть это будет eth0. Снова, для сравнения, первый вариант будет с использованием команды ifconfig, а второй с ip:
ifconfig eth0 192.168.11.101
ip a add 192.168.11.101/24 dev eth0
Управление таблицами маршрутизации
Таблицы маршрутизации также управляются командой ip. Вот как можно посмотреть таблицу маршрутизации:
ip r
Добавляем новый маршрут (как и в предыдущих примерах по принципу «было-стало»):
route add -net 192.168.11.0/24 dev eth2
ip route add 192.168.11.0/24 dev eth2
или маршрут по умолчанию:
route add default gw 192.168.100.1
ip route add default via 192.168.100.1
Я не ставил целью рассказать о всех возможных вариантах использования iproute2, сам только начинаю привыкать к команде ip и её синтаксису. Кому-то хватит даже этих базовых команд, а дальнейшее изучение каждый желающий может продолжить самостоятельно.
Комментариев: 5
Ну наконец то пришли к единому виду. А то даже в некоторых скриптах мешанина из ifconfig и ip.
Видимо этому способствует всепомнящий интернет.
Как жизненно... Меня тоже вогнало в ступор отсутствие ifconfig в свежем образе
Жаль, в статье не сказано, чем заменить netstat
Это что, издевательство? То init убирают, заменяют systemd, теперь мне вместо простого ifconfig надо будет писать незапоминаемую простыню опций команды ip?
Спасибо! Эту бы статью неделю назад мне,никак не мог понять,какого лешего сломался ifconfig .Благо в убунте ещё можно поставить старые net tools