Линукс ip command — мощная утилита для управления сетью. Она заменяет старые сетевые команды, такие как ifconfig, route и arp, предоставляя унифицированный набор инструментов для настройки, мониторинга и устранения неполадок сетевых параметров в системах Linux. Он обычно используется для настройки и управления IP-адресами, маршрутами и сетевыми интерфейсами.
Использование ключа и синтаксис ip Command #
ip Команда имеет структурированный синтаксис:
ip [OPTIONS] OBJECT COMMAND
- ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ включить флаги для дальнейшей настройки, например -4 для IPv4 или -6 для IPv6.
- ОБЪЕКТ представляет собой сетевой элемент, которым вы хотите управлять, например ссылка. (интерфейс), адр (адрес), маршрут, и т.д.
- КОМАНДА это действие, которое вы хотите выполнить, например добавить, по оценкам, , удалять или набор.
ip Таблица командных шпаргалок #
| Command | Описание |
ip link show |
Список всех сетевых интерфейсов |
ip addr show |
Показать IP-адреса для всех интерфейсов |
ip addr add <IP>/<subnet> dev <iface> |
Добавить IP-адрес к интерфейсу |
ip addr del <IP>/<subnet> dev <iface> |
Удалить IP-адрес из интерфейса |
ip route show |
Показать все записи таблицы маршрутизации |
ip route add <dest> via <gateway> |
Добавить новый маршрут |
ip route del <dest> |
Удалить существующий маршрут |
ip neigh show |
Отображение кэша соседей (таблица ARP) |
ip rule show |
Показать все правила маршрутизации |
ip rule add from <IP>/<prefix> table <table-id> |
Добавьте правило для маршрутизации из определенного источника с помощью таблицы |
ip rule del from <IP>/<prefix> table <table-id> |
Удалить правило на основе исходного IP |
ip addr Подкоманда #
ip addr команда отображает и управляет IP-адресами сетевых интерфейсов.
Показать #
ip addr show
Пример вывода #
Эта команда выводит список каждого сетевого интерфейса с подробностями, такими как IP-адрес, маска подсети, широковещательный адрес и состояние канала. Вот пример:
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:1a:02:50 brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 86320sec preferred_lft 86320sec inet6 fe80::a00:27ff:fe1a:250/64 scope link valid_lft forever preferred_lft forever
Объяснение вывода #
- Информация об интерфейсе: Строка, начинающаяся с
2: enp0s3показывает имя сетевого интерфейса (enp0s3), вместе с такими флагами, какBROADCAST,MULTICAST,UP,LOWER_UP, что указывает на то, что интерфейс поддерживает широковещательную и многоадресную передачу и работает. - MAC-адрес:
link/etherстрока отображает MAC-адрес (08:00:27:1a:02:50) интерфейса. - Адрес IPv4:
inetстрока предоставляет адрес IPv4 (192.168.1.10/24) назначенный интерфейсу, с/24указание маски подсети. - Адрес IPv6:
inet6строка содержит адрес IPv6 (fe80::a00:27ff:fe1a:250), если таковые имеются.
Эта команда необходима для проверки IP-адресов сетевых интерфейсов и их состояния.
Добавить #
Назначить IP-адрес сетевому интерфейсу
ip addr add 192.168.1.100/24 dev enp0s3
Результат
Эта команда не выводит данные в случае успеха, что является обычным явлением в Linux для команд конфигурации. Если есть проблема (например, конфликт IP), она выведет сообщение об ошибке.
Удалить #
Удалить IP-адрес из интерфейса
ip addr del 192.168.1.100/24 dev enp0s3
Результат
Похожий на что add, эта команда не выдает сообщение об успешном выполнении. Вы увидите вывод только в том случае, если IP-адрес не назначен указанному интерфейсу или если возникла другая ошибка.
Флэш #
Удалить все IP-адреса из интерфейса
ip addr flush dev enp0s3
Результат
Эта команда не выдает никаких выходных данных при успешном выполнении. Обычно она используется для сброса конфигурации IP интерфейса.
ip route Подкоманда #
ip route Команда управляет записями маршрутизации в таблице IP-маршрутизации ядра, указывая, куда следует пересылать пакеты.
Показать #
Отобразить таблицу маршрутизации
ip route show
Пример вывода
по умолчанию через 192.168.1.1 dev enp0s3 proto статический 192.168.1.0/24 dev enp0s3 proto ядро область ссылка src 192.168.1.10
Объяснение вывода
- по умолчанию через: Указывает маршрут по умолчанию, указывающий на IP-адрес шлюза (
192.168.1.1) для исходящего трафика. - 192.168.1.0/24 dev enp0s3: Показывает маршрут к локальной подсети, обрабатываемый
enp0s3интерфейс с192.168.1.10в качестве исходного адреса.
Добавить #
Создать новый маршрут
ip route add 10.0.0.0/24 via 192.168.1.1 dev enp0s3
Результат
Эта команда добавляет маршрут к 10.0.0.0/24 подсеть, маршрутизирующая трафик через 192.168.1.1 с помощью enp0s3. В случае успешного выполнения вывод не отображается.
Удалить #
Удалить маршрут
ip route del 10.0.0.0/24
Результат
Удаляет указанный маршрут, в случае успеха не выводит никаких данных.
Флэш #
Очистить записи таблицы маршрутизации
ip route flush dev enp0s3
Результат
Очищает все маршруты для enp0s3, обычно используется для реконфигурации или устранения неполадок.
ip rule Подкоманда #
Показать #
Список всех правил маршрутизации
ip rule show
Пример вывода
0: из всех локальных поисков 32766: из всех основных поисков 32767: из всех поисков по умолчанию
Объяснение вывода
Каждая строка показывает правило с номером приоритета (например, 0, 32766). Эти правила определяют, какая таблица маршрутизации (local, main или default) для использования в различных типах трафика.
Добавить #
Определить новое правило маршрутизации
ip rule add from 192.168.1.100/32 table 100
Результат
Это правило направляет трафик, исходящий из 192.168.1.100 сверяться с таблицей 100 для маршрутизации. Если команда выполнена успешно, вывода нет.
Удалить #
Удалить определенное правило
ip rule del from 192.168.1.100/32 table 100
Результат
Удаляет указанное правило, в случае успеха не выводит никаких данных.
ip link Подкоманда #
Показать #
Отображение информации о канальном уровне
ip link show
Пример вывода
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:1a:02:50 brd ff:ff:ff:ff:ff:ff
Объяснение вывода
- Информация об интерфейсе: Показывает имя интерфейса (
enp0s3), флаги (напримерUP) и другие параметры, такие как MTU (1500). - ссылка/эфир: Отображает MAC-адрес (
08:00:27:1a:02:50).
Поставьте: Настройка параметров интерфейса #
ip link set dev enp0s3 up
Результат
Устанавливает интерфейс enp0s3 в up, активируя его без отображения каких-либо выходных данных в случае успеха.
Добавить #
Создать виртуальный канал (например, VLAN)
ip link add link enp0s3 name enp0s3.10 type vlan id 10
Результат
Создает VLAN с идентификатором 10 связанные с enp0s3. Отсутствие выходных данных указывает на успешное выполнение команды.
Удалить: Удалить виртуальную ссылку #
ip link del dev enp0s3.10
Результат
Удаляет указанную виртуальную ссылку (enp0s3.10) без вывода, если операция прошла успешно.
Примеры использования ip Command #
Отображение подробной информации об интерфейсе #
Чтобы просмотреть все доступные сетевые интерфейсы с их IP-адресами, состояниями и дополнительными сведениями:
ip addr show
Это отображает информацию, такую как IP-адрес, маска подсети, широковещательный адрес и состояние интерфейса. Вы можете указать конкретный интерфейс, например ip addr show eth0, чтобы просмотреть подробную информацию об одном интерфейсе.
Добавить и удалить IP-адреса #
Чтобы назначить IP-адрес сетевому интерфейсу:
ip addr add 192.168.1.10/24 dev eth0
Эта команда назначает IP 192.168.1.10 с маской подсети /24 в eth0. Это полезно для настройки интерфейсов или добавления виртуальных IP-адресов на балансировщик нагрузки для обеспечения высокой доступности.
Чтобы удалить IP-адрес из интерфейса:
ip addr del 192.168.1.10/24 dev eth0
Настройка статического маршрута #
Чтобы добавить статический маршрут, необходимый для направления трафика в определенные сети:
ip route add 192.168.2.0/24 via 192.168.1.1
Это задает маршрут для 192.168.2.0/24 сеть, направляющая пакеты через 192.168.1.1 шлюз.
Настройка записей IP-соседства (таблица ARP) #
Чтобы добавить постоянную запись в таблицу ARP:
ip neigh add 192.168.1.5 lladdr 00:11:22:33:44:55 dev eth0
Это вручную сопоставляет IP-адрес 192.168.1.5 на MAC-адрес 00:11:22:33:44:55 on eth0.
Чтобы удалить запись ARP:
ip neigh del 192.168.1.5 dev eth0
. ip rule для расширенной маршрутизации #
ip rule объект в ip Команда используется для маршрутизации на основе политик, позволяя вам устанавливать правила, которые направляют пакеты по-разному в зависимости от источника, назначения или других атрибутов пакета. Это особенно полезно в расширенных сетевых настройках, где требуется несколько таблиц маршрутизации, например, многосетевые настройки или особые политики маршрутизации для определенных диапазонов IP-адресов.
Например, чтобы добавить правило, которое маршрутизирует все пакеты с определенного исходного IP-адреса (192.168.1.100) с использованием пользовательской таблицы маршрутизации (table 100):
ip rule add from 192.168.1.100/32 table 100
Чтобы направить трафик в определенный пункт назначения с использованием другой таблицы:
ip rule add to 10.10.0.0/24 table 100
Чтобы просмотреть все правила:
ip rule show
Посмотрите на график ip Команда с RELIANOID Балансировщик нагрузки #
In RELIANOIDСреда балансировки нагрузки, ip Команда может быть полезной для настройки и оптимизации сети. Вот как можно эффективно ее использовать:
Назначение виртуальных IP-адресов #
На RELIANOID балансировщик нагрузки, виртуальные IP-адреса имеют решающее значение для распределения нагрузки и высокой доступности. Используйте следующее для назначения VIP:
ip addr add 10.10.10.1/24 dev eth0
Это создает виртуальный IP-адрес на основном интерфейсе, помогая распределять клиентские запросы по нескольким внутренним серверам.
Управление маршрутами для внутренней коммуникации #
Чтобы гарантировать, что балансировщик нагрузки перенаправляет трафик на внутренние серверы в определенной подсети, настройте статический маршрут:
ip route add 10.10.20.0/24 via 10.10.10.2
Эта конфигурация обеспечивает трафик, предназначенный для 10.10.20.0/24 правильно маршрутизируется через указанный шлюз.
Статистика сетевого интерфейса мониторинга #
Проверка статистики интерфейса полезна для мониторинга нагрузки трафика и устранения неполадок. Например:
ip -s link show eth0
Эта команда предоставляет статистику в реальном времени по передаче пакетов, ошибкам и потерям на eth0 интерфейс, который может помочь контролировать нагрузку и при необходимости корректировать настройки балансировки.
Посмотрите на график ip команда, RELIANOIDБалансировщик нагрузки может поддерживать эффективную конфигурацию сети, динамически управлять IP-адресами и маршрутами, а также обеспечивать надежную основу для безопасной и оптимизированной обработки трафика.
Резюме #
Подводя итог, можно сказать, что Linux ip command — универсальный и важный инструмент для настройки и управления сетью, позволяющий осуществлять детальный контроль над интерфейсами, маршрутами и политиками. Его гибкость позволяет эффективно обрабатывать сложные сетевые настройки, например, в средах балансировки нагрузки, позволяя администраторам управлять IP-адресами, определять маршруты и внедрять правила на основе политик. Для RELIANOID Балансировщики нагрузки, использующие ip command обеспечивает надежное управление трафиком, оптимизированную маршрутизацию и отказоустойчивую архитектуру, готовую к высокой доступности и эффективному распределению нагрузки.