route − просмотр/изменение таблицы IP−маршрутизации
route [−CFvnee]
route |
[−v] [−A семейство] add [−net|−host] цель [netmask маска_сети] [gw шлюз] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] интерфейс] |
||
route |
[−v] [−A семейство] del [−net|−host] цель [gw шлюз] [netmask маска_сети] [metric N] [[dev] интерфейс] |
||
route |
[−V] [−−version] [−h] [−−help] |
route изменяет таблицы IP−маршрутизации ядра. Программа главным образом используется для настройки статических маршрутов к определённым узлам или сетям через интерфейс после того, как интерфейс был настроен с помощью программы ifconfig(8).
При использовании опций add или del, route изменяет таблицы маршрутизации. Если эти опции не указаны, route показывает текущее содержимое таблиц маршрутизации.
−A семейство
Использовать указанное семейство адресов (например, ’inet’; воспользуйтесь командой ’route −−help’ для получения полного списка).
−F |
Воздействует на таблицу маршрутизации ядра FIB (Forwarding Information Base − база информации о продвижении пакетов). Используется по умолчанию. |
||
−C |
Воздействует на кэш маршрутизации ядра. |
||
−v |
Выбрать режим вывода сообщений о подробностях. |
||
−n |
Показать числовые адреса, не пытаясь определить символьные имена узлов. Это полезно, если вы пытаетесь определить, почему не работает маршрут до сервера имён. |
||
−e |
Использовать формат отображения таблицы маршрутизации как в netstat(8). −ee выведет очень длинные строки со всеми параметрами из таблицы маршрутиазции. |
||
del |
Удалить маршрут. |
||
add |
Добавить новый маршрут. |
||
цель |
Целевая сеть или узел. Вы можете указать IP−адрес в десятично−точечной нотации или имя узла/сети. |
||
−net |
цель является сетью. |
||
−host |
цель является узлом. |
netmask маска_сети
При добавлении маршрутов к сетям указывается сетевая маска.
gw шлюз
Маршрутизировать пакеты через шлюз. ЗАМЕЧАНИЕ: Указанный шлюз для начала должен быть доступен. Обычно это означает, что сначала вы должны настроить статические маршруты к шлюзу. Если вы укажете адрес одного из ваших локальных интерфейсов, он будет использован для определения, через какой интерфейс нужно отправлять пакеты. Это средство достижения совместимости с системами BSD.
metric M
Задаёт в поле метрики таблицы маршрутизации значение M (используется демонами маршрутизации).
mss M |
Задаёт максимальный размер сегмента TCP (TCP Maximum Segment Size − MSS) для соединения по указанному маршруту в M байт. По умолчанию используется MTU устройства за вычетом размера заголовков, или наименьшее значение MTU, определённое протоколом Path MTU Discovery. Значение можно использовать для принудительного уменьшения размера пакетов TCP, на другом конце, если определение по протоколу Path MTU Discovery не работает (обычно это происходит по причине неправильной настройки пакетных фильтров, блокирующих сообщения ICMP Fragmentation Needed − требуется фрагментация) |
window W
Задаёт размер окна TCP для соединений по указанному маршруту в W байт. Обычно это используется в сетях AX.25 и с драйверами, не поддерживающими обработку кадров один−к−одному.
irtt I |
Задаёт начальное время кругового обхода для соединений TCP через данный маршрут в I миллисекунд (1−12000). Обычно это используется только в сетях AX.25. Если не указано, используется значение по умолчанию из RFC 1122 − 300 миллисекунд. |
||
reject |
Установка блокирующего маршрута, который завершит просмотр таблицы маршрутизации ошибкой. Это, например, используется для сокрытия сетей до использования маршрута по умолчанию. Это используется НЕ для фильтрации пакетов. |
mod, dyn, reinstate
Установаить динамический или изменяемый маршрут. Эти индикаторы используются в целях диагностики, и обычно они устанавливаются демонами маршрутиазции.
dev интерфейс
Принудительно связать маршрут с указанным интерфейсом, поскольку ядро в ином случае определит его самостоятельно (проверкой уже существующих маршрутов и устройств, после чего маршрут будет добавлен). В большинстве обычных четей вам это не потребуется.
Если dev интерфейс является последней опцией в командной строке, слово dev можно не указывать, потому что оно подразумевается по умолчанию. В противном случае порядок опций маршрута (metric − netmask − gw − dev) не имеет значения.
route add −net 127.0.0.0 netmask 255.0.0.0 dev lo
Добавляет обычную петлевую запись, использующую сетевую маску 255.0.0.0 и связанную с устройством "lo" (подразумевая что устройство до этого уже было корректно настроено с помощью ifconfig(8)).
route add −net 192.56.76.0 netmask 255.255.255.0 dev eth0
Добавить маршрут к локальной сети 192.56.76.x через "eth0". Слово "dev" в данном случае можно не указывать.
route del default
Удалить текущий маршрут по умолчанию, помеченный как "default" или 0.0.0.0 в поле места назначения текущей таблицы маршрутизации.
route add default gw mango−gw
Добавить маршрут по умолчанию (который будет использоваться если нет других подходящих маршрутов). При использовании этого правила все пакеты будут направляться в шлюз "mango−gw". Устройство, которое будет использоваться, будет зависеть от того, можно ли через него достичь "mango−gw" − статический маршрут до "mango−gw" должен быть настроен до этого.
route add ipx4 sl0
Добавляет маршрут к узлу "ipx4" через интерфейс SLIP (подразумевая, что "ipx4" − это узел SLIP).
route add −net 192.57.66.0 netmask 255.255.255.0 gw ipx4
Эта команда добавляет сеть "192.57.66.x" через имеющийся маршурт на интерфейсе SLIP.
route add −net 224.0.0.0 netmask 240.0.0.0 dev eth0
Это не точное описание, некоторые люди знают как сделать его более точным. Это множество всех IP−маршрутов класса D (мультикаст), направленных через "eth0". Это обычная строка настройки ядра с поддержкой мультикастинга.
route add −net 10.0.0.0 netmask 255.0.0.0 reject
Эта команда создаёт отклоняющий маршрут для частной сети "10.x.x.x."
Выводимая из таблицы маршрутизации информация организована в следующие колонки:
Destination
Сеть назначения или целевой узел.
Gateway
Адрес шлюза или ’*’, если он не настроен.
Genmask
Сетевая маска сети назначения; ’255.255.255.255’ если это узел, ’0.0.0.0’ если это маршрут по умолчанию (default).
Flags |
Возможны следующие индикаторы: |
U − маршрут активен (up)
H − цель является узлом (host)
G − используется шлюз (gateway)
R − динамический восстанавливаемый маршрут (reinstate)
D − маршрут динамически (dynamically) настроенный демоном или перенаправленный
M − изменённый (modified) демоном маршрутизации или перенаправленный
A − настроенный (addrconf)
C − запись в кэше (cache)
! − отклоняющий (reject) маршрут
Metric |
’Расстояние’ до цели (обычно измеряемое в количестве переходов). Оно не используется последними ядрами, но может потребоваться демонам маршрутизации. |
||
Ref |
Количество ссылок на этот маршрут. (В некоторых ядрах Linux не используется.) |
||
Use |
Количество поисков маршрута. В зависимости от того, используется ли опция −F или −C, это будет количество промахов (−F) или попаданий (−C) в кэш. |
||
Iface |
Интерфейс, через который будут отправляться маршрутизируемые пакеты. |
||
MSS |
Максимальный размер сегмента для соединений TCP по этому маршруту. |
||
Window |
Размер окна по умолчанию для соединений TCP по этому маршруту. |
||
irtt |
Начальное время кругового обхода (Round Trip Time). Ядро использует его для определения лучших параметров протокола TCP без ожидания (возможно долгого) ответов. |
HH (только кэшированные)
Количество ARP−записей и кэшированных маршрутов, ссылающихся на кэш аппаратного заголовка кэшированного маршрута. Принимает значение −1, если аппаратный адрес не требуется для кэширования маршрута интерфейса (например, lo).
Arp (только кэшированные)
Говорит о том, актуален ли кэшированный маршрут.
/proc/net/ipv6_route
/proc/net/route
/proc/net/rt_cache
ifconfig(8), netstat(8), arp(8), rarp(8)
route для Linux изначально был написан Фрэдом Н. ван Кемпеном (Fred N. van Kempen), <waltje@uwalt.nl.mugnet.org> а затем изменён Джоанном Стиллом (Johannes Stille) и Линусом Торвальдсом (Linus Torvalds) для pl15. Алан Кокс (Alan Cox) добавил опции mss и window для Linux 1.1.22. Поддержка irtt и слияние с netstat выполнил Бернд Экенвелс (Bernd Eckenfels).
В настоящее время сопровождается Филом Блюнделлом (Phil Blundell) <Philip.Blundell@pobox.com> и Берндом Экенфельсом (Bernd Eckenfels) <net−tools@lina.inka.de>.
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.