Маршрутизация в операционных системах windows

Комментарии

RouteКласс позволяет указать способ обработки маршрутизации в приложении ASP.NET.The Route class enables you to specify how routing is processed in an ASP.NET application. Вы создаете Route объект для каждого шаблона URL-адреса, который необходимо сопоставлять с классом, который может выполнять запросы, соответствующие этому шаблону.You create a Route object for each URL pattern that you want to map to a class that can handle requests that correspond to that pattern. Затем добавьте маршрут в Routes коллекцию.You then add the route to the Routes collection. Когда приложение получает запрос, ASP.NET маршрутизация проходит по маршрутам в Routes коллекции, чтобы найти первый маршрут, соответствующий шаблону URL-адреса.When the application receives a request, ASP.NET routing iterates through the routes in the Routes collection to find the first route that matches the pattern of the URL.

Задайте Url для свойства шаблон URL-адреса.Set the Url property to a URL pattern. Шаблон URL-адреса состоит из сегментов, которые поступают после имени приложения в HTTP-запросе.The URL pattern consists of segments that come after the application name in an HTTP request. Например, в URL-адресе шаблон применяется к .For example, in the URL , the pattern applies to . Шаблон с тремя сегментами, например , соответствует URL-адресу .A pattern with three segments, such as , matches the URL . Каждый сегмент отделяется символом.Each segment is delimited by the character. Если сегмент заключен в фигурные скобки ( и ), этот сегмент называется параметром URL-адреса.When a segment is enclosed in braces ( and ), the segment is referred to a URL parameter. ASP.NET маршрутизация получает значение из запроса и присваивает его параметру URL-адреса.ASP.NET routing retrieves the value from the request and assigns it to the URL parameter. В предыдущем примере параметру URL присваивается значение .In the previous example, the URL parameter is assigned the value . Если сегмент не заключен в фигурные скобки, значение рассматривается как литеральное значение.If the segment is not enclosed in braces, the value is treated as a literal value.

Задайте Defaults для свойства RouteValueDictionary объект, который содержит значения, используемые, если в URL-адресе отсутствует параметр, или для задания дополнительных значений, которые не параметризованы в URL-адресе.Set the Defaults property to a RouteValueDictionary object that includes values that are used if a parameter is missing from the URL or to set additional values that are not parameterized in the URL. Задайте Constraints для свойства RouteValueDictionary объект, содержащий значения, которые являются либо регулярными выражениями, либо IRouteConstraint объектами.Set the Constraints property to a RouteValueDictionary object that contains values that are either regular expressions or IRouteConstraint objects. Эти значения используются, чтобы определить, является ли допустимым значение параметра.These values are used to determine whether a parameter value is valid.

Ping

Первая утилита, как ни странно, — это команда ping. Она позволяет определить наличие компьютера в сети, для чего посылает удаленному компьютеру эхо-ICMP-запросы. Если компьютер не блокирует входящие ICMP-пакеты (это позволяет сделать, например, встроенный брандмауэр Windows Firewall), то утилита подсчитывает время отклика от компьютера, а в случае отправки нескольких пакетов выдает суммарную статистику. Большинство внутренних роутеров, конечно же, не блокируют ICMP-запросы, поэтому с помощью этой команды можно определить, какой из узлов сети доступен. Рассмотрим эту утилиту подробнее.

Для вызова справки по возможным ключам запуска команды ping необходимо добавить ключ /?. Вызов утилиты ping лучше всего осуществлять из командной строки (cmd), которую, в свою очередь, можно вызвать через Пуск -> Выполнить ->
cmd
(в операционной системе Windows Vista функция Выполнить
размещена в строке поиска, в самом низу меню Пуск
).

