Ip addr show linux что это

Содержание
  1. Команда ip Linux с примерами
  2. Linux ip Command with Examples
  3. В этом руководстве мы покажем вам, как использовать ip команду, на практических примерах и подробных объяснениях наиболее распространенных опций.
  4. Как использовать команду ip
  5. Отображение и изменение IP-адресов
  6. Показать информацию обо всех IP-адресах
  7. Отображение информации об одном сетевом интерфейсе
  8. Назначьте IP-адреса интерфейсу
  9. Назначьте несколько IP-адресов одному интерфейсу
  10. Удалить / Удалить IP-адрес из интерфейса
  11. Отображение и изменение сетевых интерфейсов
  12. Отображение информации о сетевых интерфейсах
  13. Изменить статус интерфейса ВВЕРХ / ВНИЗ
  14. Отображение и изменение таблицы маршрутизации
  15. Показать таблицу маршрутизации
  16. Добавить новый маршрут
  17. Удалить маршрут
  18. Вывод
  19. Ip addr show linux что это
  20. ОПЦИИ
  21. СИНТАКСИС КОМАНД IP
  22. ОБЪЕКТ
  23. КОМАНДА
  24. ip link — настройка сетевого интерфейса
  25. ip link set — изменить параметры интерфейса
  26. ip link show — показать параметры интерфейса
  27. ip address — управление адресом.
  28. ip address add — добавить новый адрес протокола.
  29. ip address delete — удалить адрес протокола
  30. ip address show — вывод адресов протокола
  31. ip address flush — очистить адреса протокола
  32. ip neighbour — управление таблицей соседей/arp.
  33. ip neighbour add — добавить новую запись о соседе
  34. ip neighbour change — изменить существующую запись
  35. ip neighbour replace — добавить новую запись или заменить существующую
  36. ip neighbour delete — удалить запись о соседнем хосте
  37. ip neighbour show — список записей о соседних хостах
  38. ip neighbour flush — очистить записи таблицы о соседних хостах
  39. ip route — управление таблицей маршрутизации
  40. ip route add — добавить маршрут
  41. ip route change — изменить маршрут
  42. ip route replace — добавить или изменить маршрут
  43. ip route delete — удалить маршрут
  44. ip route show — вывод списка маршрутов
  45. ip route flush — очистка таблицы маршрутизации
  46. ip route get — вывести один маршрут
  47. ip rule — управление правилами маршрутизации
  48. ip rule add — добавить правило
  49. ip rule delete — удалить правило
  50. ip rule flush — также вывести все удалённые правила.
  51. ip rule show — вывести список правил
  52. ip maddress — управление адресами multicast
  53. ip maddress show — список адресов multicast
  54. ip maddress add — добавить адрес multicast
  55. ip maddress delete — удалить адрес multicast
  56. ip mroute — управление кэшем маршрутизации multicast
  57. ip mroute show — список записей кэша mroute
  58. ip tunnel — настройка туннеля
  59. ip tunnel add — добавить туннель
  60. ip tunnel change — изменить параметры туннеля
  61. ip tunnel delete — уничтожить туннель
  62. ip tunnel show — список туннелей
  63. ip monitor и rtmon — мониторинг состояния

Команда ip Linux с примерами

Linux ip Command with Examples

В этом руководстве мы покажем вам, как использовать ip команду, на практических примерах и подробных объяснениях наиболее распространенных опций.

Команда ip является мощным инструментом для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Его можно использовать для повышения или понижения интерфейсов, назначения и удаления адресов, маршрутов, управления кешем ARP и многого другого.

Как использовать команду ip

ip Утилита является частью пакета iproute2 , который устанавливается на всех современных дистрибутивов Linux.

Синтаксис ip команды следующий:

OBJECT — это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):

  • link ( l ) — Отображение и изменение сетевых интерфейсов.
  • address ( a ) — Отображение и изменение IP-адресов.
  • route ( r ) — Показать и изменить таблицу маршрутизации.
  • neigh ( n ) — Отображать и манипулировать соседними объектами (таблица ARP).

Объект может быть написан в полной или сокращенной (краткой) форме. Для отображения списка команд и аргументов для каждого типа объекта ip OBJECT help . каждая подкоманда

При настройке сетевых интерфейсов вы должны выполнять команды как пользователь root или пользователь с привилегиями sudo . В противном случае команда напечатает RTNETLINK answers: Operation not permitted

Конфигурации, установленные с помощью ip команды, не являются постоянными. После перезагрузки системы все изменения будут потеряны. Для постоянных настроек вам нужно отредактировать дистрибутивные файлы конфигурации или добавить команды в скрипт запуска.

Отображение и изменение IP-адресов

При работе с addr объектом команды принимают следующую форму:

Показать информацию обо всех IP-адресах

Для отображения списка всех сетевых интерфейсов и связанного с ним IP-адреса введите следующую команду:

Вывод будет выглядеть примерно так:

Вы получите тот же результат , если вы наберете опускаете show команду и введите: ip addr .

Если вы хотите отображать только IPv4 или IPv6 IP-адреса, используйте ip -4 addr или ip -6 addr .

Отображение информации об одном сетевом интерфейсе

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip addr show dev имя устройства. Например, для запроса eth0 вы должны набрать:

Назначьте IP-адреса интерфейсу

Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:

Чтобы добавить адрес 192.168.121.45 с сетевой маской 24 на устройство, eth0 вы должны набрать:

