OpenVPN - Доступ к частной сети другого клиента

Я знаю, что на этот заголовок кажется "слишком много ответов", но на самом деле мне не повезло при поиске ...

РЕДАКТИРОВАТЬ: Я обновил диаграмму и вопрос, чтобы быть более точным

Чтобы лучше объяснить мою ситуацию, вот небольшая диаграмма:

enter image description here

Я пытаюсь сделать так, чтобы «Домашний ПК» действовал как «Работа ПК» : - просмотр всех сайтов, которые должны быть недоступны из сети, отличной от 10.42.0.x - Другой локальный клиент SSH в сети 10.42.x.x - Использовать DNS, предоставляемый рабочей сетью (для настраиваемого TLD).

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

Я знаю, что это возможно, если 2 клиента подключены к одному посреднику OpenVPN (клиент OpenVPN на ПК Главная страница -> Сервер OpenVPN -> Клиент OpenVPN на ПК. Работа -> Использование сети с ПК. Работа.

Но у меня очень мало знаний о сетевых инфраструктурах ...

Может ли кто-нибудь объяснить мне, как это сделать? (TAP вместо TUN? Может быть, соединение клиент-клиент? Правила Iptables для пересылки?)

О, я забыл; Я работаю над Linux, PC Home - на Ubuntu 18.04 (но должен работать с любой ОС), OpenVPN Server - на Ubuntu 18.04, а PC Work - на Raspbian :)

Спасибо! Некоторые актуальные файлы конфигурации:

Файл конфигурации сервера:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
client-config-dir ccd
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
explicit-exit-notify 1

В файле IPP я указываю IP-адрес VPN для домашнего и рабочего клиента (10.8.0.10 и 10.8.0.20). На сервере включена переадресация IP. На сервере /etc/ufw/before.rules я добавил следующие строки:

*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT

Скажите, если я пропущу еще какие-то полезные вещи :)

Спасибо!

0
задан 12 September 2019 в 23:46
1 ответ

Обычно для сети к сетевым соединениям OPENVPN создает свою собственную сеть, которая соединяет узлы (10.8.0.0/МАСКА).

у Вас будет две машины OPENVPN, один в каждом конце, одном сервере и одном клиенте.

Эти машины будут также подключены к сетям в каждом конце, 192.168.0.0/МАСКА и 10.42.0.0/МАСКА, кажется, Ваш случай.

От двух машин OPENVPN можно достигнуть другого конца, то есть, от 10.8.0.10 можно проверить с помощью ping-запросов 10.8.0.20

Если так, я думаю, что необходимо сделать 3 вещи направить трафик к удаленным сетям.

1-Активируются, IPFORWARD на обоих серверах

 echo 1>/proc/sys/net/ipv4/ip_forward

2-Добавляют маршруты на Ваших маршрутизаторах, что-то вроде этого

RouterA:

ip route add 10.42.0.0/MASK via 192.168.0. [OPENVPN ip]

RouterB:

ip route add 192.168.0.0/MASK via 10.42.0.0. [OPENVPN ip]

3-у Вас должны уже быть они, но в каждом конце у Вас должен также быть на серверах OPENVPN маршрут для получения до другой стороны, чего-то как [1 114]

OpenVPN1:

ip route add 10.42.0.0/MASK via 10.8.0.10

OpenVPN2:

ip route add 192.168.0.0/MASK via 10.8.0.20

Этот способ, которым Вы говорите Вашим серверам OPENVPN направлять сети и как добраться до них.

я надеюсь, что помог.

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

Теги

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