Provided by: net-tools_1.60-26ubuntu1_amd64 
NAME
route - show / manipulate the IP routing table
SYNOPSIS
route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If] route [-V] [--version] [-h] [--help]
DESCRIPTION
Route manipulates the kernel's IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it has been configured with the ifconfig(8) program. When the add or del options are used, route modifies the routing tables. Without these options, route displays the current contents of the routing tables.OPTIONS
-A family use the specified address family (eg `inet'; use `route --help' for a full list). -F operate on the kernel's FIB (Forwarding Information Base) routing table. This is the default. -C operate on the kernel's routing cache. -v select verbose operation. -n show numerical addresses instead of trying to determine symbolic host names. This is useful if you are trying to determine why the route to your nameserver has vanished. -e use netstat(8)-format for displaying the routing table. -ee will generate a very long line with all parameters from the routing table. del delete a route. add add a new route. target the destination network or host. You can provide IP addresses in dotted decimal or host/network names. -net the target is a network. -host the target is a host. netmask NM when adding a network route, the netmask to be used. gw GW route packets via a gateway. NOTE: The specified gateway must be reachable first. This usually means that you have to set up a static route to the gateway beforehand. If you specify the address of one of your local interfaces, it will be used to decide about the interface to which the packets should be routed to. This is a BSDism compatibility hack. metric M set the metric field in the routing table (used by routing daemons) to M. mss M set the TCP Maximum Segment Size (MSS) for connections over this route to M bytes. The default is the device MTU minus headers, or a lower MTU when path mtu discovery occurred. This setting can be used to force smaller TCP packets on the other end when path mtu discovery does not work (usually because of misconfigured firewalls that block ICMP Fragmentation Needed) window W set the TCP window size for connections over this route to W bytes. This is typically only used on AX.25 networks and with drivers unable to handle back to back frames. irtt I set the initial round trip time (irtt) for TCP connections over this route to I milliseconds (1-12000). This is typically only used on AX.25 networks. If omitted the RFC 1122 default of 300ms is used. reject install a blocking route, which will force a route lookup to fail. This is for example used to mask out networks before using the default route. This is NOT for firewalling. mod, dyn, reinstate install a dynamic or modified route. These flags are for diagnostic purposes, and are generally only set by routing daemons. dev If force the route to be associated with the specified device, as the kernel will otherwise try to determine the device on its own (by checking already existing routes and device specifications, and where the route is added to). In most normal networks you won't need this. If dev If is the last option on the command line, the word dev may be omitted, as it's the default. Otherwise the order of the route modifiers (metric - netmask - gw - dev) doesn't matter.EXAMPLES
route add -net 127.0.0.0 netmask 255.0.0.0 dev lo adds the normal loopback entry, using netmask 255.0.0.0 and associated with the "lo" device (assuming this device was previously set up correctly with ifconfig(8)). route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 adds a route to the local network 192.56.76.x via "eth0". The word "dev" can be omitted here. route del default deletes the current default route, which is labeled "default" or 0.0.0.0 in the destination field of the current routing table. route add default gw mango-gw adds a default route (which will be used if no other route matches). All packets using this route will be gatewayed through "mango-gw". The device which will actually be used for that route depends on how we can reach "mango-gw" - the static route to "mango-gw" will have to be set up before. route add ipx4 sl0 Adds the route to the "ipx4" host via the SLIP interface (assuming that "ipx4" is the SLIP host). route add -net 192.57.66.0 netmask 255.255.255.0 gw ipx4 This command adds the net "192.57.66.x" to be gatewayed through the former route to the SLIP interface. route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 This is an obscure one documented so people know how to do it. This sets all of the class D (multicast) IP routes to go via "eth0". This is the correct normal configuration line with a multicasting kernel. route add -net 10.0.0.0 netmask 255.0.0.0 reject This installs a rejecting route for the private network "10.x.x.x."OUTPUT
The output of the kernel routing table is organized in the following columns Destination The destination network or destination host. Gateway The gateway address or '*' if none set. Genmask The netmask for the destination net; '255.255.255.255' for a host destination and '0.0.0.0' for the default route. Flags Possible flags include U (route is up) H (target is a host) G (use gateway) R (reinstate route for dynamic routing) D (dynamically installed by daemon or redirect) M (modified from routing daemon or redirect) A (installed by addrconf) C (cache entry) ! (reject route) Metric The 'distance' to the target (usually counted in hops). It is not used by recent kernels, but may be needed by routing daemons. Ref Number of references to this route. (Not used in the Linux kernel.) Use Count of lookups for the route. Depending on the use of -F and -C this will be either route cache misses (-F) or hits (-C). Iface Interface to which packets for this route will be sent. MSS Default maximum segment size for TCP connections over this route. Window Default window size for TCP connections over this route. irtt Initial RTT (Round Trip Time). The kernel uses this to guess about the best TCP protocol parameters without waiting on (possibly slow) answers. HH (cached only) The number of ARP entries and cached routes that refer to the hardware header cache for the cached route. This will be -1 if a hardware address is not needed for the interface of the cached route (e.g. lo). Arp (cached only) Whether or not the hardware address for the cached route is up to date.
FILES
/proc/net/ipv6_route /proc/net/route /proc/net/rt_cache
SEE ALSO
ifconfig(8), netstat(8), arp(8), rarp(8)
HISTORY
Route for Linux was originally written by Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> and then modified by Johannes Stille and Linus Torvalds for pl15. Alan Cox added the mss and window options for Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels.AUTHOR
Currently maintained by Phil Blundell <Philip.Blundell@pobox.com> and Bernd Eckenfels <net-tools@lina.inka.de>.
Provided by: net-tools_1.60+git20161116.90da8a0-1ubuntu1_amd64 
NAME
route - show / manipulate the IP routing table
SYNOPSIS
route [-CFvnNee] [-A family |-4|-6] route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric M] [[dev] If] route [-V] [--version] [-h] [--help]
DESCRIPTION
Route manipulates the kernel's IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it has been configured with the ifconfig(8) program. When the add or del options are used, route modifies the routing tables. Without these options, route displays the current contents of the routing tables.OPTIONS
-A family use the specified address family (eg `inet'). Use route --help for a full list. You can use -6 as an alias for --inet6 and -4 as an alias for -A inet -F operate on the kernel's FIB (Forwarding Information Base) routing table. This is the default. -C operate on the kernel's routing cache. -v select verbose operation. -n show numerical addresses instead of trying to determine symbolic host names. This is useful if you are trying to determine why the route to your nameserver has vanished. -e use netstat(8)-format for displaying the routing table. -ee will generate a very long line with all parameters from the routing table. del delete a route. add add a new route. target the destination network or host. You can provide an addresses or symbolic network or host name. Optionally you can use /prefixlen notation instead of using the netmask option. -net the target is a network. -host the target is a host. netmask NM when adding a network route, the netmask to be used. gw GW route packets via a gateway. NOTE: The specified gateway must be reachable first. This usually means that you have to set up a static route to the gateway beforehand. If you specify the address of one of your local interfaces, it will be used to decide about the interface to which the packets should be routed to. This is a BSDism compatibility hack. metric M set the metric field in the routing table (used by routing daemons) to M. If this option is not specified the metric for inet6 (IPv6) address family defaults to '1', for inet (IPv4) it defaults to '0'. You should always specify an explicit metric value to not rely on those defaults - they also differ from iproute2. mss M sets MTU (Maximum Transmission Unit) of the route to M bytes. Note that the current implementation of the route command does not allow the option to set the Maximum Segment Size (MSS). window W set the TCP window size for connections over this route to W bytes. This is typically only used on AX.25 networks and with drivers unable to handle back to back frames. irtt I set the initial round trip time (irtt) for TCP connections over this route to I milliseconds (1-12000). This is typically only used on AX.25 networks. If omitted the RFC 1122 default of 300ms is used. reject install a blocking route, which will force a route lookup to fail. This is for example used to mask out networks before using the default route. This is NOT for firewalling. mod, dyn, reinstate install a dynamic or modified route. These flags are for diagnostic purposes, and are generally only set by routing daemons. dev If force the route to be associated with the specified device, as the kernel will otherwise try to determine the device on its own (by checking already existing routes and device specifications, and where the route is added to). In most normal networks you won't need this. If dev If is the last option on the command line, the word dev may be omitted, as it's the default. Otherwise the order of the route modifiers (metric netmask gw dev) doesn't matter.EXAMPLES
route add -net 127.0.0.0 netmask 255.0.0.0 metric 1024 dev lo adds the normal loopback entry, using netmask 255.0.0.0 and associated with the "lo" device (assuming this device was previously set up correctly with ifconfig(8)). route add -net 192.56.76.0 netmask 255.255.255.0 metric 1024 dev eth0 adds a route to the local network 192.56.76.x via "eth0". The word "dev" can be omitted here. route del default deletes the current default route, which is labeled "default" or 0.0.0.0 in the destination field of the current routing table. route del -net 192.56.76.0 netmask 255.255.255.0 deletes the route. Since the Linux routing kernel uses classless addressing, you pretty much always have to specify the netmask that is same as as seen in 'route -n' listing. route add default gw mango adds a default route (which will be used if no other route matches). All packets using this route will be gatewayed through the address of a node named "mango". The device which will actually be used for that route depends on how we can reach "mango" - "mango" must be on directly reachable route. route add mango sl0 Adds the route to the host named "mango" via the SLIP interface (assuming that "mango" is the SLIP host). route add -net 192.57.66.0 netmask 255.255.255.0 gw mango This command adds the net "192.57.66.x" to be gatewayed through the former route to the SLIP interface. route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 This is an obscure one documented so people know how to do it. This sets all of the class D (multicast) IP routes to go via "eth0". This is the correct normal configuration line with a multicasting kernel. route add -net 10.0.0.0 netmask 255.0.0.0 metric 1024 reject This installs a rejecting route for the private network "10.x.x.x." route -6 add 2001:0002::/48 metric 1 dev eth0 This adds a IPv6 route with the specified metric to be directly reachable via eth0.OUTPUT
The output of the kernel routing table is organized in the following columns Destination The destination network or destination host. Gateway The gateway address or '*' if none set. Genmask The netmask for the destination net; '255.255.255.255' for a host destination and '0.0.0.0' for the default route. Flags Possible flags include U (route is up) H (target is a host) G (use gateway) R (reinstate route for dynamic routing) D (dynamically installed by daemon or redirect) M (modified from routing daemon or redirect) A (installed by addrconf) C (cache entry) ! (reject route) Metric The 'distance' to the target (usually counted in hops). Ref Number of references to this route. (Not used in the Linux kernel.) Use Count of lookups for the route. Depending on the use of -F and -C this will be either route cache misses (-F) or hits (-C). Iface Interface to which packets for this route will be sent. MSS Default maximum segment size for TCP connections over this route. Window Default window size for TCP connections over this route. irtt Initial RTT (Round Trip Time). The kernel uses this to guess about the best TCP protocol parameters without waiting on (possibly slow) answers. HH (cached only) The number of ARP entries and cached routes that refer to the hardware header cache for the cached route. This will be -1 if a hardware address is not needed for the interface of the cached route (e.g. lo). Arp (cached only) Whether or not the hardware address for the cached route is up to date.
FILES
/proc/net/ipv6_route /proc/net/route /proc/net/rt_cache
SEE ALSO
ifconfig(8), netstat(8), arp(8), rarp(8), ip(8)
HISTORY
Route for Linux was originally written by Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> and then modified by Johannes Stille and Linus Torvalds for pl15. Alan Cox added the mss and window options for Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels.AUTHOR
Currently maintained by Phil Blundell <Philip.Blundell@pobox.com> and Bernd Eckenfels <net-tools@lina.inka.de>.
Provided by: net-tools_1.60-25ubuntu2_amd64 
NAME
route - show / manipulate the IP routing table
SYNOPSIS
route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If] route [-V] [--version] [-h] [--help]
DESCRIPTION
Route manipulates the kernel's IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it has been configured with the ifconfig(8) program. When the add or del options are used, route modifies the routing tables. Without these options, route displays the current contents of the routing tables.OPTIONS
-A family use the specified address family (eg `inet'; use `route --help' for a full list). -F operate on the kernel's FIB (Forwarding Information Base) routing table. This is the default. -C operate on the kernel's routing cache. -v select verbose operation. -n show numerical addresses instead of trying to determine symbolic host names. This is useful if you are trying to determine why the route to your nameserver has vanished. -e use netstat(8)-format for displaying the routing table. -ee will generate a very long line with all parameters from the routing table. del delete a route. add add a new route. target the destination network or host. You can provide IP addresses in dotted decimal or host/network names. -net the target is a network. -host the target is a host. netmask NM when adding a network route, the netmask to be used. gw GW route packets via a gateway. NOTE: The specified gateway must be reachable first. This usually means that you have to set up a static route to the gateway beforehand. If you specify the address of one of your local interfaces, it will be used to decide about the interface to which the packets should be routed to. This is a BSDism compatibility hack. metric M set the metric field in the routing table (used by routing daemons) to M. mss M set the TCP Maximum Segment Size (MSS) for connections over this route to M bytes. The default is the device MTU minus headers, or a lower MTU when path mtu discovery occurred. This setting can be used to force smaller TCP packets on the other end when path mtu discovery does not work (usually because of misconfigured firewalls that block ICMP Fragmentation Needed) window W set the TCP window size for connections over this route to W bytes. This is typically only used on AX.25 networks and with drivers unable to handle back to back frames. irtt I set the initial round trip time (irtt) for TCP connections over this route to I milliseconds (1-12000). This is typically only used on AX.25 networks. If omitted the RFC 1122 default of 300ms is used. reject install a blocking route, which will force a route lookup to fail. This is for example used to mask out networks before using the default route. This is NOT for firewalling. mod, dyn, reinstate install a dynamic or modified route. These flags are for diagnostic purposes, and are generally only set by routing daemons. dev If force the route to be associated with the specified device, as the kernel will otherwise try to determine the device on its own (by checking already existing routes and device specifications, and where the route is added to). In most normal networks you won't need this. If dev If is the last option on the command line, the word dev may be omitted, as it's the default. Otherwise the order of the route modifiers (metric - netmask - gw - dev) doesn't matter.EXAMPLES
route add -net 127.0.0.0 netmask 255.0.0.0 dev lo adds the normal loopback entry, using netmask 255.0.0.0 and associated with the "lo" device (assuming this device was previously set up correctly with ifconfig(8)). route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 adds a route to the local network 192.56.76.x via "eth0". The word "dev" can be omitted here. route del default deletes the current default route, which is labeled "default" or 0.0.0.0 in the destination field of the current routing table. route add default gw mango-gw adds a default route (which will be used if no other route matches). All packets using this route will be gatewayed through "mango-gw". The device which will actually be used for that route depends on how we can reach "mango-gw" - the static route to "mango-gw" will have to be set up before. route add ipx4 sl0 Adds the route to the "ipx4" host via the SLIP interface (assuming that "ipx4" is the SLIP host). route add -net 192.57.66.0 netmask 255.255.255.0 gw ipx4 This command adds the net "192.57.66.x" to be gatewayed through the former route to the SLIP interface. route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 This is an obscure one documented so people know how to do it. This sets all of the class D (multicast) IP routes to go via "eth0". This is the correct normal configuration line with a multicasting kernel. route add -net 10.0.0.0 netmask 255.0.0.0 reject This installs a rejecting route for the private network "10.x.x.x."OUTPUT
The output of the kernel routing table is organized in the following columns Destination The destination network or destination host. Gateway The gateway address or '*' if none set. Genmask The netmask for the destination net; '255.255.255.255' for a host destination and '0.0.0.0' for the default route. Flags Possible flags include U (route is up) H (target is a host) G (use gateway) R (reinstate route for dynamic routing) D (dynamically installed by daemon or redirect) M (modified from routing daemon or redirect) A (installed by addrconf) C (cache entry) ! (reject route) Metric The 'distance' to the target (usually counted in hops). It is not used by recent kernels, but may be needed by routing daemons. Ref Number of references to this route. (Not used in the Linux kernel.) Use Count of lookups for the route. Depending on the use of -F and -C this will be either route cache misses (-F) or hits (-C). Iface Interface to which packets for this route will be sent. MSS Default maximum segment size for TCP connections over this route. Window Default window size for TCP connections over this route. irtt Initial RTT (Round Trip Time). The kernel uses this to guess about the best TCP protocol parameters without waiting on (possibly slow) answers. HH (cached only) The number of ARP entries and cached routes that refer to the hardware header cache for the cached route. This will be -1 if a hardware address is not needed for the interface of the cached route (e.g. lo). Arp (cached only) Whether or not the hardware address for the cached route is up to date.
FILES
/proc/net/ipv6_route /proc/net/route /proc/net/rt_cache
SEE ALSO
ifconfig(8), netstat(8), arp(8), rarp(8)
HISTORY
Route for Linux was originally written by Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> and then modified by Johannes Stille and Linus Torvalds for pl15. Alan Cox added the mss and window options for Linux 1.1.22. irtt support and merged with netstat from Bernd Eckenfels.AUTHOR
Currently maintained by Phil Blundell <Philip.Blundell@pobox.com> and Bernd Eckenfels <net-tools@lina.inka.de>.

Что такое маршрутизация
Вся цифровая информация передаётся по сети в виде пакетов данных. По пути от отправителя к адресату они проходят через цепочку промежуточных устройств – маршрутизаторов (роутеров) и/или соответственно настроенных компьютеров.
Маршрутизация – это процесс определения пути (сетевого маршрута) для установки соединения между хост-устройствами. Этот путь настраивается как внутри локального устройства, так и на маршрутизаторе.
Построение сетевого маршрута происходит на основе информации из таблиц маршрутизации. Для их формирования применяются протоколы маршрутизации или инструкции сетевого администратора.
Каждая таблица содержит ряд параметров, позволяющих правильно идентифицировать и читать сетевой маршрут. Таблица содержит минимум 5 разделов:
- Destination (Target). IP-адрес сети назначения – конечной цели для передаваемых данных.
- Netmask (Genmask). Маска сети.
- Gateway. IP-адрес шлюза, через который можно добраться до цели.
- Interface. Адрес сетевого интерфейса, по которому доступен шлюз.
- Metric. Числовой показатель, задающий предпочтительность маршрута.
Опционально в таблице также может содержаться следующая информация:
- адрес отправителя (source);
- размер TCP-окна (window);
- максимальная величина пакета (MSS) и типы записей.
Как посмотреть таблицу маршрутизации
Таблицу маршрутизации в Linux (например, в популярных серверных ОС типа Ubuntu или CentOS) можно посмотреть с помощью нескольких команд.
Команда route
Программа используется для настройки параметров статической маршрутизации. Просмотр таблицы можно осуществить с помощью команды:
route -n
Команда netstat
Утилита используется для сбора информации о состоянии сетевых соединений. Вывести таблицу можно с помощью команды:
netstat -r
Построение таблицы маршрутизации
Существует несколько основных утилит для настройки таблицы маршрутизации (добавления, обновления, удаления старых и новых маршрутов):
- Route. Устаревшая утилита, входящая в состав пакета net-tools. Служит для отображения таблицы маршрутизации и построения статических маршрутов.
- IP Route. Обновленный инструмент, призванный заменить Route. Имеет большую функциональность, по сравнению со своим предшественником.
Оба инструмента могут использоваться для выполнения аналогичных задач. Далее будет рассмотрен синтаксис каждого в пределе основных возможностей.
Команда имеет следующий вид:
route [-f] [-p] command -net [destination] netmask [MASK netmask] gw [gateway] metric [METRIC metric] dev [IF interface]
Ключи
- -f – очистка таблиц от записей всех шлюзов.
- -p – сохранение маршрута в качестве постоянного при использовании ADD. По умолчанию все маршруты временные и после перезагрузки системы сбрасываются.
Основные опции (command)
- add – добавление маршрута.
- del – удаление маршрута.
- replace – замена маршрута.
- change – изменение или настройка параметров маршрута.
Обозначения
- [destination] – адрес сети назначения.
- [MASK netmask] – маска подсети.
- [gateway] – адрес шлюза.
- [METRIC metric] – числовой показатель, задающий предпочтительность маршрута (используется в том случае, если устройство является маршрутизатором).
- [IF interface] – сетевой интерфейс.
Опции для указания вводных данных
- -net – целевая сеть.
- -host – целевой хост.
- gw – шлюз (Gateway).
- dev – сетевой интерфейс.
- netmask – маска подсети.
- metric – метрика.
IP Route
Команда имеет следующий вид:
ip route command [destination] netmask [MASK netmask] via [gateway] metric [METRIC metric] dev [IF interface]
Основные опции (command)
- add – добавление маршрута.
- del – удаление маршрута.
- replace – замена маршрута.
- change – изменение или настройка параметров маршрута.
Обозначения
- [destination] – адрес сети назначения.
- [MASK netmask] – маска подсети.
- [gateway] – адрес шлюза.
- [METRIC metric] – числовой показатель, задающий предпочтительность маршрута (используется в том случае, если устройство является маршрутизатором).
- [IF interface] – сетевой интерфейс.
Опции для указания вводных данных
- via – используется в значении «через» для указания шлюза.
- dev – сетевой интерфейс.
- netmask – маска подсети.
- metric – метрика.
Примеры статической маршрутизации
Составление нового маршрута
Можно представить два офиса: A и B. В каждом стоят маршрутизаторы на Linux, которые соединены между собой IP-IP туннелем.

Чтобы подключение к локальной сеть маршрутизатора A стало возможным из локальной сети маршрутизатора B и наоборот, нужно прописать на маршрутизаторе B:
route add -net 172.16.10.0/24 gw 192.168.1.1
Будет произведена установка шлюза «192.168.1.1» для сети «172.16.10.0/24».
Также необходимо прописать на маршрутизаторе A обратный маршрут в локальную сеть маршрутизатора B:
route add -net 172.20.0.0/24 gw 192.168.1.2
Изменение локальной сети
В случае изменения локальной сети маршрутизатора B, необходимо удалить старую запись:
route del -net 172.20.0.0/24 gw 192.168.1.2
А после добавить новый маршрут на маршрутизаторе А:
route add -net 172.20.0.0/24 gw 192.168.1.2
Изменение адреса тоннеля
ip route replace 172.16.10.0/24 via 192.168.1.3
После выполнения команды адрес шлюза для подсети «172.16.10.0/24» будет изменён.

Изменение провайдера
Чтобы перенаправить трафик через другого провайдера («ISP2»), следует изменить маршрут «по умолчанию» («default»):
ip route replace default via 5.215.98.7

ImplementationsEdit
Unix and Unix-like
The command-syntax is:
route [-nNvee] [-FC] [<AF>] List kernel routing tables
route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.
route {-h|--help} [<AF>] Detailed usage syntax for specified AF.
route {-V|--version} Display version/author and exit.route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.101.0 192.168.102.102 255.255.255.0 UG 0 0 0 eth0192.168.102.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0192.168.103.0 192.168.102.102 255.255.255.0 UG 0 0 0 eth0192.168.12.0 0.0.0.0 255.255.255.0 U 0 0 0 eth00.0.0.0 192.168.12.1 0.0.0.0 UG 0 0 0 eth0
The command is only available if the TCP/IP protocol is installed as a component in the properties of a network adapter.
The command-syntax is:
route [-f] [-p] [-4|-6] [Command [Destination] [mask Netmask] [Gateway] metric Metric if Interface
- -f: Clears the routing table
- -p: The route is added to the Windows Registry and is used to initialize the IP routing table whenever the TCP/IP protocol is started (only when used with the add command)
- Command: The command to run (add, change, delete, print)
- -4: Force using IPv4
- -6: Force using IPv6
- Destination: Network destination of the route
- mask Netmask: The netmask (subnet mask) associated with the network destination
- Gateway: The forwarding or next hop IP address over which the set of addresses defined by the network destination and subnet mask are reachable
- metric Metric: Integer cost metric (ranging from 1 to 9999) for the route
- if Interface: The index of the interface over which the destination is reachable
- /?: Command help
The -p parameter is only supported on Windows NT 4.0, Windows 2000, Windows Millennium Edition, and Windows XP. It is not supported on Windows 95 or Windows 98.
The command-syntax is:
route [-nqv] [COMMAND] [[MODIFIERS] args]
- -n: Bypasses translating IP addresses to symbolic host names
- -q: Suppresses all output
- -v: Verbose
- COMMAND: The command to run (add, delete, change, get, monitor, flush)
- -net: <dest> is a network address
- -host: <dest> is host name or address (default)
- -netmask: the mask of the route
- <dest>: IP address or host name of the destination
- <gateway>: IP address or host name of the next-hop router
Print the route table:
route print
Add a route:
route add <target> [mask <mask>] <gw> [metric <m>]
Delete a route:
route delete <target> <gw>
See alsoEdit
Further readingEdit
- Stanek, William R. (2004). . ISBN 0-735-62038-5.
- John Paul Mueller (2007). Windows Administration at the Command Line for Windows Vista, Windows 2003, Windows XP, and Windows 2000. John Wiley & Sons. ISBN 978-0470165799.
ReferencesEdit
- Adding a TCP/IP Route to the Windows Routing Table
- “Reactos/Reactos”. GitHub. 4 November 2021.
- “Route(8): Show/Change IP routing table – Linux man page”.
External linksEdit
- – 4.2BSD System Manager’s Manual
- – Linux Administration and Privileged Commands Manual
- – FreeBSD System Manager’s Manual
- – Solaris 10 System Administration Commands Reference Manual
- route – on technet.microsoft.com
Оглавление
1. Выбор подключения к Интернету
2. Изменение маршрута по умолчанию в Windows
3. Как установить метрику для сетевых подключений в Windows
4. Особенности применения команды route CHANGE в Windows
5. Создание постоянных маршрутов, сохраняющихся после перезагрузки
6. Справка по команде ROUTE
Если у вас Linux, то смотрите статью «Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей». В ней же вы найдёте дополнительные трюки для манипуляции сетевыми маршрутами, которые будут работать, в том числе, и на Windows.
Выбор подключения к Интернету
Компьютер может быть подключён сразу к нескольким сетям: например, к проводной сети и к беспроводной; или к двум Wi-Fi сетям; или использовать телефон в качестве модема через Bluetooth и при этом быть подключённым к проводной и Wi-Fi сети; или быть подключённым к четырём Wi-Fi сетям – да что угодно!
Если вы выходите в Интернет, как операционная система выбирает, какое именно из нескольких подключений использовать? Система действует очень мудро – она не пренебрегает ни одним из подключений. И в случае потери связи с одним из них – использует другое.
Но ведь ей в любом случае нужно выбрать, какое подключение использовать в данный момент! И система опять поступает мудро – она использует лучшее подключение. Чтобы узнать, какое подключение является лучшим, для каждого из них вычисляется так называемая Метрика – условное значение, которое учитывает сразу несколько параметров – скорость сети, потери пакетов и другое.
Рассмотрим реальный пример. Мой компьютер подключён к двум Wi-Fi сетям. Чтобы узнать характеристики маршрутов, откроем командную строку Windows, для этого нажмите Win+x, и выберите Windows PowerShell (Администратор). В открывшемся окне командной строки наберите команду
route print

Особое внимание обратите на строки:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.49 55 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.43 70
Сетевой адрес 0.0.0.0 и маска сети 0.0.0.0 это обозначение маршрута по умолчанию (default route). Это тот маршрут, куда отправляется трафик, для которого явно не прописан другой маршрут.
Например, там же мы можем увидеть строку
192.168.56.0 255.255.255.0 On-link 192.168.56.1 281
В ней есть сетевой адрес 192.168.56.0 с маской подсети 255.255.255.0 – то есть это любые IP адреса в диапазоне 192.168.56.0-192.168.56.255. Так вот, для этих адресов явно прописан маршрут – они будут отправлены в 192.168.56.1.
Но если будет запрошен любой другой IP, который отсутствует в таблице (т.е. для которого не указан конкретный маршрут), то он будет отправлен по маршруту по умолчанию – это то, что указано для сети 0.0.0.0 с маской 0.0.0.0. Самым типичным трафиком, отправляемым по default route является Интернет-трафик (а также трафик в другие локальные сети, к которым ваш компьютер непосредственно не подключён – но для домашних сетей это редкая ситуация).
Для выбора Интернет-подключения по умолчанию нужно изменить маршрут по умолчанию.
Изменение маршрута по умолчанию в Windows
Вернёмся к ранее полученным данным о маршруте по умолчанию:

Из него следует, что у одного из моих интерфейсов IP адрес 192.168.0.49 и у него метрика равна 55, у другого сетевого интерфейса IP 192.168.1.43 и метрика равна 70. Выигрывает тот маршрут, у которого значение метрики меньше (чем меньше метрика, тем лучше подключение).
Таким образом, если я будут выходить в Интернет, то будет использоваться сетевой интерфейс 192.168.0.49.
Убедимся в этом сразу несколькими способами. Запомним наши IP адреса, как их видят внешний сервисы. Для этого перехожу на https://suip.biz/ru/?act=myip:

Я получил, что мой IP 109.126.249.183, а мой локальный IP 192.168.0.49. В командной строке Windows делаю трассировку:
.\TRACERT.EXE suip.biz

Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.0.1.
Итак, способов изменить маршрут по умолчанию сразу несколько. Например, можно изменить значение метрики так, чтобы приоритетным стал другой маршрут. Второй вариант – удалить другие маршруты, оставив только один.
Как установить метрику для сетевых подключений в Windows
Чтобы было понятно, покажу на конкретном примере. У меня два сетевых интерфейса с IP адресами:
- 192.168.0.49 (имеет шлюз 192.168.0.1) – используется по умолчанию
- 192.168.1.43 (имеет шлюз 192.168.1.1) – хочу чтобы он использовался по умолчанию
Для этого удаляю все маршруты по умолчанию:
route DELETE 0.0.0.0
Теперь добавляю тот, который я хочу сделать маршрутом по умолчанию, командой вида:
route ADD 0.0.0.0 MASK 0.0.0.0 ШЛЮЗ
В ней ШЛЮЗ нужно заменить на IP адрес шлюза (роутера) того интерфейса, через который вы хотите выходить в Интернет. Для меня это:
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.1.1
На данном этапе уже вернулось Интернет-подключение и если вам достаточного одного подключения, то можно не продолжать.
Тем не менее, я хочу чтобы в качестве резервного у меня было активно и второе подключение, но чтобы оно по умолчанию не использовалось.
Для его добавления используется команда следующего вида:
route ADD 0.0.0.0 MASK 0.0.0.0 ШЛЮЗ METRIC 100
Обратите внимание, что вместо ШЛЮЗ нужно вписать IP адрес шлюза «резервного» интерфейса. Также значение является не абсолютным, а относительным!!! Помните об этом, что указанная величина ДОБАВЛЯЕТСЯ к тому значению метрики, которое рассчитывает операционная система. Значение 100 можно поменять на другое (например, 50). Но выбирайте его так, чтобы значение в сумме с рассчитанной метрикой было больше, чем метрика подключения, которое мы хотим использовать по умолчанию.
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.0.1 METRIC 100
route print

Как видим, в маршрутах по умолчанию по-прежнему доступно два сетевых интерфейса. Но теперь интерфейс 192.168.0.49 имеет очень большое значение метрики, поэтому по умолчанию будет применяться сетевой интерфейс 192.168.1.43.
Проверим IP в браузере https://suip.biz/ru/?act=myip:

Как видим, поменялся и внешний IP (был 109.126.249.183, а стал 213.167.219.207) и локальный (был 192.168.0.49, а стал 192.168.1.43).
В командной строке Windows делаю трассировку:
.\TRACERT.EXE suip.biz

Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.1.1.
Особенности применения команды route CHANGE в Windows
Необходимо отметить пару моментов в поведении команды route, которые является контринтуитивными (мы ждём одного результата, а получаем другой, неожиданный результат).
Маршруты, в том числе маршрут по умолчанию, можно не удалять/добавлять, а изменять с помощью команды route CHANGE. Но помните об особенности этой команды, если у вас установлено два или более маршрута по умолчанию: она удалит ВСЕ маршруты и впишет один новый, который указан с этой командой! На первый взгляд это неочевидно, но если подумать, то становится понятно, почему она действует именно таким образом.
Хотя об этом уже было сказано выше, значение метрики является ОТНОСИТЕЛЬНЫМ! То значение, которое вы устанавливаете для метрики, добавляется к рассчитываемому системой значению. При этом оно постоянно плавает: то есть система регулярно пересчитывает значения метрики, но к каждому полученному числу добавляет то, которое вы указали с командой route ADD.
Создание постоянных маршрутов, сохраняющихся после перезагрузки
По умолчанию, все прописанные маршруты, в том числе значения метрик, будут сброшены при перезагрузке компьютера.
С помощью ключа -p можно создавать постоянный маршруты, которые будут сохранены после перезагрузке.
Пример команды добавления постоянного маршрута:
route -p add 192.168.50.0 mask 255.255.255.0 192.168.1.170 if <interface_ID>
Часть if <interface_ID> является опциональной для всех команд.
Номера интерфейсов можно посмотреть командой route print (в самом верху вывода):

Номера интерфейсов идут в первом столбике – перед MAC-адресами.
Кроме опции -p, команда route имеет ещё несколько опций, рассмотрим их.
Справка по команде ROUTE
Обработка таблиц сетевых маршрутов. ROUTE [-f] [-p] [-4|-6] <команда> [<назначение>] [MASK <маска_сети>] [<шлюз>] [METRIC <метрика>] [IF <интерфейс>] -f Очистка таблиц маршрутов от всех записей шлюзов. При указании одной из команд таблицы очищаются до выполнения команды. -p При использовании с командой ADD маршрут сохраняется после перезагрузок системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд, всегда изменяющих соответствующие постоянные маршруты. -4 Принудительное использование протокола IPv4. -6 Принудительное использование протокола IPv6. <команда> Одна из следующих команд: PRINT Печать маршрута ADD Добавление маршрута DELETE Удаление маршрута CHANGE Изменение существующего маршрута <назначение> Задает узел. MASK Далее следует значение параметра "маска_сети". <маска_сети> Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255. <шлюз> Шлюз. <интерфейс> Номер интерфейса для указанного маршрута. METRIC Определение метрики, т. е. затрат для узла назначения. Проводится поиск всех символических имен узлов в файле сетевой базы данных NETWORKS. Проводится поиск символических имен шлюзов в файле базы данных имен узлов HOSTS. Для команд PRINT и DELETE можно указать узел или шлюз с помощью подстановочного знака либо опустить параметр "шлюз". Если узел содержит подстановочный знак "*" или "?", он используется в качестве шаблона и печатаются только соответствующие ему маршруты. Знак "*" соответствует любой строке, а "?" - любому знаку. Примеры: 157.*.1, 157.*, 127.*, *224*. Соответствие шаблону поддерживает только команда PRINT. Диагностические сообщения: Недопустимое значение MASK вызывает ошибку, если (УЗЕЛ МАСКА) != УЗЕЛ. Например> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 Добавление маршрута завершится ошибкой, так как указан недопустимый параметр маски. (Узел & Маска) != Узел. Примеры: > route PRINT > route PRINT -4 > route PRINT -6 > route PRINT 157* .... Печать только узлов, начинающихся со 157 > route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2 узел^ ^маска ^шлюз метрика^ ^ интерфейс^ Если IF не задан, то производится попытка найти лучший интерфейс для указанного шлюза. > route ADD 3ffe::/32 3ffe::1 > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2 Параметр CHANGE используется только для изменения шлюза или метрики. > route DELETE 157.0.0.0 > route DELETE 3ffe::/32
Связанные статьи
- Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей (93.7%)
- Как работают компьютерные сети (75.5%)
- Азы работы в командной строке Linux (часть 4) (55.2%)
- Введение в IPv6 адреса: как пользоваться и как исследовать сеть (часть 2) (55.2%)
- Как пользоваться Kali Linux в WSL (подсистеме Windows для Linux): подборка лучших программ (ч. 1) (54.4%)
- Как в Linux сбросить забытый пароль входа (RANDOM – 50%)
Формат командной строки:
Подсказку по параметрам командной строки можно получить используя встроенную справку ( route /? ):
-f – Очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды.
-p – При использовании с командой ADD задает сохранение маршрута при перезагрузке системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд,
изменяющих соответствующие постоянные маршруты. Этот параметр не поддерживается в Windows 95.
-4 – Обязательное использование протокола IPv4.
-6 – Обязательное использование протокола IPv6.
command – Одна из следующих команд:
– PRINT – Печать маршрута
– ADD – Добавление маршрута
– DELETE – Удаление маршрута
– CHANGE – Изменение существующего маршрута
destination – Адресуемый узел.
MASK – Указывает, что следующий параметр интерпретируется как маска сети.
netmask – Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255.
gateway – Шлюз.
interface – Номер интерфейса для указанного маршрута.
METRIC – Определение метрики, т.е. цены для адресуемого узла. Чем ниже значение метрики, тем выше приоритет узла при построении маршрута.
Поиск всех символических имен узлов проводится в файле сетевой базы данных
NETWORKS. Поиск символических имен шлюзов проводится в файле базы данных имен
узлов HOSTS.
Для команд PRINT и DELETE можно указать узел и шлюз с помощью подстановочных
знаков или опустить параметр “шлюз”.
Если адресуемый узел содержит подстановочные знаки * или ?, он используется
в качестве шаблона, и печатаются только соответствующие ему маршруты. Знак ‘*’
соответствует любой строке, а ‘?’ – одному знаку.
Примеры: 157.*.1, 157.*, 127.*, *224*.
Соответствие шаблону поддерживает только команда PRINT.
Недопустимое значение MASK вызывает ошибку, если (УЗЕЛ & МАСКА) != УЗЕЛ.
Например:
route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 – Добавление маршрута завершится ошибкой, поскольку указан недопустимый параметр маски. (Узел & Маска) != Узел.
route PRINT – отобразить таблицу маршрутов
route PRINT -4 – отобразить таблицу маршрутов только для IPv4
route PRINT -6 – отобразить таблицу маршрутов только для IPv6
route PRINT 157* – отобразить таблицу маршрутов только для узлов, начинающихся со 157
Если сетевой интерфейс (IF) не задан, то производится попытка найти лучший интерфейс для указанного шлюза.
route ADD 3ffe::/32 3ffe::1 – добавить новый маршрут для узла с IPv6
route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2 – изменить существующий маршрут для узла IPv4
Параметр CHANGE используется только для изменения шлюза или метрики.
route DELETE 157.0.0.0 – удалить маршрут для IPv4.
route DELETE 3ffe::/32 – удалить маршрут для IPV6
Примеры использования команды ROUTE
route print – отобразить текущую таблицу маршрутов.
Пример отображаемой таблицы:
IPv4 таблица маршрута
===========================================================================
===========================================================================
IPv6 таблица маршрута
===========================================================================
Активные маршруты:
===========================================================================
Постоянные маршруты:
Отсутствует
Список интерфейсов – отображаются идентификаторы ( ID ), физические ( MAC ) адреса и названия сетевых адаптеров. В примере:
24 – идентификатор интерфейса
00 50 ba 5d 0c c4 – MAC-адрес сетевого адаптера
D-Link DFE-538TX 10/100 адаптер – название сетевого адаптера.
Маска сети ( Netmask ) – маска сети.
В Windows Vista / Windows 7 / 8 и более поздних версиях, для адресов, достижимых локально, в данной колонке отображается On-link.
Другими словами, значение On-link в колонке “Шлюз” означает, что шлюз не используется, адрес назначения достижим напрямую, без
маршрутизации.
Метрика ( metric ) – значение метрики (1-9999). Метрика представляет собой числовое значение, позволяющее оптимизировать доставку пакета
получателю, если конечная точка маршрута может быть достижима по нескольким разным маршрутам. Чем меньше значение метрики, тем выше приоритет маршрута.
route print 192.* – отобразить таблицу маршрутов только для адресов, начинающихся с 192.
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 – установить в качестве шлюза по умолчанию (основного шлюза) адрес 192.168.1.1
route -p add 10.0.0.0 mask 255.0.0.0 10.0.0.1 – добавить маршрут для подсети 10.0.0.0/255.0.0.0 и запомнить его в реестре . Это постоянный статический маршрут.
Если маршрут добавлен без использования параметра -p то он сохраняется только до перезагрузки системы (до перезапуска сетевого системного программного обеспечения). Если же, при добавлении маршрута искользовался данный параметр, то информация о маршруте записывается в реестр Windows (раздел HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes ) и будет использоваться постоянно при активации сетевых интерфейсов.
route delete 10.0.0.0 mask 255.0.0.0 – удалить маршрут для подсети 10.0.0.0/255.0.0.0 .
route delete 10.10.10.10 – удалить маршрут созданный предыдущей командой
route change 10.0.0.0 mask 255.0.0.0 10.10.10.1 – изменить адрес шлюза для существующего маршрута к сети 10.0.0.0/255.0.0.0 на значение 10.10.10.1 Допускается
использование данной команды только для изменения адреса шлюза и метрики.
route -f – очистить таблицу маршрутов. После перезагрузки системы, или при перезапуске сетевых подключений таблица маршрутов будет
восстановлена исходя из текущей сетевой конфигурации компьютера. При выполнении команды route -f из таблицы удаляются все маршруты, которые удовлетворяют условиям:
– не относятся к петлевому интерфейсу ( интерфейсу с IP 127.0.0.1 и маской -255.0.0.0)
– не являются маршрутами для многоадресной (multicast) рассылки (IP 224.0.0.1 маска 255.0.0.0)
– не являются узловыми маршрутами (когда маска равна 255.255.255.255) .
При обработке таблицы маршрутов, статические маршруты имеют высший приоритет, по сравнению с маршрутом, использующим для достижения конечной точки шлюз по умолчанию.
Весь список команд CMD Windows