В случае успеха команда не будет отображать никаких выходных данных. Если интерфейс не существует, вы получите Cannot find device «eth0» .

Назначьте несколько IP-адресов одному интерфейсу

С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:

Для подтверждения назначенного IP-адреса введите ip -4 addr show dev eth0 или ip -4 a show dev eth0 :

Удалить / Удалить IP-адрес из интерфейса

Синтаксис для удаления IP-адреса из интерфейса, как показано ниже:

IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите удалить из интерфейса.

Для удаления адреса 192.168.121.45/24 из устройства eth0 введите:

Отображение и изменение сетевых интерфейсов

Для управления и просмотра состояния сетевых интерфейсов используйте link объект.

Наиболее часто используемые команды при работе с link объектами являются: show , set , add , и del .

Отображение информации о сетевых интерфейсах

Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:

В отличие от ip addr show , ip link show не будет печатать информацию об IP-адресах, связанных с устройством.

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev имя устройства. Например, для запроса eth0 вы должны набрать:

Изменить статус интерфейса ВВЕРХ / ВНИЗ

Чтобы включить или выключить интерфейсы, используйте ip link set dev имя устройства и желаемое состояние:

И вывести если офлайн

Отображение и изменение таблицы маршрутизации

Для назначения, удаления и отображения таблицы маршрутизации ядра используйте route объект. Наиболее часто используемые команды при работе с объектами маршруты: list , add и del .

Показать таблицу маршрутизации

Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:

Например, чтобы отобразить только маршрутизацию для конкретной сети, 172.17.0.0/16 введите:

Добавить новый маршрут

Чтобы добавить новую запись в таблицу маршрутизации, используйте route add команду, а затем имя сети или устройства.

Добавьте маршрут к 192.168.121.0/24 через шлюз в 192.168.121.1

Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.

Чтобы добавить маршрут по умолчанию, используйте ключевое слово default . Следующая команда добавит маршрут по умолчанию через локальный шлюз, 192.168.121.1 который может быть достигнут на устройстве eth0 .

Удалить маршрут

Чтобы удалить запись из таблицы маршрутизации, используйте route add команду: Синтаксис для удаления маршрута такой же, как и при добавлении.

Следующая команда удалит маршрут по умолчанию:

Удалите маршрут для 192.168.121.0/24 через шлюз в 192.168.121.1

Вывод

К настоящему времени вы должны хорошо понимать, как использовать команду Linux ip . Для получения дополнительной информации о других ip параметрах посетите страницу руководства по команде ip или введите man ip свой терминал.

Источник

Ip addr show linux что это

ip [ ОПЦИИ ] ОБЪЕКТ

ip link set ИНТЕРФЕЙС < up | down | arp < on | off >|
promisc < on | off >|
allmulti < on | off >|
dynamic < on | off >|
multicast < on | off >|
txqueuelen КОЛИЧЕСТВО_ПАКЕТОВ |
name НОВОЕ_ИМЯ |
address LLADDR | broadcast LLADDR |
mtu MTU >

ip link show [ ИНТЕРФЕЙС ]

ip addr < add | del >IFADDR dev СТРОКА

ip addr < show | flush >[ dev СТРОКА ] [ scope SCOPE-ID ] [ to ПРЕФИКС ] [ СПИСОК_ФЛАГОВ ] [ label ШАБЛОН ]

IFADDR := ПРЕФИКС | ADDR peer ПРЕФИКС [ broadcast АДРЕС ] [ anycast АДРЕС ] [ label СТРОКА ] [ scope SCOPE-ID ]

SCOPE-ID := [ host | link | global | ЧИСЛО ]

СПИСОК_ФЛАГОВ := [ СПИСОК_ФЛАГОВ ] ФЛАГ

ФЛАГ := [ permanent | dynamic | secondary | primary | tentative | deprecated ]

ip route get АДРЕС [ from АДРЕС iif СТРОКА ] [ oif СТРОКА ] [ tos TOS ]

СЕЛЕКТОР := [ root ПРЕФИКС ] [ match ПРЕФИКС ] [ exact ПРЕФИКС ] [ table TABLE_ID ] [ proto RTPROTO ] [ type ТИП ] [ scope ДИАПАЗОН ]

МАРШРУТ := NODE_SPEC [ INFO_SPEC ]

NODE_SPEC := [ ТИП ] ПРЕФИКС [ tos TOS ] [ table TABLE_ID ] [ proto RTPROTO ] [ scope ДИАПАЗОН ] [ metric МЕТРИКА ]

INFO_SPEC := ФЛАГИ ПАРАМЕТРОВ NH [ nexthop NH ] .

NH := [ via АДРЕС ] [ dev СТРОКА ] [ weight ЧИСЛО ] NHFLAGS

OPTIONS := FLAGS [ mtu ЧИСЛО ] [ advmss ЧИСЛО ] [ rtt ЧИСЛО ] [ rttvar ЧИСЛО ] [ window ЧИСЛО ] [ cwnd ЧИСЛО ] [ ssthresh REALM ] [ realms REALM ]

ТИП := [ unicast | local | broadcast | multicast | throw | unreachable | prohibit | blackhole | nat ]

TABLE_ID := [ local | main | default | all | ЧИСЛО ]

ДИАПАЗОН := [ host | link | global | ЧИСЛО ]

NHFLAGS := [ onlink | pervasive ]

RTPROTO := [ kernel | boot | static | ЧИСЛО ]

