Проброс маршрута в другую сеть windows

В данной статье мы рассмотрим, что такое статический маршрут и зачем его вообще прописывать. Мы будем использовать так называемые «руты» или другими словами будем прописывать маршруты с помощью команды route add в командной строке Windows.

Прежде чем приступать к практике хотелось бы поговорить немного о теории, что бы Вы понимали, что Вы делаете, и в каких случаях это Вам может пригодиться.

Для начала пару определений:

Статическая маршрутизация — вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.

Статический маршрут — представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами — это явно указанный путь, по которому должен пройти пакет из пункта А в пункт Б.

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

Сейчас очень распространено для безопасности использовать «Виртуальные частные сети» (VPN). VPN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям. Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей.

Например, у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находится в другой сети, и поэтому недоступен со второго компа.

Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодится сисадминам, (пример из жизни) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN. Был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения. В итоге я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого и попал на нужный мне сайт (который показывал внешний ip) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но Вы сами понимаете, что на это нет времени и попросту неохота. Теперь Вы немного представляете, где и для чего Вам может пригодиться знание того, как прописываются статические маршруты.

Примеры использования утилиты route

Хватит теории, переходим к практике. Сейчас мы с Вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном VPN соединении, пригодится обычным пользователям, у которых дома более одного компьютера, а в Интернет выходят по средствам VPN.

Имеем локальную сеть: 192.168.1.0/24

Локальный IP первого компьютера (пусть он будет компьютер — A) – 192.168.1.2 (на котором присутствует VPN соединение)

Локальный IP второго компьютера (а этот компьютер — B) – 192.168.1.3

IP адрес шлюза т.е. модема – 192.168.1.1

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

route –p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

Скриншот 1

где:

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

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

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

route –p add 172.18.24.13 mask 255.255.255.255 192.168.0.1

Синтаксис и основные ключи утилиты route

Теперь поговорим поподробней о команде route.

Общий синтаксис:

route [-f] [-p] [destination] [mask ] [gateway] [metric ] [if ]

Основные ключи:

  • -f — удаляет из таблицы маршрутизации все маршруты;
  • -p – сохраняет маршрут на постоянную основу;
  • add – добавляет новый маршрут;
  • change — меняет текущий маршрут в таблице маршрутизации;
  • delete — удаляет маршрут из таблицы маршрутизации;
  • print — отображает содержимое таблицы маршрутизации;
  • destination — при добавлении или изменении маршрута этот параметр используется для указания идентификатора сети назначения;
  • mask — при добавлении или изменении маршрута этот параметр используется для указания маски подсети для сети назначения;
  • gateway — при добавлении или изменении нового маршрута этот параметр используется для указания шлюза (маршрутизатора или модема);
  • metric — используется для указания целого числа в диапазоне от 1 до 9999, являющегося метрикой стоимости для маршрута. Если для определенной сети назначения существует несколько возможных маршрутов, будет использован маршрут с наименьшим значением метрики;
  • if — используется для указания номера индекса интерфейса, который подключен к сети назначения.

Для того чтобы просто посмотреть таблицу маршрутизации у себя на компьютере введите в командную строку следующие:

route print

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

I want to add routing from 10.10.1.100 interface to 169.254.1.0 network. How it’s possible to do in Windows 7?

asked Sep 24, 2015 at 11:10

Pablo's user avatar

PabloPablo

4,69519 gold badges63 silver badges101 bronze badges

10

After alot of comments I am reading the setup as follows:

       ------------------    switch  -----------------
      /                  (not a router)                \
      |                     |                          |
      |                     |                          |
Valid PROD hosts      My win 7 computer         Headless boxes
on 10.0.0.0/8         (atm on 10.0.0.0/8)        On 169.254.0.0/16

Note that no routers are involved.

I am also not able/limited changing 10.10.1.100 to 169, because of
currently working production applications.

That leaves a few options.

  1. Also add a 169… IP on your windows 7 desktop and to this first time right, so it does not disturb any production items.

  2. Get a temporary fourth PC and play around with that. Should be trivial to boot that, set up a static IP in 169… You now can reach the headless boxes (even though they do not yet communicate with the other PROD hosts. But you can configure them and fix them so they are also in 10.0.0.0/8…)

  3. Note that is the headless boxes are local then you could also grab a semi random laptop/desktop, only connect these headless boxes and the laptop to an independant switch. Then properly configure them and only then connect them to the production network.