По умолчанию команда ping отсылает четыре пакета к удаленному узлу и на основе данных, полученных в результате отправки, выдает статистическую информацию. Статистика наглядно показывает, сколько пакетов было потеряно и среднее время отправки (время отклика) в процентном соотношении, а также максимальные и минимальные величины. В тех случаях, когда происходят значительные потери пакетов в локальной сети, лучше всего использовать команду ping с ключом –t. При выполнении утилиты с этим ключом пакеты будут отсылаться постоянно, пока пользователь не прекратит ее работу. Остановить работу утилиты можно, одновременно нажав распространенную комбинацию клавиш Ctrl + C. Для вывода текущей статистики без прекращения работы утилиты используется сочетание клавиш Ctrl + Break. В таком случае пакеты будут продолжать отсылаться, а пользователь получит сводную статистику по уже отправленным пакетам.

Утилита ping также дает возможность задать количество пакетов, отправляемых удаленному узлу. Для этого необходимо выполнить команду ping с ключом –n x, где x — количество отправляемых пакетов. В свою очередь, при наличии такой возможности ключ –a позволяет определить доменное имя удаленного компьютера, если известен лишь его IP-адрес.

В некоторых случаях к узлу доходят пакеты маленького объема, а пакет большого объема теряется. По умолчанию утилита ping отсылает пакеты с размером буфера 32 байт. Этот объем можно изменять в пределах от 0 до 65 500. Для этого служит ключ –l x, где x — количество отправляемых узлу байт.

Также утилита ping позволяет задать параметр поля TTL (time-to-live) каждого пакета. Для этого служит ключ –i x, где x — время жизни пакета в диапазоне от 0 до 255. Команда ping дает возможность задать время ожидания отправленного пакета. Для этого необходимо запускать утилиту с параметром –w x, где x — время ожидания, которое задается в миллисекундах и может иметь практически неограниченную величину.

Теперь перейдем к самому главному. Утилита ping выдает не только статистику по количеству отправленных/полученных пакетов, но и приблизительный маршрут каждого из пакетов. Для этого при запуске утилиты нужно задать ключ –r x, где x — количество прыжков для пакета. Это значение для данной команды лежит в пределах от 0 до 10. После выполнения этой команды статистика будет содержать информацию по прыжкам для каждого отправленного пакета. Утилита также может показать штамп времени для каждого прыжка. Для активации этой функции необходимо запускать утилиту с параметром –s x, где x может принимать значения от 1 до 4.

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

Отметим, что здесь не рассматриваются команды, которые относятся к протоколу IPv6, поскольку он до сих пор не нашел широкого применения, хотя его поддержка по умолчанию включена во все новейшие операционные системы.

Просмотр маршрутов в Linux

Команда выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи.

$ $ route --help
Использование: route    Отобразить таблицу маршрутизации ядра
       route   {add|del|flush} ... Изменить таблицу маршрутизации для AF.

       route {-h|--help}  Детальное описание использование указанной AF.
       route {-V|--version} Отобразить версию/автора и выйти.

        -v, --verbose более детальный вывод
        -n, --numeric не преобразовывать адреса в имена
        -e, --extend отображать другую/больше информации
        -F, -fib отобразить информацию форвардинга базы (по умолчанию)
        -C, --cache отобразить кэш маршрутизации вместо FIB

  <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet
  Список возможный адресных семейств (которые поддерживают маршрутизацию):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25)

Просмотр таблицы маршрутизации:

$ route
Таблица маршрутизации ядра протокола IP
Destination     Gateway    Genmask         Flags   Metric   Ref   Use   Iface
default         _gateway   0.0.0.0         UG      100      0     0     enp0s3
link-local      0.0.0.0    255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0    255.255.255.0   U       100      0     0     enp0s3
$ route -n
Таблица маршрутизации ядра протокола IP
Destination     Gateway         Genmask         Flags   Metric   Ref   Use   Iface
0.0.0.0         192.168.110.1   0.0.0.0         UG      100      0     0     enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0         255.255.255.0   U       100      0     0     enp0s3

Утилита предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:

$ sudo apt install traceroute
$ traceroute ya.ru
traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets
 1  _gateway (192.168.110.1)  0.697 ms  0.607 ms  0.584 ms
 2  78.107.125.69 (78.107.125.69)  2.050 ms  1.967 ms  1.777 ms
 3  stpert-bng1-local.msk.corbina.net (85.21.0.172)  1.679 ms  1.605 ms  1.499 ms
 4  10.2.254.10 (10.2.254.10)  2.215 ms  2.180 ms  2.167 ms
 5  korova-bb-be5.corbina.net (195.14.54.195)  3.577 ms  3.544 ms  3.824 ms
 6  85.21.224.96 (85.21.224.96)  2.645 ms  2.208 ms  2.149 ms
 7  m9-crs-be13.corbina.net (85.21.224.54)  3.762 ms  3.207 ms  3.794 ms
 8  m9-br-be3.corbina.net (195.14.62.85)  3.716 ms  3.639 ms m9-br-be1.corbina.net (195.14.54.79)  3.559 ms
 9  corbina-gw.dante.yandex.net (83.102.145.178)  6.750 ms  11.716 ms  16.226 ms
10  ya.ru (87.250.250.242)  5.330 ms  8.678 ms  8.628 ms

Поиск:
Linux • Windows • Локальная сеть • route • Маска сети • Шлюз • Маршрут • Таблица • Адрес • Команда

Опции команды route

  • -A семейство — Использовать указанное семейство адресов (например, ‘inet’; воспользуйтесь командой ‘route —help’ для получения полного списка).
  • -F — Воздействует на таблицу маршрутизации ядра FIB (Forwarding Information Base — база информации о продвижении пакетов). Используется по умолчанию.
  • -C — Воздействует на кэш маршрутизации ядра.
  • -v — Выбрать режим вывода сообщений о подробностях.
  • -n — Показать числовые адреса, не пытаясь определить символьные имена узлов. Это полезно, если вы пытаетесь определить, почему не работает маршрут до сервера имён.
  • -e — Использовать формат отображения таблицы маршрутизации как в netstat.
  • -ee выведет очень длинные строки со всеми параметрами из таблицы маршрутиазции.
  • del — Удалить маршрут.
  • add — Добавить новый маршрут.

Цель — Целевая сеть или узел. Вы можете указать IP-адрес в десятично-точечной нотации или имя узла/сети.

  • -net — цельявляется сетью.
  • -host — цель является узлом.
  • netmask маска_сети — При добавлении маршрутов к сетям указывается сетевая маска.
  • gw шлюз — Маршрутизировать пакеты через шлюз. ЗАМЕЧАНИЕ: Указанный шлюз для начала должен быть доступен. Обычно это означает, что сначала вы должны настроить статические маршруты к шлюзу. Если вы укажете адрес одного из ваших локальных интерфейсов, он будет использован для определения, через какой интерфейс нужно отправлять пакеты.
  • metric 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) не имеет значения.

How do I make routing changes persistent across reboots?

To make route entry persistent in the Linux kernel routing table, you need to modify config file as per your Linux distributions.

RHEL/CentOS/Fedora/Scientific Linux persistent routing configuration

Edit /etc/sysconfig/network and set default gateway IP address:
Sample outputs:

## setup default gateway ##
GATEWAY=192.168.1.254

You can add additional static route for eth0 by editing /etc/sysconfig/network-scripts/route-eth0 file as follows:

10.0.0.0/8 via 10.10.29.65

The above config sets static routing for network 10.0.0.0/8 via 10.9.38.65 router.

Debian / Ubuntu Linux persistence static routing configuration

Edit /etc/network/interfaces file, enter:
Append the following in eth0 section:

up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254
down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254

Save and close the file.

Generic method to add persistent static routing on Linux

The following method works with almost all Linux distributions.

Edit /etc/rc.d/rc.local or /etc/rc.local, enter
Append the following line:

/sbin/ip route add 192.168.1.0/24 dev eth0

OR

