Назва

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 : Діяти стосовно (Forwarding Information Base) FIB-таблиці маршрутизації ядра.

-C : Діяти стосовно кешу маршрутизації ядра.

-v : Багатослівний режим.

-n : Вивести числові значення адрес, замість намагатися визначити символічні назви хостів. Це корисно, якщо ви хочете взнати, чому зникнув маршрут до вашого серверу імен (іменного серверу).

-e : Використати формат netstat(8) для відображення таблиці маршрутів. -ee видасть дуже довгий рядок зі всіма параметрами таблиці маршрутів.

del : Видалить маршрут.

add : Додасть новий маршрут.

призначення : Мережа або хост призначення. Ви можете вказати IP-адреси у числово-крапковій формі, або символічні назви хостів і мереж.

-net : Об'єкт являється мережею.

-host : Об'єкт являється хостом.

netmask ммаска_ : Яку використовувати мережну маску при доданні маршруту.

gw шлюз : Спрямовувати пакети через вказаний шлюз. ПРИМІТКА: шлюз повинен бути досяжним при цьому. Тобто, це означає, що ви повинні попередньо встановити статичний маршрут до шлюзу. Якщо вказати адресу одного з ваших локальних інтерфейсів, він використовуватиметься для того, щоб вирішити до якого інтерфейсу направляти пакети. Це трюк заради сумісності з BSD.

metric M : Встановить поле метричності таблиці маршрутизації (використовується маршрутними демонами) до M.

mss M : Встановить TCP максимальний розмір сегменту (MSS - Maximum Segment Size) для сполучень по цьому маршруту до M байтів. Стандартним є значення максимального відрізку передачі (MTU - Maximal Transmission Unit) пристрою, мінус заголовки, або нижче MTU, якщо має місце визначення максимального відрізку передачі. Цей параметр дозволяє встановити нижчий MTU, якщо визначення максимального відрізку передачі не працює (як правило, завдяки погано сконфігурованим мережним заслонам, які блокують запит ICMP Fragmentation Needed).

window W : Встановить TCP розмір вікна для сполучень по цьому маршрутові до W байтів. Це типово використовується з мережами AX.25 і драйверами, що не в змозі обробляти сегменти від кінця до кінця.

irtt I : Встановить період обігу (irtt - initial round trip time) TCP-сполучень через цей маршрут до I мілісекунд (1-120000). Типово використовується з мережами AX.25. Якщо не задано, стандартним значенням, згідно з RFC 1122, буде 300 мілісекунд.

reject : Встановить блокуючий маршрут, що спричинить невдачу пошуку маршруту. Це, наприклад, використовується, щоб приховати мережі перед тим як застосувати маршрут за узгодженням. Це НЕ являється мережною заслоною.

mod, dyn, reinstate : Встановити динамічний або змінний маршрут. Ці прапорці для діагностичних цілей і, як правило, встановлюються тільки маршрутними демонами.

dev інтерфейс : Пов'язує маршрут із вказаним пристроєм, або, в протилежному випадку, ядро намагатиметься самостійно визначити пристрій (через перевірку вже існуючих маршрутів і специфікацій пристроїв). В більшості звичайних мереж, немає необхідності вживати цю опцію.

Якщо це стоїть останньою опцією командного рядка, можна пропустити слово dev, оскільки це використовується за замовчуванням. У протилежному випадку, послідовність модифікаторів маршруту (metric, netmask, gw, dev) не має значення.

Приклади

route add -net 127.0.0.0 : додає звичайний запис оберненого на себе сполучення, використовуючи мережну маску 255.0.0.0 (мережа класу A, визначеної з адреси призначення), асоційовану з пристроєм lo (припускаючи, що цей пристрій налагоджено належним чином через ifconfig(8)).

route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 : додає маршрут до мережі 192.56.76.x через eth0. Модифікатор мережної маски класу C не обов'язковий у цьому випадку, оскільки 192.* - це IP-адреса класу C. Слово dev також можна опустити тут.

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 : ця команда заплутана трохи; документовано, щоб люди знали як його здійснити. Це задає, щоб усі маршрути класу 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' для маршруту за узгодженням.

Flags : Можливі прапорці включають:

U : - маршрут працює (Up)

H : - об'єкт призначення являється хостом (Host)

G : - використати шлюз (Gateway)

R : - встановити новий стан для динамічної маршрутизації (Reinstate)

D : - динамічно встановлений демоном або перенаправленням (Dynamic)

M : - змінений демоном маршрутизації або перенаправленням (Modified)

A : - встановлений addrconf

C : - видобуто з кешу (Cache)

! : - блокуючий маршрут

Metric : Відстань до об'єкту призначення (як правило вимірювана в транзитних дільницях). Це не використовується сучасними ядрами, але може знадобитися демонам маршрутизації.

Ref : Кількість посилань на цей маршрут. (Не використовується ядром Лінукса.)

Use : Відлік пошуків цього маршруту. В залежності від того, чи вживалися -F чи -C, цей стовпчик включатиме непопадання з маршрутного кешу (\fB-F\f) або попадання (-C).

Iface : Інтерфейс, до якого буде направлено пакети по цьому маршрутові.

MSS : Максимальний розмір сегментів за домовленістю для TCP-сполучень цього маршруту.

Window : Розмір вікна за домовленістю для TCP-сполучень цього маршруту.

irtt : Період обігу (RTT - Round Trip Time). Ядро використовує це для вгадування найкращих параметрів протоколу TCP, без очікування (можливо повільних) відповідей.

HH (тільки для кешованих даних) : Кількість записів ARP (Address Resolution Protocol) і кешованих маршрутів, що посилаються на кеш заголовку пристрою кешованого маршруту. Матиме значення -1, якщо адреса пристрою не є потрібною інтерфейсу кешованого маршруту (наприклад lo).

Arp (тільки для кешованих даних) : Чи являється сучасною адреса пристрою кешованого маршруту.

Файли

/proc/net/ipv6_route
/proc/net/route
/proc/net/rt_cache

Дивіться також

ifconfig(8), netstat(8), arp(8), ?rarp(8)

Історія

route для Лінукса було початково написано Fred N. van Kempen waltje@uwalt.nl.mugnet.org, після чого модифіковано Johannes Stille і Linus Torvalds для pl15. Alan Cox додав mss і опції вікна, починаючи з Лінукса 1.1.22. Підтримку irtt і сумісність з netstat втілено Bernd Eckenfels.

Автори

У даний момент підтримується Phil Blundell Philip.Blundell@pobox.com.