ip rule [ list | add | del | flush ] СЕЛЕКТОР ДЕЙСТВИЕ

СЕЛЕКТОР := [ from ПРЕФИКС ] [ to ПРЕФИКС ] [ tos TOS ] [ fwmark FWMARK[/МАСКА] ] [ dev СТРОКА ] [ pref ЧИСЛО ]

ДЕЙСТВИЕ := [ table TABLE_ID ] [ nat АДРЕС ] [ prohibit | reject | unreachable ] [ realms [ SRCREALM /] DSTREALM ]

TABLE_ID := [ local | main | default | ЧИСЛО ]

ip neigh < show | flush >[ to ПРЕФИКС ] [ dev ИНТЕРФЕЙС ] [ nud СТАТУС ]

ip tunnel < add | change | del | show >[ ИМЯ ]
[ mode < ipip | gre | sit >]
[ remote АДРЕС ] [ local АДРЕС ]
[ [ i | o ] seq ] [ [ i | o ] key КЛЮЧ ] [ [ i | o ] csum ] ]
[ ttl TTL ] [ tos TOS ] [ [ no ] pmtudisc ]
[ dev PHYS_DEV ]

ip maddr [ add | del ] MULTIADDR dev СТРОК

ip maddr show [ dev СТРОКА ]

ip mroute show [ ПРЕФИКС ] [ from ПРЕФИКС ] [ iif ИНТЕРФЕЙС ]

ip monitor [ all | СПИСОК_ОБЪЕКТОВ ]

ОПЦИИ

-V , -Version вывести версию ip и выйти.

-s , -stats, -statistics выводить больше информации. Если опция указывается два или больше раз, подробность выводимой информации увеличивается.

-f , -family идентификатор протокола: inet , inet6 или link . Если опция не указана, семейство протоколов будет определено из других опций. Если этих опций недостаточно, будет использовано семейство по умолчанию: inet или any (любой) . link — специальный идентификатор, означающий что сетевой протокол не задействован.

-4 сокращение для -family inet .

-6 сокращение для -family inet6 .

-0 сокращение для -family link .

-o , -oneline выводить каждую запись на отдельной строке, заменяя перевод строки на символ » . Это удобно чтобы подсчитать количество записей командой wc (1)
или отфильтровать вывод командой grep (1) .

-r , -resolve выводить имена хостов вместо IP-адресов.

СИНТАКСИС КОМАНД IP


ОБЪЕКТ

link — сетевой интерфейс.

address — адрес на интерфейсе в соответствии с протоколом (IP или IPv6). neighbour — запись кэша ARP или NDISC.

route — запись таблицы маршрутизации.

rule — правило маршрутизации.

maddress — адрес multicast.

mroute — запись кэша маршрутизации адреса multicast.

tunnel — туннель IP.

Имена объектов могут быть указаны полностью или в сокращённой форме, например, address может быть сокращён до addr или до a.

КОМАНДА

Указывает действие над объектом. Список доступных действий зависит от типа объекта. Как правило, доступны действия add , delete и show (или list ), но некоторые объекты не поддерживают все эти действия или имеют другие действия и соглашения о синтаксисе параметров.

Если команда не указана, используется команда по умолчанию. Обычно это list или, если невозможно получить список объектов этого класса, help .

link — сетевой интерфейс и следующие команды показывают и изменяют его параметры.

dev ИМЯ (по умолчанию) ИМЯ определяет имя сетевого интерфейса.

up и down изменяет состояние интерфейса на ВКЛЮЧЕН и ВЫКЛЮЧЕН .

arp on или arp off изменяет флаг NOARP интерфейса.

multicast on или multicast off изменяет флаг MULTICAST интерфейса.

dynamic on или dynamic off изменяет флаг DYNAMIC интерфейса.

name ИМЯ изменить имя интерфейса. Эта операция не рекомендуется на работающем интерфейсе или интерфейсе с настроенными адресами.

txqueuelen ЧИСЛО txqlen ЧИСЛО изменить размер очереди передачи интерфейса.

mtu ЧИСЛО изменить MTU интерфейса.

address LLАДРЕС изменить адрес станции интерфейса.

broadcast LLАДРЕС brd LLАДРЕС peer LLАДРЕС изменить широковещательный адрес или адрес канала для интерфейса ТОЧКА-ТОЧКА .

Внимание: Если изменяется сразу несколько параметров, ip прерывает работу, если любое из изменений завершилось с ошибкой. Это единственный случай, когда ip может привести систему в нерабочее состояние. Чтобы этого не случилось, не изменяйте несколько параметров через ip link set за раз, если не уверены.

dev ИМЯ (по умолчанию) ИМЯ указывает интерфейс, параметры которого будут выведены. Если эта опция опущена, будут показаны параметры всех интерфейсов.

up показать только запущенные интерфейсы.

ip address — управление адресом.

address обозначает адрес протокола (IP или IPv6), назначенный интерфейсу. Каждый интерфейс должен иметь как минимум один адрес для использования соответствующего протокола. Можно назначить несколько адресов, указав в опции alias , но в данном документе это не рассматривается.

Команда ip addr выводит адреса и их свойства, добавляет новые адреса и удаляет существующие.

ip address add — добавить новый адрес протокола.

dev ИМЯ имя интерфейса, которому назначается адрес.

