Прописать маршрут в другую подсеть: Как быть с доступом из одной подсети в другую? — Хабр Q&A

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

Здравствуйте, у меня интернет идет через шифрованную сеть — VPN, когда я подключаю ноутбук к сети интернет у меня пропадает внутренняя сеть, как можно настроить одновременную работу ноутбука в сети интернет и в домашней сети?

Вам необходимо прописать сетевой маршрут чтобы ваш компьютер знал как ему «ходить» в Интернет и в локальную сеть.

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

Сейчас очень распространено для безопасности использовать  «Виртуальные частные сети» (VPN).  VPN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям.  Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей.  Например, у вас дома два компьютера один из которых имеет доступ в Интернет по средствам VPN,  также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находиться в другой сети и поэтому недоступен со второго компа. Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодиться сисадминам, (пример из жизни) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN и был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения, но что же делать, я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого я попал на нужный мне сайт (который показывал внешний ip) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но вы сами понимаете, что на это нет времени и попросту неохота.  Теперь вы немного представляете, где и для чего вам может пригодиться знание того, как прописываются статические маршруты.
Хватит теории, переходим к практике. Сейчас мы с вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном 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

где:
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 [-f] [-p] [destination] [mask ] [gateway] [metric ] [if ]

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

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

route print

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

Вы можете задать вопрос по статье специалисту.

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

Тестирование в тестовой среде никто не отменяет.
Администрация сайта не несет ответственность за ваши действия.

Вся информация на сайте носит исключительно справочный характер и не является публичной офертой, определяемой в Статье 437 Гражданского кодекса Российской Федерации.

windows — Как сделать маршрут к другому хосту через LINUX машину

У меня такая проблема:

Компьютер -> роутер -> компьютер с LINUX -> удаленный хост

192.168.0.166 -> 192.168.0.1 -> (192.168.0.200 192.168.1.200) -> 192.168.1.2

Мне нужно соединиться между компьютером 192.168.0.166 и 192.168.1.2 через компьютер с LINUX

Компьютер с LINUX имеет два сетевых интерфейса и видит оба компьютера 192.168.0.166 и 192.168.1.2

Также компьютер с LINUX подключен к VPN и имеет адрес 10.0.8.13.

Мне нужно связываться с одним удаленным хостом 192.168.1.2 через компьютер с LINUX.

Компьютер с LINUX имеет два сетевых интерфейса 192.168.0.200 (подключен к роутеру) 192. 168.1.200 (подключен к удаленному хосту) и адрес VPN 10.0.8.252 все адреса постоянные, статические, IP Forwarding включен.

Доступ к компьютеру с LINUX есть со всех компьютеров в сети.

Но компьютеры из VPN сети и внутри сети видят только компьютер с LINUX а с удаленным хостом нельзя связаться, нет пинга.

Я понимаю, что нужно добавить маршруты, но не знаю как это сделать, читал как сделать простые маршруты но с таким для меня еще сложно, я еще не понимаю.

Маршруты на компьютере с LINUX:

    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.1     0.0.0.0         UG    1      0        0 wlan0
    0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
    0.0.0.0         10.8.0.1        0.0.0.0         UG    100    0        0 tun0
    10.8.0.0        0.0.0.0         255.255.255.0   U     100    0        0 tun0
    192.168.0.0     0.0.0.0         255.255.255. 0   U     1      0        0 wlan0
    192.168.0.1     0.0.0.0         255.255.255.255 UH    1      0        0 wlan0
    192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
    192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

Маршруты на компьютере с WINDOWS:

    IPv4 таблица маршрута
    ===========================================================================
    Активные маршруты:
    Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс          Метрика
              0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.166     55
            127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
            127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
      127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
          192.168.0.0    255.255.255.0         On-link     192.168.0.166    311
        192.168.0.166  255.255.255.255         On-link     192. 168.0.166    311
        192.168.0.255  255.255.255.255         On-link     192.168.0.166    311
            224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
            224.0.0.0        240.0.0.0         On-link     192.168.0.166    311
      255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      255.255.255.255  255.255.255.255         On-link     192.168.0.166    311
    ===========================================================================
    Постоянные маршруты:
      Отсутствует

windows 7 — Как я могу добавить маршрутизацию для всей подсети, отличной от gw?

спросил

Изменено
6 лет назад

Просмотрено
10 тысяч раз

Я хочу добавить маршрутизацию с интерфейса 10. 10.1.100 в сеть 169.254.1.0. Как это возможно сделать в Windows 7?

  • windows-7
  • сеть
  • маршрутизация

10

После множества комментариев я читаю настройку следующим образом:

       ------------------    выключатель  -----------------
      / (не маршрутизатор) \
      | | |
      | | |
Действительные хосты PROD Мой компьютер win 7 Безголовые коробки
на 10.0.0.0/8 (атм на 10.0.0.0/8) на 169.254.0.0/16
 

Обратите внимание, что маршрутизаторы не задействованы.

Я также не могу/ограничен изменить 10.10.1.100 на 169 из-за
в настоящее время рабочие производственные приложения.

Остается несколько вариантов.

  1. Также добавьте 169… IP-адрес на рабочий стол Windows 7 и в первый раз правильно, чтобы он не мешал работе.

  2. Получите временный четвертый компьютер и поэкспериментируйте с ним. Должно быть тривиально, чтобы загрузить это, настройте статический IP-адрес в 169. .. Теперь вы можете получить доступ к безголовым блокам (хотя они еще не взаимодействуют с другими хостами PROD. Но вы можете настроить их и исправить, чтобы они также находились в 10.0.0.0/8…)

  3. Обратите внимание, что безголовые коробки являются локальными, тогда вы также можете взять полуслучайный ноутбук/рабочий стол, только подключите эти безголовые коробки и ноутбук к независимому коммутатору. Затем правильно настройте их и только потом подключайте к производственной сети.

Теперь, если настройка менее проста и это не коммутатор, а между ними есть один или несколько маршрутизаторов, у вас могут возникнуть проблемы. RFC1918 IP-адресов не должны маршрутизироваться. Таким образом, если между ними есть какие-либо маршрутизаторы, вам потребуется перенастроить их. Если есть сторонние маршрутизаторы (например, безголовые ящики находятся в другом офисе, и вы пытаетесь связаться с ними через Интернет), то сдавайтесь. Попробуйте что-нибудь другое. (например, сначала подключитесь к ящику в этом офисе или подключитесь к маршрутизатору в другом офисе).

Если это так, пожалуйста, добавьте больше деталей в исходное сообщение.

1

Вам нужен маршрутизатор между этими двумя сетями. В командном шлюзе маршрута должен находиться в той же подсети, что и одноранговый IP-адрес. Таким образом, маршрутизатор должен иметь как минимум два адреса. Например, 10.10.1.1 и 169.254.1.0.

Обходной путь может заключаться в том, что если обе сети подключены к одной и той же физической сети Ethernet, добавьте второй IP-адрес вашему компьютеру во вторую IP-подсеть. Но это лишает вас возможности использовать DHCP; все IP-адреса должны быть фиксированными.

2

вы можете сделать это, используя добавление маршрута в cmd.exe.

ПРИМЕР:

 добавить маршрут 192.168.1.0 маска 255.255.255.0 10.10.0.1
route add "Source_network" mask "Subnetmask" "Destination_gateway"
 

Примечание:

Маршрут будет удален после перезагрузки машины. Чтобы маршрут остался, используйте флаг -p, чтобы сделать его постоянным.

 маршрут добавить 192.168.1.0 маска 255.255.255.0 10.10.0.1 -P
 

1

«169.254.1.0» сам по себе не является сетью. Обычно для ссылок-локальных адресов используется 169.254.0.0/16, хотя, судя по вашим комментариям, ваша сеть использует 169.254.1.0/24.

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

On-link означает, что вы должны добавить маршрут без шлюза , но напрямую с интерфейсом назначения.

  • В синтаксисе Windows 7 это будет:

     интерфейс netsh ipv4 добавить маршрут 169.254.1.0/24 «Подключение по локальной сети»
     
  • Использование маршрута :

     маршрут добавить 169.254.1.0 маска 255. 255.255.0 0.0.0.0 если 
     

    Обратите внимание, что вы должны сначала заменить на реальный идентификатор интерфейса (например, 16), который показан в верхней части route print , например:

     Список интерфейсов
     16...00 15 5d 21 cf 04 ...... Сетевой адаптер Microsoft Hyper-V
      1................................. Программный интерфейс Loopback 1� 
     

