openvpn хост-хост-доступ su bnet от дома до удаленного - PullRequest
0 голосов
/ 24 января 2020

Я не очень хорошо разбираюсь в сетях и пытаюсь удаленно управлять некоторыми компьютерами в другой сети. Я настроил VPN через и AWS AMI настройки изображения для openvpn. Аппарат AWS работает на EC2 с IP-адресом c publi c. Я могу подключить как домашний, так и удаленный компьютер к этому VPN, и я могу S SH на удаленном.

Я пытаюсь добраться до дома p c, чтобы поговорить с удаленным p c su bnet , Я могу говорить из дома p c на удаленный p c, но я не могу говорить с компьютерами на удаленном компьютере p c su bnet ..

Su bnet A действительно 10.1.6.0/24 и su bnet B равно 10.1.1.0/24

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

другая идея заключалась в том, чтобы поставить открытые vpn на каждом удаленном P C, но я хочу избежать этого, если это возможно.

OpenVPN-клиент A к клиенту B su bnet связь

Несколько других постов с той же проблемой, но я не мог их понять - https://serverfault.com/questions/861870/how-to-let-an-openvpn-client-access-to-another-clients-subnet ... но по какой-то причине OP-ссылка на сообщение stackoverflow была удалена.

https://serverfault.com/questions/480069/how-to-force-all-traffic-through-vpn

Ответы [ 2 ]

0 голосов
/ 28 января 2020

найдено здесь: https://forums.openvpn.net/viewtopic.php?t=9465

Автор имеет 4 метода, 2 и 3 решают мой вариант использования, я оставил 4-й, так как он был довольно длинным.

Сайт A Локальная сеть: 192.168.0.0/255.255.255.0. Шлюз по умолчанию имеет IP 192.168.0.1 (общая конфигурация). IP-адрес хоста, на котором работает OpenVPN, равен 192.168.0.A, где A может быть любым от 2 до 254. Хосты имеют IP-адреса, например 192.168.0.x, где x от 2 до 254 и отличается от A (IP-адрес хоста OpenVPN) .

Сайт B Локальная сеть 192.168.1.0/255.255.255.0. Шлюз по умолчанию имеет IP 192.168.1.1 (общая конфигурация). IP-адрес хоста, на котором работает OpenVPN, равен 192.168.1.B, где B может быть любым от 2 до 254. Хосты имеют IP-адреса, например 192.168.1.x, где x от 2 до 254 и отличается от B (IP-адрес хоста OpenVPN) .

IP-адреса VPN относятся к 10.8.0.0/255.255.255.0.

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

Метод 1 Как очевидно, переместите программное обеспечение OpenVPN на шлюз по умолчанию в локальной сети. Поскольку существует ситуация, когда это невозможно (простой маршрутизатор, который не может запустить OpenVPN), этот метод является лучшим для будущих расширений, так как добавление большего количества удаленных сайтов не потребует возврата к проблемам маршрутизации.

Метод 2 Добавление маршрута stati c для удаленной сети в таблицу маршрутизации каждого хоста. На каждом хосте мы должны добавить маршрут следующим образом: CODE: SELECT ALL

route add mask gw Например, на каждом хосте с сайта A мы должны добавить два маршрута: CODE: SELECT ALL

route add 192.168.1.0 mask 255.255.255.0 gw 192.168.0.A route add 10.8.0.0 mask 255.255.255.0 gw 192.168.0.A Маршрут для сети VPN 10.8.0.0 может быть опущен, но это не рекомендуется.

Таким же образом мы добавляем маршруты на сайт B, чтобы показать хостам, куда направлять пакеты для удаленного сайта: КОД: ВЫБРАТЬ ВСЕ

route add 192.168.0.0 mask 255.255.255.0 gw 192.168.1.B route add 10.8.0.0 mask 255.255.255.0 gw 192.168.1.B Если будет третий сайт, мы должны таким же образом добавить другой маршрут для новой удаленной сети.

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

Метод 3 Этот метод подразумевает добавление тех же маршрутов, что и в методе 2, только по умолчанию в локальной сети шлюз. Таким образом, перенаправление будет выполняться маршрутизатором, и нам не нужно добавлять маршруты на каждом хосте. Конечно, это возможно, если маршрутизатор разрешает изменять таблицу маршрутизации и iptable. Как и в методе 2, на маршрутизаторе по умолчанию мы добавляем маршруты к удаленным сайтам: CODE: SELECT ALL

route add mask gw Например, на шлюзе по умолчанию сайта A с IP 192.168.0.1 мы должны добавить два маршруты: КОД: ВЫБРАТЬ ВСЕ

route add 192.168.1.0 mask 255.255.255.0 gw 192.168.0.A route add 10.8.0.0 mask 255.255.255.0 gw 192.168.0.A Но это покажет только шлюз, где отправлять пакеты, исходящие от себя. Нам также нужно показать, как маршрутизировать пакеты для удаленного сайта с локальных хостов. Для этого мы должны добавить правило iptable для маршрутизаторов, которое сообщит, что все пакеты, поступающие из интерфейса локальной сети и имеющие пункт назначения в сеть удаленного сайта, должны быть перенаправлены на хост OpenVPN. Большинство маршрутизаторов, которые обрабатывают более широкие настройки, имеют возможность использовать unix как команда «iptables». Итак, мы используем правило iptables следующим образом: CODE: SELECT ALL

iptables -A PREROUTING -t mangle -i -d / -j ROUTE --gw Например, на маршрутизаторе по умолчанию с сайта A мы добавим : КОД: ВЫБРАТЬ ВСЕ

iptables -A PREROUTING -t mangle -i -d 192.168.1.0/255.255.255.0 -j МАРШРУТ --gw 192.168.0.A iptables -A PREROUTING -t mangle -i - d 10.8.0.0/255.255.255.0 -j ROUTE --gw 192.168.0.A Таким же образом мы добавляем правила на маршрутизатор по умолчанию с сайта B.

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

0 голосов
/ 26 января 2020

Что я делаю, так это запускаю другой сервер на клиенте, который я хочу подключить к своей сети. Это не так много накладных расходов. На клиенте необходимо убедиться, что он использует мост, и выполнить следующие команды (на Linux):

brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up

Убедитесь, что client-to-client включен на всех серверах. Таким образом, я могу получить доступ к локальной сети всех моих клиентов. Вам необходимо иметь два адаптера TAP от подключающегося P C: один для сервера Amazon OpenVPN, а другой для сервера клиента.

...