local АДРЕС (по умолчанию) адрес интерфейса. Формат адреса зависит от протокола: десятичные числа через точку для IP или шестнадцатеричные числа через двоеточие для IPv6. После АДРЕСА может быть указана маска подсети через ‘/’.

peer АДРЕС Адрес удалённой стороны для интерфейсов точка-точка. Точно также АДРЕС может быть указан с маской подсети. Если указан адрес peer, локальный адрес не может маску подсети, так как маска подсети назначается адресом ‘peer’.

broadcast АДРЕС Широковещательный адрес интерфейса.

Можно указать специальные символы ‘+’ и ‘-‘ вместо полного адреса. В этом случае, широковещательный адрес определяется из маски подсети установкой или снятием битов макси подсети.

label ИМЯ Каждый адрес может быть помечен строкой. Для сохранения совместимости с сетевыми алиасами Linux-2.0, эта строка должна совпадать с именем интерфейса или начинаться с имени интерфейса, после которого идёт двоеточие.

scope SCOPE_VALUE Диапазон области, которой соответствует адрес. Доступные диапазоны приведены в файле /etc/iproute2/rt_scopes . Предопределённые диапазоны:

global — глобальный адрес.

site — (только IPv6) локальный адрес сайта, т.е. действителен только в пределах этого сайта.

link — локальный адрес интерфейса, т.е. действителен только на этом интерфейсе.

host — адрес действителен только на этом хосте.

ip address delete — удалить адрес протокола


ip address show — вывод адресов протокола

dev ИМЯ (по умолчанию) имя интерфейса.

scope SCOPE_VAL показывать адреса только в указанном диапазоне.

to ПРЕФИКС показывать адреса, соответствующие ПРЕФИКСУ.

label ШАБЛОН показывать только адреса с метками, совпадающими с ШАБЛОНОМ . ШАБЛОН соответствует обычному шаблону командной оболочки.

dynamic и permanent (только IPv6) показать безстатусные и фиксированные (не динамические) адреса.

tentative (только IPv6) показать дублированные адреса.

deprecated (только IPv6) показать только устаревшие адреса.

primary и secondary показать только первичные (или вторичные) адреса.

ip address flush — очистить адреса протокола

Команда принимает те же параметры, что и show. Различие состоит в том, что она не запускается, если параметры не указаны.

Внимание: Эта команда (и другие команды flush описываемые ниже) очень опасна. Если вы сделаете ошибку, могут быть удалены все адреса.

С опцией -statistics вывод команды становится более подробный. Выводится количество удалённых адресов и количество раз очистки адресов. Если опция указана дважды, ip addr flush также выводит все удалённые адреса в формате, описанной в предыдущем разделе.

ip neighbour — управление таблицей соседей/arp.

Объекты neighbour (сосед) связывают адреса протокола и адреса сетевых адаптеров для хостов одной и той же сети. Записи о соседях организованы в виде таблиц. Таблица соседей протокола IPv4 также известна под именем «таблица ARP».

Следующие команды показывают связи с соседями и параметры этих связей, а также добавляют новые записи или удаляют существующие.

ip neighbour add — добавить новую запись о соседе


ip neighbour change — изменить существующую запись


ip neighbour replace — добавить новую запись или заменить существующую

Эти команды добавляют новые записи о соседях или обновляют существующие записи.

to АДРЕС (по умолчанию) адрес протокола соседнего хоста, т.е. адрес IPv4 или IPv6.

dev ИМЯ имя интерфейса, через который доступен соседний хост.

lladdr LLАДРЕС Адрес сетевого адаптера соседнего хоста. LLАДРЕС также может быть указано как null (пустой) .

nud NUD_STATE статус записи о соседнем хосте. nud — сокращение от ‘Neighbour Unreachability Detection’ (определение доступности соседа). Статус может получать одно из следующих значений:

permanent — запись о соседнем хосте действительна всегда и может быть удалена только административно.

noarp — запись о соседнем хосте действительна. Попыток определения его доступности не производится, но запись может быть удалена по истечению её жизненного цикла.

reachable — запись о соседнем хосте действительна пока не произошёл таймаут при определении доступности хоста.

stale — запись о соседнем хосте действительна, но помечена как подозрительная. Это значение, переданное команде ip neigh не изменяет статус соседнего хоста, если он действителен и адрес не меняется в этой команде.

ip neighbour delete — удалить запись о соседнем хосте

Параметры вызова такие же как и для ip neigh add за исключением игнорирования параметров lladdr и nud .

Внимание: Попытка удалить или изменить вручную запись noarp , созданную ядром может привести к непредсказуемым последствиям. Ядро может пытаться определить доступность адреса даже если у интерфейса указан флаг NOARP или адрес является адресом multicast или широковещательным.

ip neighbour show — список записей о соседних хостах

Эта команда показывает таблицы с адресами соседних хостов.

to АДРЕС (по умолчанию) префикс выбора адресов.

dev ИМЯ показать соседние хосты, доступные только через указанный интерфейс.

unused показать список соседних хостов, которые не используются.

nud NUD_STATE показать соседние хосты только с указанным статусом. NUD_STATE является значением, указанным выше, или специальным значением all , которое означает все статусы. Эта опция может быть указана несколько раз. Если опция не указана, ip выводит все записи, кроме имеющих статус none и noarp .

ip neighbour flush — очистить записи таблицы о соседних хостах

Команда принимает те же параметры, что и show. Различия в том, как обрабатываются команды без аргументов и что статус по умолчанию не учитывает статусы permanent и noarp .

