Команда ip в Linux: 7 практических примеров использования
Когда-нибудь задумывались, что команда ip в Linux может сделать для вас? Может быть, вы только начинаете работать с терминалом Linux или управлением сетью. Позвольте мне провести вас через некоторые основные примеры работы команды ip.
Команда ip является инструментом командной строки для управления сетевыми устройствами, интерфейсами, туннелями и маршрутизацией. Вы можете как просматривать, так и изменять эти элементы вашей сети с помощью команды ip, изменяя хотя бы то, как устройство, которое вы используете, видит эти элементы.
Имейте в виду, что никакие изменения, которые вы вносите с помощью команды ip, следуя этим примерам, не являются постоянными. Это делает команду удобной, так как, если вы ошибетесь и разрушите подключение устройства к сети, вы можете просто перезагрузить его. Однако другая сторона этого аспекта заключается в том, что любые постоянные изменения, которые вы пытаетесь внести, потребуют других команд.
1. Посмотреть ваши сетевые интерфейсы
Одним из распространенных применений команды ip является проверка, какие сетевые устройства подключены к вашей системе Linux. Вы можете использовать эту информацию для подключения через сеть или для внесения в них изменений, и не только, как мы увидим позже.
Например, введите команду ip link show, чтобы перечислить все ваши сетевые интерфейсы вместе с другой потенциально полезной информацией о них.
На моем скриншоте вы можете увидеть, что у меня есть три сетевых интерфейса. Первый, lo, это внутреннее устройство обратной петли, «виртуальный» сетевой интерфейс, используемый только внутренними процессами моей системы Linux. Второй, wlo1, — это название беспроводной сетевой карты внутри моего ноутбука. Третий — это Ethernet-интерфейс, подключенный к моему ноутбуку через порт USB-C.
2. Отключить и включить сетевые интерфейсы
Допустим, вы определили интерфейс сети, и теперь вы хотите остановить его работу. По какой-то причине вы не хотите, чтобы через него проходили данные. Вы можете использовать команду ip, чтобы отключить его, чтобы Linux никогда его не использовал.
Способ сделать это заключается в использовании команды «link set», сообщая ip установить устройство в статус «down». В этом примере я использую ip, чтобы отключить свой беспроводной интерфейс под названием wlo1. Ваш интерфейс может называться так же или иметь другое название, поэтому убедитесь, что вы правильно указываете название интерфейса перед использованием команды.
sudo ip link set wlo1 down
С этого момента я не смогу использовать интерфейс wlo1, и если я снова выполню команду ip link show, я увижу, что его статус "выключен".
Скажем так, я передумал и хочу снова использовать wlo1. Легко.
ip link set wlo1 up
Как и прежде, нет подтверждающего сообщения о том, что что-то произошло, что указывает на то, что я могу считать wlo1 снова в работе.
3. Посмотрите свой локальный IP-адрес
Если вы хотите узнать, каков ваш IP-адрес относительно вашей локальной сети, команда ip является одним из самых простых способов это сделать. Это может быть полезно для выявления сопоставленных устройств в вашей сети, доступа к серверам, которые вы размещаете самостоятельно, и многому другому.
Введите ip address или ip addr, или просто ip a в ваш терминал, и вы увидите все IP-адреса вашего устройства, организованные по сетевым интерфейсам. Скорее всего, вас интересуют только не-лоопбэк адреса. Обратите внимание, что они будут отображаться с "/24" или чем-то подобным, чтобы указать на их класс CIDR.
Если у вас есть несколько физических сетевых интерфейсов, как у меня, вы увидите, что у вас есть несколько локальных IP-адресов. При подключении к моему устройству с другого устройства я могу выбрать, какой метод подключения (так называемый сетевой интерфейс) я предпочитаю, указав правильный IP-адрес.
Только IPV4
Команда ip address сама по себе выводит много информации, включая ваш IPV4 адрес и IPV6. Если вас интересует только IPV4, вы можете использовать флаг -4, чтобы отфильтровать только IPV4 адреса.
ip -4 a
Как вы можете видеть, вывод намного легче сканировать для IP-адреса.
Только IPV6
Аналогично, если вас интересует только версия вашего IP-адреса IPV6, вы можете использовать флаг -6.
ip -6 a
4. Добавьте локальный IP-адрес
Вам может потребоваться создать IP-адрес для интерфейса сети, например, чтобы устранить конфликты с другими устройствами или чтобы упростить программному обеспечению, ищущему конкретный адрес, найти ваше устройство. Вы можете сделать это с помощью команды ip.
В моем случае я хочу назначить своему Ethernet-соединению адрес 192.168.1.130. Я сначала подтвердил, конечно, что у меня нет других устройств в локальной сети с этим адресом; я не хочу вызывать конфликты IP-адресов. Затем я готов установить новый адрес с помощью этой команды:
sudo ip addr add 192.168.1.130/24 dev enx00e04c68143d
Теперь, когда я проверяю статистику своего Ethernet-устройства с помощью ip link show, я вижу, что есть два разных адреса.
5. Удалить IP-адрес
Скажем, после добавления моего нового IP-адреса я хочу удалить старый. Конечно, сначала я должен убедиться, что ничего в моей локальной сети не зависит от этого адреса для важных соединений и вместо этого использует мой новый, предпочтительный IP-адрес. Затем я просто ввожу эту команду:
sudo ip addr del 192.168.1.129/24 dev enx00e04c68143d
С настоящего момента моё устройство больше не будет доступно по адресу 192.168.1.129.
6. Просмотр и манипулирование соседями
Скажем, вы хотите увидеть, какие другие устройства находятся в вашей локальной сети и доступны для соединения. Команда ip позволяет вам сканировать "соседей", то есть локальные активные устройства, которые делают себя видимыми в сети. Это может быть полезно для устранения проблем с подключением.
Например, у меня есть Raspberry Pi и несколько других проводных устройств в моей сети прямо сейчас. Если я выполню команду ip neighbor или ip neigh или просто ip n, я увижу их адреса в списке.
Для каждой записи показаны MAC-адреса, которые помогут вам определить, какое устройство является каким. В конце каждой записи устройства также будет описание его текущего состояния, такого как «Доступно» или «Устарело» или «Задержка». Это может помочь вам разобраться, есть ли какие-либо проблемы с устройством, к которому вы пытаетесь подключиться.
Команда ip также позволяет мне вручную редактировать таблицу соседей. Скажем, мой Raspberry Pi, расположенный по адресу 192.168.1.121, по какой-то причине изменил MAC-адреса, и я хочу быстро обновить список соседей устройства, чтобы избежать проблем с подключением. Получив новый MAC-адрес 3d:2f:a2:a7:a0:74, я бы изменил свою запись следующим образом:
sudo ip n change 192.168.1.121 lladdr 3d:2f:a2:a7:a0:74 dev wlo1
Чтобы разобрать несколько вещей, «n change», за которым следует IP-адрес, определяет, какое устройство я модифицирую, а «lladdr 3d:2f:a2:a7:a0:74» указывает новый MAC-адрес, в то время как «dev wlo1» указывает сетевой интерфейс, который я использую для применения обновления.
Если бы вы следовали моему примеру, вам захотелось бы заменить IP-адрес, MAC-адрес и интерфейс на подходящие обозначения для вашей ситуации. Вы также можете добавить или удалить соседей с помощью команды ip, но я не буду углубляться в это в этой статье.
7. Проверьте сетевые маршруты
Вы можете узнать, как интернет-трафик вашего устройства маршрутизируется в локальной сети, используя объект "route" команды ip. Это может быть полезно, если вы пытаетесь разобраться с проблемами подключения. Просто выполните эту команду:
ip route
Или просто:
ip r
Вы можете увидеть четыре уникальных маршрута: маршрут по умолчанию к 192.168.1.1, адресу моего маршрутизатора, и маршрут к 192.168.1.0/24, который определяет диапазон для других устройств, подключенных к моей локальной сети, каждое из которых я могу адресовать либо через свой беспроводной интерфейс «wl01», либо через свой проводной интерфейс «enx00e04c68143d». Каждый также имеет «метрику», указывающую, насколько предпочтителен маршрут. Чем ниже метрика, тем более приоритетен маршрут.
Команда ip имеет много других возможностей, таких как добавление и удаление маршрутов, а также управление туннелями. Однако эти примеры — это легкие и простые шаги в мир сетевого администрирования Linux. В следующий раз я бы порекомендовал ознакомиться с примерами команды nc в действии или узнать, как установить статический IP-адрес в Ubuntu.











Добавить комментарий