Как сделать 192.168.2. * Доступным из 192.168.0. *? (VPN)

Цель: Сделайте 192.168.2. * Доступно из 192.168.0. *

Ситуация: У меня есть удаленный сайт (сеть B) со встроенным в маршрутизатор сервером OpenVPN. На моем конце у меня есть сеть (Сеть A) с VPN-клиентом, подключенным к удаленному сайту (Сеть B). Хост с VPN-клиентом может пинговать все системы в обеих сетях.

Вопрос: Как я могу заставить хосты в сети A связываться с хостами в сети B, предварительно направив их через хост с помощью VPN-клиента? Примечание: я не хочу, чтобы у каждого из них был собственный VPN-клиент.

Вот диаграмма, которую я создал, чтобы сделать ее более понятной: https://networkengineering.stackexchange.com/questions/59630/using-vpn-make-192-168-2-accessible-from-192-168-0

Я пробовал следующее:

На каждая машина в 192.168.0. * (сеть A) будет добавлен шлюз по умолчанию, как показано ниже.

$ route add default gw 192.168.0.3

В GATEWAY (это мой клиент VPN) добавьте следующую запись маршрутизации.

$ route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.47

На этом этапе я надеялся, что машины в сети A могут проверить связь с сетью B, но не могут.

0
задан 6 June 2019 в 01:02
2 ответа

Я разобрался. Мне пришлось настроить iptables на VPN-клиенте для работы в качестве NAT с опцией MASQUERADE, затем мне нужно было добавить IP-адрес VPN-клиента на соответствующий интерфейс в качестве шлюза по умолчанию для каждой системы в этой сети.


Разрешить машины. во внутренней сети (Сеть A) для связи с внешней сетью (Сеть B)

Вам необходимо настроить iptables для пересылки пакетов из вашей внутренней сети на eth1 (backend), во внешнюю сеть на tun0 (удаленно) .

  1. На машине, на которой запущен клиент VPN
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT

  1. На каждой машине в вашей внутренней сети
route add default gw 192.168.0.3
  1. Теперь машины в сети A могут пинговать / связываться с сетью B.

Разрешить машинам во внешней сети связываться с ваша внутренняя сеть

Вам необходимо настроить iptables для пересылки пакетов из вашей внешней сети (Сеть B) на tun0 (удаленный), во внутреннюю сеть (Сеть A) на eth1 (backend).

  1. На машине, на которой запущен VPN-клиент
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -A FORWARD -i eth1 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i tun0 -o eth1 -j ACCEPT

  1. На каждой удаленной машине
route add default gw 192.168.2.47
  1. Теперь машины в сети B могут пинговать / связываться с сетью A.
0
ответ дан 23 November 2019 в 23:34

вы можете направить весь трафик, кроме интернет-трафика, с сайта B с сайта на сайт openVPN, vpn сайта на сайт добавит маршрут по умолчанию для сети 192.168.0.0/24 и маршрут по умолчанию будет добавлен в таблицу маршрутизации вашего шлюза, чтобы каждый хост эффективно маршрутизировался через правильный шлюз.

мы попробовали это в сети с двумя vm pfsense (версия 2.4.4), и все прошло хорошо. сайт A был сервером, а сайт B был клиентом для соединения сайта с сайтом! сайт B маршрутизировал весь трафик через VPN, но мы переключили его обратно, чтобы маршрутизировать весь трафик http / https на каждую WAN обоих сайтов.

0
ответ дан 23 November 2019 в 23:34

Теги

Похожие вопросы