Now if the setup is less simple and it is not a switch, but there are one or more routers in between then you may have a problem. RFC1918 IPs are not supposed to be routable. Thus if there are any router in between you will need to reconfigure them. If there are third party routers (e,g, the headless boxes are in another office and you try to reach them via the Internet) then give up. Try something different. (e.g. first VPN to a box in that office, or log into the router in the other office).

If this is the case, then please add more detail to the original post.

answered Sep 24, 2015 at 12:04

Hennes's user avatar

HennesHennes

64.8k7 gold badges111 silver badges168 bronze badges

1

You need a router between those two networks. In route command gateway must be in same subnet that peer ip address. So router must have, at least, two addresses. For instance 10.10.1.1 and 169.254.1.0.

A workaroud can be, if both networks are connected to the same physical ethernet network, add a second ip address to your computer in the second ip subnet. But doing so makes you unable to use DHCP; all IP addresses must be fixed.

answered Sep 24, 2015 at 11:41

gmag11's user avatar

2

you can do this by using route add in cmd.exe.

EXAMPLE:

route add 192.168.1.0 mask 255.255.255.0 10.10.0.1  
route add "Source_network" mask "Subnetmask" "Destination_gateway"

Note:

The route will be deleted after the machine is rebooted. In order for the route to stay use the -p flag to make it persistent.

route add 192.168.1.0 mask 255.255.255.0 10.10.0.1  -P

answered Sep 24, 2015 at 11:20

doenoe's user avatar

doenoedoenoe

1,1716 silver badges15 bronze badges

1

«169.254.1.0» by itself is not a network. Usually 169.254.0.0/16 is used for link-local addresses, though according to your comments, your network uses 169.254.1.0/24.

You say that these hosts are on the same link (connected to the same switch). Which is good, since the 169.254.0.0/16 range is defined as «link-local» and explicitly forbidden from being routed. (Some routers allow this, but most will refuse to forward packets from/to this network.)

On-link means you should add a route without a gateway, but directly with a destination interface.

  • In Windows 7 syntax, that would be:

    netsh interface ipv4 add route 169.254.1.0/24 "Local Area Connection"
    
  • Using route:

    route add  169.254.1.0  mask 255.255.255.0  0.0.0.0  if <ifindex>
    

    Note that you must first replace <ifindex> with the real interface ID (e.g. 16), which is shown at the top of route print, like such:

    Interface List
     16...00 15 5d 21 cf 04 ......Microsoft Hyper-V Network Adapter
      1...........................Software Loopback Interface 1�
    

answered Sep 24, 2015 at 11:35

u1686_grawity's user avatar

u1686_grawityu1686_grawity

430k64 gold badges899 silver badges973 bronze badges

1

If you simply need to have a gateway outside your subnet — Windows Server 2012 R2 and Windows 8.1 have the powershell cmdlets to enable direct access outside the subnet, the «Get-NetOffloadGlobalSetting» shows the current state, and «Set-NetOffloadGlobalSetting -NetworkDirectAcrossIPSubnets» allows you to configure the value. Althought PowerShell understands the syntax of the «NetworkDirectAcrossIPSubnets» on client operating systems, this feature is available for servers only, setting it under a client OS will give an error.

answered May 27, 2017 at 16:39

Maxim Masiutin's user avatar

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

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

Синтаксис параметры утилиты ROUTE

route [-f] [-p] [команда [конечная_точка] [шлюз] ] ]

  • -f

    — Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.
  • -p

    — При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP.
  • команда

    — Указывает команду, которая будет запущена на удаленной системе. Возжожна одна из следующих команд: PRINT
    — Печать маршрута, ADD
    — Добавление маршрута, DELETE
    — Удаление маршрута, CHANGE
    — Изменение существующего маршрута.
  • конечная_точка

    — Определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию.
  • mask маска_сети

    — Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0.
  • шлюз

    — Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза — это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза — непосредственно доступный IP-адрес ближайшего маршрутизатора.
  • metric метрика

    — Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования.
  • if интерфейс

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

