- Главная
- Блог
- Без категории
- Команда ip в Linux: полное руководство с примерами использования
Команда ip в Linux: полное руководство с примерами использования
Команды:
ip ad (internet protocol address) - адреса интернет протокола
ip link (соединение)
ip link set dev ens33 down
ip link set dev ens33 up
ip r (route - маршрут)
ip n (neighbor - сосед)
Для изучения основных сетевых утилит в Linux, нам понадобится 2 виртуальные машины, это Ubuntu Server и MikroTIK, так как, сейчас у нас сетевое взаимодействие в виртуальной среде строится через роутер Микротик, то, для того, чтобы получить доступ к Ubuntu Server с хост системы, нам необходимо подключиться через VPN к Микротик, а дальше через SSH клиент подключиться к Ubuntu Server.
Начнем мы с изучения работы утилиты ip. Нам уже знакома команда ip ad, которая показывает сетевые параметры
ip ad (internet protocol address) - адреса интернет протокола
ip ad
Какие же еще часто используются команды утилиты ip
ip link (соединение)
ip link
так же показывает информацию о сетевых подключениях, но, с её помощью можно отключать и включать сетевые интерфейсы
ip link set dev ens33 down
данная команда отключает сетевой интерфейс ens33
Причем после того, как мы отключили этот интерфейс у нас, пропала связь, так как мы через данный сетевой интерфейс подключались к серверу через SSH.
Давайте включим его обратно, только уже непосредственно из интерфейса виртуальной машины, так как другого способа подключиться к серверу ну нас просто нет.
ip ad
И если ранее у нас у сетевого подключение ens33 было состояние "UP, LOWER_UP", то сейчас такой надписи нет, а значит, этот сетевой интерфейс отключён.
ip link set dev ens33 up
Теперь мы опять можем работать с серверном через SSH.
ip ad
статус опять появился "UP, LOWER_UP"
Статус UP — говорит о том, что интерфейс включен на уровне операционной системы, то есть программно активен и готов принимать и передавать данные.
Статус LOWER_UP — говорит о физическом уровне сетевой активности, например, сетевой кабель подключен и связь установлена на физическом уровне.
Давайте попробуем отключить сетевой интерфейс физически (VMWare \ ПКМ \ Settings \ Network Adapter \ Убираем галочку "Connected" \ ОК)
ip ad
И у нас появляется статус "NO-CARRIER" это означает что не обнаружен сигнал на сетевом кабеле. По сути, это говорит, что сетевой кабель либо не подключен, либо есть проблема с кабелем, портом или оборудованием. Этот статус указывает, что физический канал связи недоступен, и сетевой интерфейс не может передавать или принимать данные.
Это важно для диагностики проблем с сетью, так как NO-CARRIER однозначно указывает на отсутствие физического соединения, в отличие от других статусов, которые могут означать проблемы программного уровня.
Вернем все обратно (VMWare \ ПКМ \ Settings \ Network Adapter \ Ставим галочку "Connected" \ ОК)
ip ad
Статусы "UP,LOWER_UP" опять появились
Зачем может понадобиться отключать и включать сетевой интерфейс?
- - Для перезапуска интерфейса после изменения его настроек (IP-адрес, маршруты, MTU и др.), чтобы новые параметры вступили в силу.
- - Для временного отключения сети, например, при устранении неполадок, чтобы изолировать проблему.
- - Для управления несколькими сетевыми интерфейсами, например, при наличии нескольких адаптеров, чтобы активировать нужный и отключить ненужный.
- - Для экономии ресурсов или безопасности — временно отключить неиспользуемый интерфейс, чтобы не допускать нежелательный трафик.
- - При автоматизации и скриптах, чтобы контролировать состояние сети и переключаться между сетями. Например, если связь на каком-то интерфейсе пропала, то через отработку скрипта можно его отключить и включить резервный, чтобы связь возобновилась.
Таким образом, включение и отключение сетевого интерфейса — важный инструмент для настройки, диагностики, управления ресурсами и обеспечением безопасности.
Изменения внесенные через ip — это временные настройки, хранящиеся в оперативной памяти, удобные для тестирования, отладки и администрирования, а для стабильной работы сети изменения должны быть закреплены в конфигурационных файлах. При перезагрузке операционной системы настройки восстанавливаются из этих конфигурационных файлов, а не из текущего состояния памяти.
Так что, если вы вдруг где-то накосячили, то можно перезагрузить сервер и вы вновь получите к нему доступ. Такое бывает, когда вы что-то сделали на VPS сервере, то в панели управления сервером у хостера можно его просто перезагрузить, как крайний вариант. Хотя, у них через сайт так же должна быть доступна командная строка управления сервером.
ip r (route - маршрут)
ip r
default via 192.168.0.1 dev ens33 proto static
192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.14
- Запись **default via 192.168.0.1 dev ens33** означает, что все «неизвестные» или «вне локальной сети» запросы с компьютера будут отправляться на один основной маршрут — в данном случае на устройство с адресом 192.168.0.1, через сетевой интерфейс ens33. Это называется маршрутом по умолчанию (default route). В общем, если ресурс, к которому мы хотим получить доступ не находится в нашей локальной сети, то отправляем запрос через шлюз 192.168.0.1 во внешнюю сеть.
- Запись **192.168.0.0/24 dev ens33 proto kernel scope link src 192.168.0.14** говорит о том, что всю сеть 192.168.0.0 с маской 255.255.255.0 компьютер считает «своей» и может напрямую с ней общаться без промежуточных устройств. При этом исходный адрес на этом интерфейсе будет 192.168.0.14 — IP нашего компьютера в этой сети.
Иными словами, маршруты показывают, куда нужно отправлять пакеты в зависимости от их адреса:
- если адрес в пределах локальной сети — напрямую;
- если адрес «внешний» — через шлюз.
ip n (neighbor - сосед)
ip n
192.168.0.11 dev ens33 FAILED
192.168.0.10 dev ens33 FAILED
192.168.0.1 dev ens33 lladdr 00:0c:29:10:8f:b3 REACHABLE
192.168.0.12 dev ens33 lladdr 00:0c:29:e1:1b:8d STALE
Команда `ip n` отображает таблицу ARP в Linux. ARP — это протокол, который помогает компьютеру узнать MAC-адрес устройства по его IP-адресу для общения в локальной сети. Более подробно про таблицу ARP мы поговорим чуть позже.
Если простыми словами, это инструмент для просмотра "соседей" вашего компьютера в локальной сети.
FAILED (ошибочный) - попытка узнать MAC-адрес устройства не удалась, связь с соседом отсутствует, запись теперь считается недействительной.
STALE (устаревший) - запись еще действительна, но устройство некоторое время не общалось. Ядро помнит адрес, но хочет проверить, доступен ли сосед сейчас, при следующем контакте.
DELAY (ожидание) - началась проверка записи в состоянии STALE и ожидается подтверждение.
REACHABLE (доступный) - сосед (устройство с указанным IP и MAC) существует, сеть с ним рабочая, подтверждение получения пакетов успешно. Можно смело посылать данные
Эти статусы помогают системе понять, насколько актуальна информация о соседних устройствах в локальной сети, и своевременно обновлять её для корректной работы сети.
Тест с вводом команды
1. Ваш сетевой интерфейс ens33 перестал отвечать. Вам нужно попытаться восстановить связь, перезагрузив его. Какую последовательность команд вы выполните? Сначала отключите интерфейс. Затем включите его обратно.
Показать правильный ответ
ip link set dev ens33 downip link set dev ens33 up
2. Вы подозреваете проблему с маршрутизацией на сервере. Какую команду вы выполните, чтобы посмотреть таблицу маршрутизации и понять, куда отправляются пакеты?
Показать правильный ответ
ip routeИли сокращенный вариант:
ip r
3. К вам обращается коллега с вопросом: "Какой у меня IP-адрес?". Вы подключены к серверу по SSH. Какую команду вы выполните, чтобы быстро это выяснить?
Показать правильный ответ
ip adИли полный вариант:
ip addr
4. Вы хотите проверить, доступен ли в локальной сети хост с IP-адресом 192.168.1.100 и виден ли его MAC-адрес. Какую команду вы используете для просмотра соответствующей таблицы?
Показать правильный ответ
ip neighborИли сокращенный вариант:
ip n
5. Вам нужно полностью отключить сетевой интерфейс eth0 для проведения работ. Какой одной командой вы это сделаете?