1

Если вам просто нужен шлюз за пределами вашей подсети — в Windows Server 2012 R2 и Windows 8.1 есть командлеты powershell для обеспечения прямого доступа за пределы подсети, «Get-NetOffloadGlobalSetting» показывает текущее состояние, а «Set-NetOffloadGlobalSetting — NetworkDirectAcrossIPSubnets» позволяет настроить значение. Хотя PowerShell понимает синтаксис «NetworkDirectAcrossIPSubnets» в клиентских операционных системах, эта функция доступна только для серверов, установка ее в клиентской ОС приведет к ошибке.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

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

networking — как направить трафик из подсети A в подсеть B с помощью двух маршрутизаторов

Обычно вы не отправляете трафик «от маршрутизатора A к маршрутизатору B» для соединения подсетей. Вместо этого вы настраиваете один маршрутизатор, подключенный к обеим подсетям. Этот маршрутизатор может 90 139 пересылать 90 140 пакетов между обеими подсетями (что является исходным определением «маршрутизатора»).

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

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

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

Редактировать

Если вы используете маршрутизаторы бизнес-класса, у вас не должно возникнуть проблем с настройкой таблицы маршрутизации.

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

 10.10.32.0/24 Шлюз 10.20.64.0/22
                             |
            | +++++++ |
            | + + |
            | ............+ X +............ |
            | 10.10.32.1 + + 10.20.64.1 |
            | +++++++ |
            | |
 

Это означает, что каждый сегмент может установить X в качестве шлюза по умолчанию, и все просто и легко. Это работает даже в том случае, если сеть /24 и /22 должны иметь разные шлюзы (которые затем подключаются к X).

Если вы настаиваете на том, чтобы все усложнять, вот вам: если A является шлюзом по умолчанию для одного сегмента, а B для другого, то как только вы используете, например. A для их подключения

 10. 10.32.0/24 Шлюз 1 10.20.64.0/22
                             |
            | +++++++ |
            | + + |
            | ............+ А +............. |
            | 10.10.32.1 + + 10.20.64.2 |
            | +++++++ |
            | |
            | |
            | +++++++ |
            | + + |
            | + В + ............. |
            | + + 10.20.64.1 |
            | +++++++ |
                             |
                          Шлюз 2
 

, то сегменту 10.20.64.0/22 ​​(т. е. каждому отдельному хосту в нем) теперь требуется два маршрута : один маршрут по умолчанию к B и один маршрут для 10.10.32.0/24 через 10.20.64.2 к ​​A. Это означает вы либо устанавливаете статические маршруты на все хосты в сегменте /22, либо вам нужно распределять маршруты через DHCP (и молиться, чтобы все хосты приняли их).

Или, если вы просто назначите B статический маршрут, это будет означать, что каждый пакет должен пройти через сегмент дважды, что вдвое уменьшит пропускную способность. Сообщения ICMP REDIRECT могут (или не могут) облегчить это, в зависимости от используемой ОС.

Также можно усложнить, соединив роутеры между собой:

 10.10.32.0/24 Шлюз 1 10.20.64.0/22
                             |
            | +++++++ |
            | + + |
            | ............+ А + |
            | 10.10.32.1 + + |
            | +++++++ |
            | | 192.168.1.3 |
            | | |
            | 192.168.1.2 | |
            | +++++++ |
            | + + |
            | + В + ............. |
            | + + 10.20.64.1 |
            | +++++++ |
                             |
                          Шлюз 2
 

Это означает, что у вас есть третий сегмент с собственным диапазоном IP-адресов. Теперь достаточно статических маршрутов на A и B.

Вы уверены, что хотите одну из сложных конфигураций? Каковы причины вашего желания?

Пользователи за маршрутизатором B не имеют доступа к сети маршрутизатора A.

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