С опцией -statistics вывод команды становится более подробным. Начинают выводится количество удалённых записей и количество вызова команды flush. Если опция указана дважды, ip neigh flush также выводит содержимое удалённых записей.

ip route — управление таблицей маршрутизации

unicast — маршрут описывает действующий путь к хостам сети.

unreachable — хосты по маршруту недоступны. Пакеты отбрасываются и возвращаются сообщения ICMP host unreachable . Локальные отправители получают ошибку EHOSTUNREACH .

blackhole — хосты по маршруту недоступны. Пакеты отбрасываются без уведомления об ошибке. Локальные отправители получают ошибку EINVAL .

prohibit — хосты по маршруту недоступны. Пакеты отбрасываются и возвращаются сообщения ICMP communication administratively prohibited . Локальные отправители получают ошибку EACCES .

local — целевые хосты соответствуют текущему хосту. Пакеты доставляются локально.

broadcast — целевые хосты являются широковещательным адресом. Пакеты отправляются как широковещательные запросы.

throw — специальный контролируемый маршрут, действующий оп определённым правилам. При отправке по этому маршруту система притворяется, что маршрут не найден. Без правил маршрутизации это эквивалентно отсутствию маршрута в таблице маршрутизации. Пакеты отбрасываются и возвращаются сообщения ICMP net unreachable . Локальные отправители получают ошибку EHOSTUNREACH .

nat — специальная таблица NAT. Целевые хосты по этому маршруту определяются как фиктивные (или внешние) адреса, для которых необходимо преобразование на реальные (или внутренние) адреса перед пересылкой. Транслируемые адреса указываются в дополнительном параметре. Внимание: Маршрут NAT не поддерживается в ядрах Linux 2.6.

anycast — не реализовано целевые хосты имеют адреса anycast привязанные к этому хосту. Это эквивалент маршруту local с одним отличием: такие адреса признаются недействительными, если используются как адрес источника пакета.

multicast — специальный тип, используемый для маршрутизации multicast. В обычных таблицах маршрутизации не присутствует.

Таблицы маршрутизации: Ядра Linux-2.x могут хранить информацию о маршрутизации в нескольких таблицах маршрутизации, имеющих номер в диапазоне от 1 до 255 или имя из файла /etc/iproute2/rt_tables главную (main) таблицу (ID 254) и ядро использует только эту таблицу при определении маршрутов.

В действительности, всегда существует ещё одна таблица, которая невидима, но даже более важна. Это локальная (local) таблица (ID 255). Эта таблица состоит из маршрутов для локальных и широковещательных адресов. Ядро поддерживает эту таблицу автоматически и системному администратору обычно нет необходимости изменять её и даже просто смотреть..

Поддержка нескольких таблиц маршрутизации начинается при использовании policy routing (маршрутизация по правилам).

ip route add — добавить маршрут


ip route change — изменить маршрут


ip route replace — добавить или изменить маршрут

to ТИП ПРЕФИКС (по умолчанию) префикс назначения маршрута. Если параметр ТИП опущен, ip подразумевает тип unicast . Прочие значения ТИПА были перечислены выше. ПРЕФИКС является адресом IP или IPv6 опционально дополненном слешем и маской подсети. Если маска подсети пропущена, ip использует маршрут для всех адресов. Есть предопределённое значение ПРЕФИКС default — который эквивалентен для IP 0/0 или для IPv6 ::/0 .

tos TOS dsfield TOS значение типа услуги (Type Of Service, TOS). Это поле не имеет связанной маски. Сравниваются TOS маршрута и пакета. Если они не равны, пакет соответствует маршруту в нулевым TOS. TOS является 8-битным шестнадцатеричным числом или идентификатором из /etc/iproute2/rt_dsfield .

metric ЧИСЛО preference ЧИСЛО значение предпочтения маршрута. ЧИСЛО — обычное 32-битное число.

table TABLEID таблица, в которую будет добавлен маршрут. TABLEID может быть числом или идентификатором из файла /etc/iproute2/rt_tables . Если параметр опущен, ip подразумевает главную (main) таблицу, за исключением маршрутов local , broadcast и nat , которые добавляются в локальную (local) таблицу по умолчанию.

dev ИМЯ имя интерфейса.

via АДРЕС адрес следующего узла. Значение этого поля зависит от типа маршрутизации. Для обычных маршрутов unicast означает адрес следующего узла или, в случае прямого маршрута в режиме совместимости BSD, локальный адрес интерфейса. Для маршрутов NAT — первый адрес блока транслируемых IP-адресов.

src АДРЕС адрес источника.

realm REALMID область (realm), которой назначен маршрут. REALMID может быть числом или идентификатором из файла /etc/iproute2/rt_realms .

mtu MTU mtu lock MTU MTU маршрута. Если не используется модификатор lock , MTU определяется ядром. Если используется модификатор lock MTU не определяется автоматически, все пакеты отправляются без бита DF для IPv4 или фрагментированного MTU для IPv6.

window ЧИСЛО максимальное окно TCP для уведомления целевых хостов, указанное в байтах. Ограничивает отправку данных нам за раз по TCP.

rtt ЧИСЛО начальная оценка RTT (‘Round Trip Time’).

rttvar ЧИСЛО (2.3.15+ только) начальное расхождение оценки RTT.

ssthresh ЧИСЛО (2.3.15+ только) оценка начального порога.