Примеры команды Route

  • Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду: route print
    ;
  • Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду: route print 10.*;
  • Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите команду: route add 0.0.0.0 mask 0.0.0.0 192.168.12.1;
  • Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
    ;
  • Чтобы добавить постоянный маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду: route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1.

Видео — Работа с утилитой ROUTE

Вчера столкнулся с небольшой проблемой — на машине с Win2k3 установлены 2 сетевых карты, 2 провайдера. Проблема оказалась следующая: подсети пересекаются (точнее — совпадают). Было решено использовать за основной шлюз 1го провайдера, а по внутрисетевым ресурсам гулять — через 2го. И всё бы ничего, но машина должна обслуживать входящие соединения с обоих интерфейсов. Но, благодаря статическим маршрутам, ответы на запросы из подсети 10.0.0.0/8, пришедшей со стороны первого провайдера уходили через канал второго провайдера, что было, мягко говоря, не тем, что нужно. Как решить эту проблему под линухом — я знал (и тоже поведаю в этой заметке). Немного погуглив был найден вариант решения (в msdn»e наткнулись на управления приоритетами соединений). Коллега (WAJIM, привет) подумал — и нашёл 2й вариант. Потом немного (совсем немного) подумал я — и по аналогии появился 2й вариант решения для линуха:)
Итого, под катом вас ожидает 4 варианта решения задачи маршрутизации по 2м провайдерам — 2 под виндовс и 2 под линукс.

Дано:

  • 2 физических фаервола, по совместительству являющихся шлюзами (192.168.1.10 и 192.168.2.10)
  • 2 сетевых интерфейса (lan1 — 192.168.1.101 и lan2 — 192.168.2.101)
  • желание заставить это добро работать так, как нужно нам

Чтож… приступимс.

  • Windows
    • Управление приоритетом сетевых подключений:
      Необходимо создать 3 маршрута:

      route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 1

      Далее идём в Сетевые подключения -> Дополнительно -> Дополнительные параметры, перемещаем lan2 вверх, чтобы это соединение оказалось выше lan1. Готово.

    • Опять же — создаём 3 маршрута. Только изменим метрики

      route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.10 metric 1
      route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 2
      route -p add 10.0.0.0 mask 255.0.0.0 192.168.2.10 metric 1

      И никаких танцев с приоритетом интерфейсов. Считаю этот метод оптимальным.
      UPD
      : метрика интерфеса, приоритет которого выше (см. предыдущий пункт) не должна быть наименьшей.

  • Linux
    • Приоритет в таблице маршрутизации:
      Тут почти тоже самое, что и в предыдущем пункте (только синтаксис чуток различается)

      route add -net 10.0.0.0/8 gw 192.168.1.10 metric 1

    • iproute2:
      Собственно, для этого решения необходимо наличие установленного пакета iproute2. В дебиане — apt-get install iproute.
      В этом случае нам понадобится 2 маршрута

      route add default gw 192.168.1.10 metric 0
      route add -net 10.0.0.0/8 gw 192.168.2.10 metric 0

      Создадим 2 таблицы маршрутизации:

      echo «10 lan1» >> /etc/iproute2/rt_tables
      echo «11 lan2» >> /etc/iproute2/rt_tables

      Добавляем в эти таблицы правила маршрутизации:

      ip route add default via 192.168.1.10 table lan1
      ip rule add from 192.168.1.101 table lan1
      ip route add 127.0.0.0/8 dev lo table lan1

      Ip route add default via 192.168.2.10 table lan2
      ip rule add from 192.168.2.101 table lan2
      ip route add 127.0.0.0/8 dev lo table lan2

      Последние правила — для того, чтобы пакеты с локального интерфейса не терялись.

    Так же не стоит забывать, что линукс при перезагрузки очищает таблицы и правила маршрутизации, потому рекомендую создать хитрый скрипт в папке /etc/network/if-up.d. У меня там лежит скрипт такого содержания:

    #!/bin/sh -e

    Case «$IFACE» in
    eth1)
    ip route add default via 192.168.1.10 table lan1
    ip rule add from 192.168.1.101 table lan1
    ip route add 127.0.0.0/8 dev lo table lan1
    ;;
    eth2)
    route del default gw 192.168.2.101
    route add -net 10.0.0.0/8 gw 192.168.2.10 1
    ip route add default via 192.168.2.10 table lan2
    ip rule add from 192.168.2.101 table lan2
    ip route add 127.0.0.0/8 dev lo table lan2
    ;;
    esac

    UPD
    : поправил косяки в указании метрики.