/sbin/ip route add 192.168.1.0/24 dev eth0
Recommended readings
  • Configure Static Routes In Debian or Red Hat Enterprise Linux
  • Man pages: netstat(8)

If you liked this page, please support my work on Patreon or with a donation.
Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:

  • RSS feed or Weekly email newsletter
Category List of Unix and Linux commands
File Management cat
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Network Utilities dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processes Management bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time
Searching grep • whereis • which
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Как прописать статический маршрут? И зачем он нужен?

модема – 192.168.1.1

Вам нужно прописать маршрут на компьютере A, чтобы он смог видеть компьютер B при включенном VPN соединении. Делается это следующем образом: запускаем командную строку Пуск->Выполнить->cmd и набираем следующую команду:

route – сама программа, которая работает с таблицей маршрутизации;
-p – ключ, который говорит, что маршрут будет постоянный, так как (Важное замечание!) без этого ключа все маршруты, которые Вы добавите удалятся после перезагрузке, поэтому если Вы хотите использовать маршрут всегда, то пропишите этот ключ, если только один раз, то его можно не писать;
add – команда, добавляющая запись в таблицу маршрутизации;
192.168.1.0 – сеть, с которой Вы хотите иметь связь;
mask 255.255.255.0 – маска подсети;
192.168.1.1 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут, Вы получите доступ к своей сети при подключенном Интернете, т.е.

VPN соединении.

Или у Вас дома подключение к Интернету через модем ADSL но Вам требуется подключение к VPN сети, и соответственно выхода в Интернет через свой канал у Вас уже не будет. Но с помощью статического маршрута можно получить доступ к определенным сайтам (узнав предварительно их ip адреса), к которым Вам бы хотелось иметь постоянный доступ (и при подключенном VPN соединении и не подключенном). Если сайт имеет ip адрес 172.18.24.13, а шлюз имеет IP адрес 192.168.0.1, надо прописать так.

Для Windows XP/2000/2003

Вариант 1

Вариант 2

Пояснения
:

Проверить прописанные маршруты можно командой route print

Для этого заходим в командную строку (Пуск
–> Выполнить
–> cmd
–> Ok).
В открывшемся окне набираем команду route print
и нажимаем «Ввод
«.Внимание!

Постоянные маршруты не следует путать с активными маршрутами (см. рис.)

Для удаления всех существующих постоянных маршрутов служит команда route -f
.Для удаления какого-то конкретного постоянного маршрута служит команда route delete 10.1.1.1
(10.1.1.1 — указан в качестве примера).

Для Windows Vista

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

Интерфейс

Интерфейс соответствует тем компонентам коммуникационного оборудования, которые поддерживают TCP/IP протокол. Такими компонентами являются модемы, сетевые карты, порты маршрутизаторов и т.п. Интерфейс всегда имеет связанный с ним IP-адрес. Этот адрес должен быть уникальным внутри любой сети.

Таблицы маршрутизации

Когда вы хотите сделать TCP/IP соединение или только послать несколько пакетов на другой компьютер, то должны сконфигурировать интерфейс, с помощь которого пакеты будут посланы. Очевидно, не очень хорошо посылать пакеты на ваш сетевой адаптер, если вы собираетесь соединиться с сайтом в Интернет. С другой стороны, не очень правильно посылать пакеты на ваш модем, если вы хотите обратиться к компьютеру в вашей сети.

По этой причине на каждом компьютере существуют таблицы маршрутов. Протокол TCP/IP просматривает таблицу маршрутов, когда вы хотите послать пакет куда-нибудь, которая говорит протоколу на какой интерфейс следует послать пакет для достижения цели.

Итак, записи таблицы мартрутов точно определяют:

  1. Место назначения (сетевой адрес/маска сети).
  2. Какой маршрутизатор (шлюз) использовать для посылки пакетов к месту назначения.
  3. Какой интерфейс использовать для посылки пакетов к месту назначения.

В Windows NT и Windows 95 команда добавления записи в таблицу маршрутизации имеет вид:

Route ADD сетевой_адрес MASK сетевая_маска шлюз

Это пример таблицы маршрутов моего компьютера, когда он находится в режиме on-line с моим модемом.

Конструкторы

Инициализирует новый экземпляр класса Route, используя указанный шаблон URL-адреса и класс-обработчик.Initializes a new instance of the Route class, by using the specified URL pattern and handler class.

Инициализирует новый экземпляр класса Route, используя указанный шаблон URL-адреса, значения параметров по умолчанию и класс-обработчик.Initializes a new instance of the Route class, by using the specified URL pattern, default parameter values, and handler class.

Инициализирует новый экземпляр класса Route, используя указанный шаблон URL-адреса, значения параметров по умолчанию, ограничения и класс-обработчик.Initializes a new instance of the Route class, by using the specified URL pattern, default parameter values, constraints, and handler class.

Инициализирует новый экземпляр класса Route, используя указанный шаблон URL-адреса, значения параметров по умолчанию, ограничения, пользовательские значения и класс обработчика.Initializes a new instance of the Route class, by using the specified URL pattern, default parameter values, constraints, custom values, and handler class.

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

Вас, наверное, заинтересовало, почему я попросил ввести команду TCP/IP, если статья касается таблиц маршрутизации? Да потому что, никто не смотрит таблицы, если не возникла проблема с компьютером. А если проблема есть, то лучше всего начать процесс диагностики со сравнения информации, предоставленной командой IPCONFIG, с информацией в таблицах маршрутизации.

Как видно из рисунка В, команда IPCONFIG /ALL показывает основную информацию по протоколу TCP/IP: IP адрес, шлюз по умолчанию и т. д. А вот таблицы маршрутизации прочитать не так легко. Именно поэтому я хотел бы обсудить вопрос считывания данных из таблиц.

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

Когда пользователь отправляет пакет в другой сетевой сегмент, чем тот, к которому подключен компьютер, то пакет направляется в маршрутизатор. Тогда маршрутизатор определяет сегмент, в который необходимо направить данный пакет. Не имеет значения, подключен ли маршрутизатор к двум сетевым сегментам или десятку. Процесс принятия маршрутизатором решения одинаков, и основывается он на таблицах маршрутизации.

Взглянув на экран, появившийся после введения команды Route Print, можно увидеть, что таблицы разделены на 5 колонок. Первой идет колонка сетей. В ней представлены все сетевые сегменты, к которым подключен маршрутизатор. Колонка Netmask показывает маску подсети, но не сетевого интерфейса, к которому подключен сегмент, а самого сегмента. Это позволяет маршрутизатору определить класс адреса для сети места назначения.

Третьей является колонка шлюза. После того как маршрутизатор определил сеть назначения, в которую необходимо отправить пакет, он сверяется со списком шлюза. Данный список «говорит» маршрутизатору, через какой IP адрес необходимо отправлять пакет в сеть назначения.

Колонка интерфейса предоставляет информацию о сетевом адаптере, подключенном к сети назначения. Точнее будет сказать, что данная колонка предоставляет информацию о IP адресе сетевого адаптера, который соединяет маршрутизатор с сетью назначения. Но маршрутизатор достаточно «умен», чтобы понять, чему присвоен адрес.

Последней идет метрическая колонка. Метрики – это довольно сложная тема, тем не менее, я попытаюсь объяснить, что они из себя представляют. Лучше всего это можно сделать на примере аэропорта. Представьте, что необходимо перелететь из Шарлоты, штат Северная Каролина, в Майами, штат Флорида. Аэропорт в Шарлоте очень большой, и существует несколько способов попасть на пляж в Майами. Можно воспользоваться рейсом компании Северо-западные авиалинии. Он доставит меня в Детройт, штат Мичиган, а затем в Майами (Детройт находится несколько в стороне). Можно воспользоваться рейсом Континентальный авиалиний через Хьюстон, штат Техас, а затем в Майами. А можно просто воспользоваться Американскими авиалиниями и попасть в Майами без промежуточных приземлений. Так каким же рейсом воспользоваться?