cwnd ЧИСЛО (2.3.15+ только) смычка для перегруженного окна. Игнорируется, если не используется модификатор lock .

advmss ЧИСЛО (2.3.15+ только) MSS (‘Maximal Segment Size’ — максимальный размер сегмента) для уведомления целевых хостов, с которыми установлены соединения. Если значение не указано, Linux использует значение по умолчанию, вычисляемое из MTU следующего узла (если путь к хостам асимметричен, значение может быть определено неверно).

reordering ЧИСЛО (2.3.15+ только) максимальная смена порядка в пути. Если не указано, Linux использует значение sysctl из файла net/ipv4/tcp_reordering .

nexthop NEXTHOP следующий узел (nexthop) в маршруте со множеством путей (multipath route). NEXTHOP представляет собой составное выражение с собственным синтаксисом похожим на синтаксис команд верхнего уровня:

via АДРЕС — следующий узел.

dev ИМЯ — интерфейс исходящего трафика.

weight ЧИСЛО — вес для элемента в маршруте со множеством путей, отражающий связанный канал или качество.

scope SCOPE_VAL диапазон целевых хостов по префиксу маршрута. SCOPE_VAL может быть числом или строкой из файла /etc/iproute2/rt_scopes . Если параметр опущен, ip подразумевает диапазон global для всех маршрутов unicast , диапазон link для прямых маршрутов unicast и broadcast и диапазон host для локальных маршрутов.

protocol RTPROTO протокол маршрутизации. RTPROTO может быть числом или строкой из файла /etc/iproute2/rt_protos . Если идентификатор протокола маршрутизации не указан, ip подразумевает протокол boot . Некоторые значения протоколов имеют фиксированную интерпретацию:

redirect — маршрут устанавливается перенаправлением ICMP.

kernel — маршрут устанавливается ядром при автоконфигурации.

boot — маршрут устанавливается при загрузке. Когда стартует демон маршрутизации, всем маршрутам назначается этот протокол.

static — маршрут устанавливается администратором для перезаписи динамической маршрутизации. Демон маршрутизации предпочитает такие маршруты и рекомендует
использовать их.

ra — маршрут устанавливается протоколом Router Discovery.

Значения этого параметра не резервируются и администратор вправе назначить (или не назначать) метки протоколов.

onlink симулировать прямое подключение следующего узла к этому интерфейсу, даже если он не находится в этой сети.

equalize позволять пакетам распределяться случайным образом по маршруту с несколькими путями. Без этого модификатора маршрут будет зафиксирован на единственный следующий узел. equalize работает только если ядро пропатчено.

ip route delete — удалить маршрут

ip route del имеет те же параметры, что и ip route add , но их значение несколько отличается.

Ключевые значения ( to , tos , preference и table ) выбирают удаляемый маршрут. Если указаны дополнительные параметры, ip проверяет совпадение указанных атрибутов для выявления удаляемого маршрута. Если совпадений не найдено, ip route del не удаляет ни одного маршрута.

ip route show — вывод списка маршрутов

to СЕЛЕКТОР (по умолчанию) показывать маршруты только для заданного диапазона целевых хостов. СЕЛЕКТОР состоит из опционального модификатора ( root , match или exact ) и префикса (маски подсети). root ПРЕФИКС выбирает маршруты с префиксом не меньше указанного ПРЕФИКСА . Т.е. root 0/0 выведет всю таблицу маршрутизации. match ПРЕФИКС выбирает маршруты с префиксом не больше указанного ПРЕФИКСА . Т.е. match 10.0/16 выведет маршруты 10.0/16 , 10/8 и 0/0 , но не включая 10.1/16 и 10.0.0/24 . И exact ПРЕФИКС (или просто ПРЕФИКС ) выведет маршруты точно с указанным префиксом. Если модификаторы и селектор не указаны, ip подразумевает root 0/0 и выводит всю таблицу маршрутизации.

tos TOS dsfield TOS показать маршруты с заданным TOS.

table TABLEID показать содержимое только заданной таблицы. По умолчанию выводится таблица main (главная) «.» TABLEID может быть номером таблицы или одним из следующих ключевых слов:

all — вывести все таблицы.

cache — вывести кэш маршрутизации.

cloned cached вывод клонированных маршрутов, т.е. маршрутов, которые динамически порождены из других маршрутов с связи с изменением некоторых атрибутов (например, MTU). Практически это эквивалент table cache .

from СЕЛЕКТОР имеет тот же синтаксис, что и to , но привязывается к адресу источника, а не получателя. Опция from работает только с клонированными маршрутами.

protocol RTPROTO вывести маршруты только с указанным протоколом.

scope SCOPE_VAL вывести маршруты только с указанным диапазоном.

type ТИП вывести маршруты только с указанным ТИПОМ.

dev ИМЯ вывести маршруты, связанные только с указанным интерфейсом.

via ПРЕФИКС вывести маршруты, связанные только со следующим узлом, указанным ПРЕФИКСОМ .

src ПРЕФИКС вывести маршруты только для указанного адреса источника, указанного ПРЕФИКСОМ .

realm REALMID realms FROMREALM/TOREALM вывести маршруты только с указанной одной или несколькими областями (realm).

ip route flush — очистка таблицы маршрутизации

Аргументы для этой команды и их значение такое же, как и для ip route show , но маршруты не выводятся, а удаляются. Различие только в запуске без аргументов: show выводит всё содержимое таблицы маршрутизации, а flush выводит окно справки.

С опцией -statistics вывод команды становится более подробным. Начинают выводится количество удалённых маршрутов и количество вызова команды flush. Если опция указана дважды, ip route flush также выводит содержимое удалённых маршрутов в формате, описанном в предыдущем разделе.

ip route get — вывести один маршрут

to АДРЕС (по умолчанию) адрес получателя.

from АДРЕС адрес отправителя.

tos TOS dsfield TOS тип услуги (Type Of Service).

iif ИМЯ интерфейс, из которого ожидается получение пакета.

oif ИМЯ интерфейс, через который будет отправлен пакет.

connected если адрес отправителя (опция from ) не указан, повторить поиск с адресом отправителя, установленным как предпочитаемый адрес, полученный при первом поиске. Если используются правила маршрутизации, это может быть другой маршрут.

Эта операция не эквивалентна команде ip route show . show выводит существующие маршруты. get проверяет их и создаёт новые клоны, если необходимо. Обращаем внимание на то, что get является эквивалентом отправки пакета по маршруту. Если опции iif не указана, ядро создаёт маршрут для исходящих пакетов указанным целевым хостам. Это эквивалент пингованию назначения с последующим ip route ls cache , однако, реально пакеты не отправляются. С опцией iif ядро симулирует получение пакета с указанного интерфейса и ищет маршрут для дальнейшей пересылки пакета.

ip rule — управление правилами маршрутизации

Правила маршрутизации используются алгоритмом выбора маршрута.

Классический алгоритм выбора маршрута определяет маршрут на основании на основании адреса получателя (и, в теории, на базе значения поля TOS пакета).

В некоторых случаях необходимо маршрутизировать пакет в зависимости не только от адреса получателя, но также от других полей пакета: адреса отправителя, протокола IP, портов и даже стоимости пакета. Такой подход называется

Для решения этой задачи база данных маршрутизации, основанная на адресе получателя, заменяется на базу данных маршрутизации, основанную на правилах (‘routing policy database’, RPDB), которая выбирает маршрут на основании выполнения определённого набора правил.

Каждое правило маршрутизации состоит из селектора и действия. RPDB сканируется по порядку увеличения приоритета. Селектор каждого правила определяется значением параметра: адреса отправителя, адреса получателя, интерфейса входящего трафика, TOS, fwmark, и, если пакет соответствует условиям правила, производится указанное действие. В случае успешного выполнения действия (выбор маршрута или индикация сбоя), поиск по базе прекращается. В противном случае, программа RPDB продолжает проверку следующего правила.

Семантически действие заключается в выборе следующего узла и интерфейса исходящего трафика.

При запуске ядра в базу данных RPDB заносятся три правила:

1. Приоритет: 0, селектор: все пакеты, действие: поиск по таблице маршрутизации local (локальной) (ID 255). Таблица local является специальной таблицей маршрутизации, содержащей высокоприоритетные маршруты для локальных и широковещательных адресов.

Правило 0 специальное. Оно не может быть удалено или заменено.

2. Приоритет: 32766, селектор: все пакеты, действие: поиск по таблице маршрутизации main (главной) (ID 254). Таблица main является обычной таблицей маршрутизации, содержащей все маршруты, для которых правила не указаны. Это правило может быть удалено или заменено другим правилом.

3. Приоритет: 32767, селектор: все пакеты, действие: поиск по таблице default (по умолчанию) (ID 253). Таблица default пустая. Она зарезервирована для некоторых действий в случае, если пакет не удовлетворяет предыдущим правилам. Это правило также может быть удалено.

Каждая запись RPDB имеет дополнительные атрибуты. Например, каждое правило имеет указатель на некоторую таблицу маршрутизации. NAT и правила маскировки (masquerading) имеют атрибут для выбора нового IP-адреса для трансляции или маскировки. Кроме того, правила имеют некоторые необязательные атрибуты, которые есть у маршрутов, называемые областями (realms) . Эти атрибуты не заменяют атрибуты, указанные в таблицах маршрутизации. Они используется в случае, если эти атрибуты не указаны для маршрута.

База данных RPDB может содержать правила следующих типов:

unicast — правило предписывает возвратить маршрут из таблицы маршрутизации.

blackhole — правило предписывает отбросить пакет без уведомления.

unreachable — правило предписывает генерировать ошибку ‘Network is unreachable’ (сеть
недоступна).

prohibit — правило предписывает генерировать ошибку ‘Communication is administratively prohibited’ (связь запрещена административно).

nat — правило предписывает транслировать адрес отправителя в другое значение.

ip rule add — добавить правило


ip rule delete — удалить правило

type ТИП (по умолчанию) тип правила. Список доступных типов описан в предыдущем разделе.

from ПРЕФИКС выбор отправителя в соответствии с указанным ПРЕФИКСОМ.

to ПРЕФИКС выбор получателя в соответствии с указанным ПРЕФИКСОМ.

iif ИМЯ выбор интерфейса для исходящего трафика. Если интерфейс является кольцевым (loopback), правило обрабатывается только для пакетов, созданных на этом хосте. Это означает, что вы можете создать отдельную таблицу маршрутизации для пересылаемых и локальных пакетов и, следовательно, полностью разделить их.

tos TOS dsfield TOS выбор пакета с указанным TOS.

fwmark MARK выбор пакета с указанным значением fwmark .

priority PREFERENCE приоритет правила. Каждое правило должно иметь уникальное значение приоритета.

table TABLEID идентификатор таблицы маршрутизации для поиска маршрута при совпадении с условиями правила.

realms FROM/TO Выбираемые области при при совпадении с условиями правила и успешном поиске в таблице маршрутизации. Область TO используется только если маршрут не соответствует ни одной области.

nat АДРЕС Начало блога транслируемых адресов отправителя. Значение АДРЕСА может быть первым адресом в блоке адресов NAT (в маршрутах NAT) или локальным адресом хоста (или даже нулём). В последнем случае маршрутизатор не транслирует пакеты, а маскирует их под этот адрес.

Внимание: Изменения в RPDB, сделанными этими командами, происходят не сразу. Они вступают в силу после того, как скрипт закончит вносить все изменения и очистить кэш маршрутизации командой ip route flush cache .

ip rule flush — также вывести все удалённые правила.


ip rule show — вывести список правил


ip maddress — управление адресами multicast

maddress адрес multicast.

ip maddress show — список адресов multicast

dev ИМЯ (по умолчанию) имя интерфейса.

ip maddress add — добавить адрес multicast


ip maddress delete — удалить адрес multicast

dev ИМЯ интерфейс, которому назначается/убирается адрес multicast.

ip mroute — управление кэшем маршрутизации multicast

В связи с ограничениями текущего интерфейса к движку маршрутизации multicast, невозможно изменить mroute административно, можно только показать. Это ограничение будет преодолено в будущем.

ip mroute show — список записей кэша mroute

to ПРЕФИКС (по умолчанию) выводить только адреса multicast получателя с заданным префиксом.

iif ИМЯ интерфейс, с которого приходят пакеты multicast.

from ПРЕФИКС выводить только адреса multicast отправителя с заданным префиксом.

ip tunnel — настройка туннеля


ip tunnel add — добавить туннель


ip tunnel change — изменить параметры туннеля


ip tunnel delete — уничтожить туннель

name ИМЯ (по умолчанию) интерфейс для организации туннеля.

mode MODE режим туннеля. Доступны три режима: ipip , sit и gre .

remote АДРЕС адрес удалённого выхода туннеля.

local АДРЕС фиксированный локальный адрес для туннелируемых пакетов. Он должен быть адресом на другом интерфейсе этого хоста.

ttl N установить фиксированный TTL N для туннелируемых пакетов. N — число в диапазоне 1-255. 0 — специальное значение, что пакеты наследуют значение TTL. Значение по умолчанию: inherit .

tos T dsfield T установить фиксированный TOS T для туннелируемых пакетов. Значение по умолчанию: inherit .

dev ИМЯ привязать туннель к интерфейсу ИМЯ так, что туннелируемые пакеты будут направляться только через этот интерфейс и не смогут отправится через другой интерфейс при смене маршрута к целевому хосту.

nopmtudisc отключить Path MTU Discovery для туннеля. По умолчанию включено. Помните, что фиксированный ttl несовместим с этой опцией: туннелирование с фиксированным ttl всегда осуществляется с pmtu discovery.

key K ikey K okey K ( только туннели GRE ) использование ключевого GRE с ключом K . K может быть числом или четвёркой чисел как адрес IP. Параметр key устанавливает ключ для использования в обоих направлениях. Параметры ikey и okey устанавливают различные ключи для входящего и исходящего трафика.
csum , icsum , ocsum ( только туннели GRE ) генерируют или проверяют контрольную сумму для туннелируемых пакетов. Флаг ocsum вычисляет контрольную сумму для исходящих пакетов. Флаг icsum требуют, чтобы все входящие пакеты имели правильную контрольную сумму. Флаг csum является комбинацией флагов icsum ocsum .

seq , iseq , oseq ( только туннели GRE ) сериализуют пакеты. Флаг oseq включает последовательность исходящих пакетов. Флаг iseq требует чтобы все входящие пакеты были сериализованы. Флаг seq является комбинацией флагов iseq oseq . Пока это не работает. Не используйте эти флаги.

ip tunnel show — список туннелей


ip monitor и rtmon — мониторинг состояния

Программа ip может постоянно отслеживать состояние интерфейсов, адресов и маршрутов. Эта опция имеет слегка отличающийся формат, а именно должна идти первой в списке параметров с указанием отслеживаемого объекта:

ip monitor [ all | СПИСОК_ОБЪЕКТОВ ]

СПИСОК_ОБЪЕКТОВ содержит типы объектов, которые нужно отслеживать. Он может содержать типы link , address и route . Если не указан параметр file , ip открывает сокет RTNETLINK, прослушивает его и выводит информацию в формате, описанному выше.

Если указано имя файла, прослушивание сокета RTNETLINK не осуществляется, а выводятся сообщения RTNETLINK, сохранённые в файле в бинарном формате. Такой файл журнала может быть создан командой rtmon . Эта программа имеет такой же синтаксис, как и ip monitor . В идеале программа rtmon должна быть запущена перед первой командой настройки сети. Например, если вы вставите:

rtmon file /var/log/rtmon.log

в скрипт загрузки, вы можете увидеть всю историю работы сетевой подсистемы.

Конечно, можно запустить rtmon в любое время. В таком случае журнал будет содержать только события, произошедшие с момента запуска программы.

Источник

Читайте также:  Как заправить картридж струйный canon pg 445
Поделиться с друзьями
КомпСовет
Adblock
detector