Выбор за вами. Скажу лишь что было решено остановиться на вторых вариантах для обоих систем (изменение метрики на windows и iproute2 на debian).
Кому интересна тема маршрутизации в линуксе — рекомендую почитать вот эту вещь

Выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Запущенная без
параметров, команда route
выводит справку.

Синтаксис

route
[-f
] [-p
] [команда
[
конечная_точка
] [mask
маска_сети
] [шлюз
] [
metric
метрика
]] [if
интерфейс
]]

Параметры

-f
Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами
(маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты
с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной
рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При
использовании данного параметра совместно с одной из команд (таких, как add
,
change
или delete
) таблица очищается перед выполнением команды.
-p
При использовании данного параметра с командой add
указанный маршрут добавляется в
реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске
протокола TCP/IP. По умолчанию добавленные маршруты не сохраняются при запуске протокола
TCP/IP. При использовании параметра с командой print
выводит на экран список
постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты
хранятся в реестре по адресу
HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services \Tcpip\Parameters\PersistentRoutes

команда
Указывает команду, которая будет запущена на удаленной системе. В следующей таблице
представлен список допустимых параметров.
конечная_точка
Определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где
разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение
0.0.0.0 для маршрута по умолчанию.
mask
маска_сети

Указывает маску сети (также известной как маска подсети) в соответствии с точкой
назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу,
например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если
данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не
может быть более точной, чем соответствующая маска подсети. Другими словами, значение
разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в
маске подсети равно 0.
шлюз
Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов,
определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети,
адрес шлюза это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для
удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза
непосредственно доступный IP-адрес ближайшего маршрутизатора.
metric
метрика

Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута,
которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов,
наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут
с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути,
надежность пути, пропускную способность пути и средства администрирования.
if
интерфейс

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

пропущен, интерфейс определяется из адреса шлюза.
/?
Отображает справку в командной строке.

Примечания

  • Большие значения в столбце metric
    таблицы маршрутизации результат возможности
    протокола TCP/IP автоматически определять метрики маршрутов таблицы маршрутизации на
    основании конфигурации IP-адреса, маски подсети и стандартного шлюза для каждого интерфейса
    ЛВС. Автоматическое определение метрики интерфейса, включенное по умолчанию, устанавливает
    скорость каждого интерфейса и метрики маршрутов для каждого интерфейса так, что самый быстрый
    интерфейс создает маршруты с наименьшей метрикой. Чтобы удалить большие метрики, отключите
    автоматическое определение метрики интерфейса в дополнительных свойствах протокола TCP/IP для
    каждого подключения по локальной сети.
  • Имена могут использоваться для параметра конечная_точка
    , если существует
    соответствующая запись в файле базы данных Networks, находящемся в папке
    системный_корневой_каталог
    \System32\Drivers\Etc. В параметре шлюз
    можно
    указывать имена до тех пор, пока они разрешаются в IP-адреса с помощью стандартных способов
    разрешения узлов, таких как запрос службы DNS, использование локального файла Hosts,
    находящегося в папке системный_корневой_каталог
    \system32\drivers\etc, или разрешение
    имен NetBIOS.
  • Если команда print
    или delete
    , параметр шлюз
    опускается и
    используются подстановочные знаки для указания точки назначения и шлюза. Значение
    конечной_точки
    может быть подстановочным значением, которое указывается звездочкой
    (*). При наличии звездочки (*) или вопросительного знака (?) в описании конечной точки, они
    рассматриваются как подстановки, тогда печатаются или удаляются только маршруты,
    соответствующие точке назначения. Звездочка соответствует любой последовательности символов,
    а вопросительный знак любому одному символу. 10.*.1, 192.168.*, 127.* и *224* являются
    допустимыми примерами использования звездочки в качестве подстановочного символа.
  • При использовании недопустимой комбинации значений конечной точки и маски подсети (маски
    сети) выводится следующее сообщение об ошибке: «Маршрут: неверная маска подсети адреса
    шлюза». Ошибка появляется, когда одно или несколько значений разрядов в адресе конечной точки
    равно 1, а значения соответствующих разрядов маски подсети 1. Для проверки этого состояния
    выразите конечную точку и маску подсети в двоичном формате. Маска подсети в двоичном формате
    состоит из последовательности единичных битов, представляющей часть сетевого адреса конечной
    точки, и последовательности нулевых битов, обозначающей часть адреса узла конечной точки.
    Проверьте наличие единичных битов в части адреса точки назначения, которая является адресом
    узла (как определено маской подсети).
  • Параметр -p
    поддерживается в команде route только в операционных системах
    Windows NT 4.0, Windows 2000, Windows Millennium Edition и Windows XP. Этот параметр не
    поддерживается командой route
    в системах Windows 95 и Windows 98.
  • Эта команда доступна, только если в свойствах сетевого адаптера в объекте
    Сетевые подключения в качестве компонента установлен протокол Интернета
    (TCP/IP)
    .

Примеры

Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду:

Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10.
,
введите команду:

route print 10.*

Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите
команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

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

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

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

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим
адресом перехода 10.27.0.1 и метрикой стоимости 7, введите команду:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим
адресом перехода 10.27.0.1 и использованием индекса интерфейса 0х3, введите команду:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

Чтобы удалить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0, введите
команду:

route delete 10.41.0.0 mask 255.255.0.0

Чтобы удалить все маршруты из таблицы IP-маршрутизации, которые начинаются с 10.
,
введите команду:

route delete 10.*

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

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать
раздел форума
этого сайта (требуется регистрация).

Всем привет сегодня расскажу как прописать статический маршрут в windows с помощью утилиты командной строки route и как посмотреть таблицу маршрутизации Windows. Утилита route выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Когда вам может потребоваться добавление маршрута windows, тут за примером далеко ходить не нужно, самое простое, что вам нужно направить трафик до определенной локальной сети, понятно что все маршруты должен знать шлюз по умолчанию, но не всегда это возможно выполнить по ряду причин и не правильном построении сети. Кстати если кому интересно, то я рассказывал, как делается настройка маршрутов в centos , советую посмотреть для расширения кругозора.

Добавление маршрута windows

Добавление маршрута Windows начинается с изучения синтаксиса команды отвечабщего за это, открываем командную строку от имени администратора и вводим вот такую команду:

Запущенная без параметров, команда route выводит справку.

route [-f] [-p] [команда [конечная_точка] [шлюз] ] ]

  • -f Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.
  • -p При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. По умолчанию добавленные маршруты не сохраняются при запуске протокола TCP/IP. При использовании параметра с командой print выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты хранятся в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes команда Указывает команду, которая будет запущена на удаленной системе. В следующей таблице представлен список допустимых параметров.
  • add > Добавление маршрута
  • change > Изменение существующего маршрута
  • delete > Удаление маршрута или маршрутов
  • print > Печать маршрута или маршрутов

Конечная точка определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию. mask маска_сети Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0. шлюз Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза — это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза — непосредственно доступный IP-адрес ближайшего маршрутизатора. metric метрика Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования. if интерфейс Указывает индекс интерфейса, через который доступна точка назначения. Для вывода списка интерфейсов и их соответствующих индексов используйте команду route print. Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится 0х. В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза. /? Отображает справку в командной строке.

Большие значения в столбце metric таблицы маршрутизации — результат возможности протокола TCP/IP автоматически определять метрики маршрутов таблицы маршрутизации на основании конфигурации IP-адреса, маски подсети и стандартного шлюза для каждого интерфейса ЛВС. Автоматическое определение метрики интерфейса, включенное по умолчанию, устанавливает скорость каждого интерфейса и метрики маршрутов для каждого интерфейса так, что самый быстрый интерфейс создает маршруты с наименьшей метрикой. Чтобы удалить большие метрики, отключите автоматическое определение метрики интерфейса в дополнительных свойствах протокола TCP/IP для каждого подключения по локальной сети.

Имена могут использоваться для параметра конечная_точка, если существует соответствующая запись в файле базы данных Networks, находящемся в папке системный_корневой_каталог\System32\Drivers\Etc. В параметре шлюз можно указывать имена до тех пор, пока они разрешаются в IP-адреса с помощью стандартных способов разрешения узлов, таких как запрос службы DNS, использование локального файла Hosts, находящегося в папке системный_корневой_каталог\system32\drivers\etc, или разрешение имен NetBIOS.