В действительности на выбор могут повлиять несколько факторов: цена билета, время вылета и т. д. Но предположим, что все одинаково. Если нет разницы кроме маршрута, то, конечно же, лучше воспользоваться рейсом без промежуточных приземлений. Этот маршрут самый быстрый, кроме того, он позволит избежать проблем со связью, потерянным багажом и т. д.

Маршрутизация работает по такому же принципу. Существует несколько маршрутов отправки пакетов. В этом случае имеет смысл отправить его по самому короткому пути. Вот когда вступают в игру метрики. Windows не задействует метрики, пока есть только один маршрут достижения места назначения. В противном случае Windows проверяет метрики для определения кратчайшего пути. Это упрощенное объяснение, но оно позволяет понять принцип работы.

Route

И наконец, одна из основополагающих утилит маршрутизации — команда route. С ее помощью пользователь может прописать, удалить или отредактировать все статические маршруты на используемом компьютере. Для вывода текущей таблицы маршрутизации необходимо выполнить в командной строке команду route print. В результате в виде таблицы будет выведена вся информация о текущих интерфейсах и таблица маршрутизации

Поскольку в этой статье мы рассматриваем только протокол IPv4, таблице маршрутизации для протокола IPv6 внимание уделяться не будет

Для каждого из маршрутов, помимо назначения и шлюза, через который пакет от компьютера попадает к маршруту, в таблице маршрутизации есть такое понятие, как метрика. Метрика позволяет создать приоритет среди одинаковых маршрутов в зависимости от используемого интерфейса подключения. Например, есть VPN-подключение, которое выпускает компьютер в Интернет, и локальное подключение к сети. По умолчанию в операционной системе Windows приоритет, то есть метрика, подключения к VPN-серверу имеет меньшее значение, что подразумевает более высокий приоритет для прохождения пакета. Для VPN-подключения метрика маршрутов будет 25, а для локального соединения — 200. Соответственно если пакет не может достичь точки назначения при прохождении через VPN-канал, то он отправляется по интерфейсу, который имеет меньший приоритет (метрику).

Добавление маршрута осуществляется через команду:

route add ip mask gateway metric x if y
,

где ip — адрес или сеть назначения, mask — маска подсети, gateway — шлюз, через который пакет будет идти к месту назначения, x — числовое значение метрики маршрута, y — порядковый номер интерфейса

Тут стоит обратить внимание на некоторые особенности. Шлюз gateway должен располагаться в той же подсети, что и сетевой адаптер, через который производится подключение

Если в качестве адреса назначения указывается конкретный IP-адрес, то можно не указывать маску подсети, так как она во всех случаях будет иметь вид 255.255.255.255. Отметим, что добавление ключа –p в конце строки означает, что маршрут будет прописан в качестве постоянного и останется в таблице маршрутизации даже после перезагрузки. Если интерфейс if не задан, система попытается определить наилучший интерфейс для добавляемого маршрута.

Удаление маршрута происходит через команду:

route delete ip
,

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

Модификация маршрута производится по команде:

route change ip mask gateway metric x if y
,

где ip — адрес или сеть назначения, mask — маска подсети, gateway — шлюз, через который пакет будет идти к месту назначения, x — числовое значение метрики маршрута, а y — порядковый номер интерфейса. Модификация маршрута может производиться только в случае смены шлюза или/и метрики интерфейса.

С помощью команды route print 192.* будут выведены все маршруты, начинающиеся с IP-адресов 192.*.*.* Также можно вывести маршруты, относящиеся, например, к сети 192.168.192.0/24, — route print 192.168.192.*

Для полной очистки таблицы маршрутизации применяется команда route –f. Однако не следует злоупотреблять ею, поскольку в большинстве случаев после выполнения этой команды ваша сеть окажется неработоспособной.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий