Тяжело расставаться с привычными инструментами в 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 и её синтаксису. Кому-то хватит даже этих базовых команд, а дальнейшее изучение каждый желающий может продолжить самостоятельно.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.
ЕСЛИ СЧИТАЕТЕ СТАТЬЮ ПОЛЕЗНОЙ,
НЕ ЛЕНИТЕСЬ СТАВИТЬ ЛАЙКИ И ДЕЛИТЬСЯ С ДРУЗЬЯМИ.