Если команда — print или delete, параметр шлюз опускается и используются подстановочные знаки для указания точки назначения и шлюза. Значение конечной_точки может быть подстановочным значением, которое указывается звездочкой (*). При наличии звездочки (*) или вопросительного знака (?) в описании конечной точки, они рассматриваются как подстановки, тогда печатаются или удаляются только маршруты, соответствующие точке назначения. Звездочка соответствует любой последовательности символов, а вопросительный знак — любому одному символу. 10.*.1, 192.168.*, 127.* и *224* являются допустимыми примерами использования звездочки в качестве подстановочного символа.
При использовании недопустимой комбинации значений конечной точки и маски подсети (маски сети) выводится следующее сообщение об ошибке: «Маршрут: неверная маска подсети адреса шлюза». Ошибка появляется, когда одно или несколько значений разрядов в адресе конечной точки равно 1, а значения соответствующих разрядов маски подсети — 1. Для проверки этого состояния выразите конечную точку и маску подсети в двоичном формате. Маска подсети в двоичном формате состоит из последовательности единичных битов, представляющей часть сетевого адреса конечной точки, и последовательности нулевых битов, обозначающей часть адреса узла конечной точки. Проверьте наличие единичных битов в части адреса точки назначения, которая является адресом узла (как определено маской подсети).
Параметр -p поддерживается в команде route только в операционных системах Windows NT 4.0, Windows 2000, Windows Millennium Edition и Windows XP. Этот параметр не поддерживается командой route в системах Windows 95 и Windows 98.

Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Примеры

вывести на экран все содержимое таблицы IP-маршрутизации, введите команду:

либо команду

Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду:

route print 10.*

If you’re connecting to a work network and your home network, it might be handy to manually control how traffic is routed.

The Command Prompt open on Windows 11

Quick Links

  • What Are Routing Tables?
  • View the Windows Routing Table
  • Add a Static Route to the Windows Routing Table
  • Remove a Static Route from the Windows Routing Table

Key Takeaways

  • Adding a static route to the Windows routing table can be useful in specific situations, such as managing multiple internet connections or directing traffic to specific subnets.
  • You can view the Windows routing table using the Command Prompt by typing «route print» and see the destinations and gateways for packets.
  • To add a static route, use the command «route add destination_network MASK subnet_mask gateway_ip metric_cost» and make it persistent with the «-p» option. To remove a static route, use «route delete destination_network».

In some specific types of environments, you might find it useful to add a static route to the routing table. Here’s how to go about it in Windows 10 and Windows 11.

What Are Routing Tables?

A routing table dictates where all packets go when they leave a system — whether that system is a physical router or a PC. Most routers — including the one built into your Windows PC — use some form of dynamic routing, where the router is capable of selecting the best place to forward packets based on information it gets from other routers. You can see it at work if you use the traceroute command to watch the connections a packet makes as it reaches it’s final destination.

Most routers also allow you to add a static route (one that doesn’t get dynamically updated) if you want to always forward certain traffic to a specific router or gateway. Why? Well, most people using Windows in their home or small business probably won’t — but this can be useful under certain circumstances, such as:

  • You have two internet connections — maybe one for regular use and one for connecting to a work network — and you want all traffic to a certain IP address range to go out over one of those connections.
  • You have set up multiple subnets on your network and need to direct traffic to a particular subnet. Static routes can be particular useful in testing these types of environments.
  • You’re actually using a Windows PC as a router for your network and you want finer control over it.

If any of those apply to you, read on. You’ll need to dive into the Command Prompt to add a static route to the Windows routing table, but it’s easy and we’ll walk you through the steps.

View the Windows Routing Table

Before you get started adding routes, it may be helpful to view the routing table first. Fire up Command Prompt or PowerShell by hitting Windows+X and then selecting «PowerShell (Admin)» or «Command Prompt (Admin) on the Power Users menu.

Run PowerShell through the Power User menu.

You’ll probably see PowerShell instead of Command Prompt in the Power Users menu. It is switch back to showing the Command Prompt if you want, or you can give PowerShell a try. You can do pretty much everything in PowerShell that you can do in Command Prompt, plus a lot of other useful things.

In the Command Prompt or PowerShell, type the following command and hit Enter:

route print
"Route print" will display a list of network destinations.

You’ll see a long list of network destinations and the gateways to which packets are forwarded when they are headed to that destination. Unless you’ve already added static routes to the table, everything you see here will be dynamically generated.

Add a Static Route to the Windows Routing Table

To add a static route to the table, type a command using the following syntax:

route add destination_network MASK subnet_mask gateway_ip metric_cost

The subnet_mask and metric_cost components are optional to the command. If you don’t specify a subnet mask, 255.255.255.0 will be used automatically. If you don’t specify a metric cost, a cost one greater than the 0.0.0.0 destination entry will be used. The metric cost value is just a cost that is relative to other costs in the table and is used when Windows decides between multiple routes that could reach the same destination.

So, for example, if you wanted to add a route specifying that all traffic bound for the 192.168.35.0 subnet went to a gateway at 192.168.0.2 and you just wanted to use the automatic metric cost, you would use the following command:

route add 192.168.35.0 MASK 255.255.255.0 192.168.0.2
"Route add" adds a static route to your Routing Table.

If you were to use the route print command to look at the table now, you’d see your new static route.

Type "route print" into the Command Prompt again and confirm that your addition is present.

That’s all easy enough, but there is one extra little catch. When you add a static route, by default it only lasts until the next time you start Windows. The reason for this is that many companies use a coordinated list of static routes that gets updated fairly often. Rather than adding and updating all those routes on every machine, they just distribute a batch script file that adds the newest routes during Windows startup. This keeps the routing table relatively uncluttered.

You could certainly use the batch script method yourself. Writing batch scripts isn’t hard. But if you’re just adding one or two static routes that you don’t expect to change often, you can instead just add the -p option to the command to make the route persistent. A persistent route stays in place even when Windows starts up. Using the same command we used earlier, you could make that route persistent with the following modification:

route -p add 192.168.35.0 MASK 255.255.255.0 192.168.0.2
Adding "-p" to the command will make the addition persistent between restarts.

Remove a Static Route from the Windows Routing Table

Of course, there will come a time you might want to remove a static route from your table. All you have to do is type a command using the following syntax:

route delete destination_network

So, to delete the route we created earlier with the destination network 192.168.35.0, all we’d have to do is type this command and hit Enter:

route delete 192.168.35.0
Type "route delete" to delete a static route you've added.

Yes, using static routes is a bit esoteric when it comes to managing most home and small business networks. But if you do need to do it, it’s a pretty easy process. And if you don’t need to do it right now, at least you know it’s an option in the future.

Коллега, правильно ли я понял:
Клиент (192.168.0.2) -> Шлюз (192.168.0.1) | Nat | (192.168.11.1) -> Сервер (192.168.11.2)
*ну и где то там вайфай, где-то чистая медь.

Если у вас реально NAT, то получить доступ к серверу можно только если опубликовать нужные порты на шлюзе, проброшенные через Dnat до сервера, для SMB:
netbios-ns 137/udp # NetBIOS Name Service
netbios-dgm 138/udp # NetBIOS Datagram Service
netbios-ssn 139/tcp # NetBIOS Session Service
microsoft-ds 445/tcp # Microsoft Directory Service

Если Nat нет (а по-хорошему ему там не место), то нужны маршруты, на клиенте до сети 192.168.11.0/24, на сервере до 192.168.0.0/24. Их нужно прямо написать, либо сети будут доступны через шлюзы по-умолчанию (в вашем случае это возможно верно для сервера — того ПК что за вайфаем).

Спрашивайте что непонятно.

UDP
Для не NAT
На клиенте 192.168.0.2 добавляем
route add 192.168.11.5 mask 255.255.255.255 192.168.0.111
На Kerio (вроде не критично, но лучше перебздеть) добавляем static маршрут 192.168.11.0 маска 255.255.255.0 шлюз 192.168.0.111
Пинг должен пойти.

  • Принудительное удаление обновлений windows 10
  • Проверка диска hdd windows 10
  • Пробная страница печати напечатана неправильно открыть средство устранения неполадок печати windows
  • Принудительное обновление драйверов windows 10
  • Проверка включения компьютера windows 10