Назад | Перейти на главную страницу

Двунаправленное подключение локальной подсети к серверу VPS с помощью простого OpenVPN

Допустим, у нас есть локальная подсеть 192.168.1.0/24 который необходимо подключить в двух направлениях к машине на любом VPS (Amazon EC2, Linode, Vultr и т. д.) через 10.8.0.0/24 подсеть, созданная с помощью OpenVPN.

Частично это уже сделано. Подключить VPS-машину с помощью TUN довольно просто. Мы также успешно предоставили ему доступ к локальной подсети, используя эту команду в файле конфигурации:

route 192.168.1.0 255.255.255.0

Теперь он может подключаться к любому компьютеру в этой локальной подсети. Проблема заключается в подключении наоборот. Локальные машины не могут найти никакого маршрута к серверу VPS.

Какую конфигурацию следует добавить на VPS-машину или локальный сервер OpenVPN 192.168.1.3 чтобы разрешить маршрутизацию из 192.168.1.10 к 10.8.0.10? Что касается нашей фактической конфигурации, traceroute не может добраться до места назначения.

Вот обзор файла конфигурации, находящегося на сервере

local 192.168.1.3
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
max-clients 1
route 192.168.1.0 255.255.255.0 192.168.1.1
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
explicit-exit-notify
[... certificates here ...]

Вот конфиг клиента:

client
dev tun
proto udp
remote [... our VPN's public address ...] 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
block-outside-dns
verb 3
route 192.168.1.0 255.255.255.0
[... certificates here ...]

Это сделано в Таблица маршрутов подсети VPC. Вам нужно будет добавить маршрут для 10.8.0.0/24 через ваш экземпляр OpenVPN EC2:

Вам также понадобится отключить проверку источника / назначения например, иначе AWS не разрешит трафик для любого другого IP-адреса, к которому подключен IP-адрес экземпляра EC2.

И тогда, конечно, вам нужно будет открыть экземпляр Группа безопасности и, если применимо, его локальный брандмауэр (например, iptables), чтобы разрешить трафик для 10.8.0.0/24.

Надеюсь, это поможет :)

Речь шла о пересылке ip ...

VPS-серверу под управлением CentOS 7 нужно было только это настроить:

echo 'net.ipv4.ip_forward=1' >> /etc/systctl.conf

с последующей перезагрузкой.