Я настроил сервер OpenVPN на экземпляре Bastion в публичной подсети на AWS VPC. Прямо сейчас у меня есть доступ к частному IP-адресу этого экземпляра с моим клиентом OpenVpn, но мы хотим доступ к экземплярам EC2, работающим в других частных подсетях в VPC.
Вот мой файл server.conf:
port 1194
# TCP or UDP server?
;proto tcp
proto udp
;dev tap
dev tun
;dev-node MyTap
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
;topology subnet
server 10.8.0.0 255.255.255.0
;client-config-dir ccd
route 10.10.0.0 255.255.0.0
route 10.10.12.0 255.255.255.0
route 10.10.52.0 255.255.255.0
route 10.10.51.0 255.255.255.0
push "route 10.10.0.0 255.255.0.0"
push "route 10.10.12.0 255.255.255.0"
push "route 10.10.11.0 255.255.255.0"
push "route 10.10.51.0 255.255.255.0"
push "route 10.10.52.0 255.255.255.0"
;learn-address ./script
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
client-to-client
#keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
user nobody
group nobody
status openvpn-status.log
verb 3
Поскольку мои сетевые знания не на должном уровне, если у кого-то есть идея, как решить эту проблему, я был бы очень рад.
Спасибо
У меня есть несколько Mikrotik Cloud RouterOS в качестве сервера OpenVPN в моем VPC, и мне также потребовалось время, чтобы заставить его работать.
У меня нет четкого представления о вашей инфраструктуре и о вашей текущей проблеме, но Я предполагаю, что ваш клиент уже может подключиться к серверу OpenVPN, но не может подключиться к другим частным серверам EC2.
Я заметил, что пул IP-адресов вашего клиента (10.8.0.0/24) отличается от внутреннего IP-адреса сервера OpenVPN (10.10.0.0/16). Это усложняет маршрутизацию VPC, поскольку ваша таблица маршрутов VPC не знает, какая подсеть 10.8.0.0/24 и куда направлять соответствующий трафик.
Я решил это применить NAT, чтобы мой клиентский трафик (скажем, IP 10.8.0.100) маскировался под сервер OpenVPN (скажем, IP 10.10.0.100), когда пакеты покидают сервер OpenVPN. Таким образом, частный сервер EC2 всегда будет маршрутизироваться через сервер OpenVPN.
Вам также необходимо проверить несколько вещей:
Группа безопасности EC2 разрешает трафик
Подсети VPC связаны с вашей таблицей маршрутизации
В таблице маршрутов VPC настроены соответствующие маршруты.
Проверки источника / назначения EC2 отключены, если происходит NAT
Альтернативным решением может быть настройка таблицы маршрутов так, чтобы весь трафик 10.8.0.0/24 отправлялся на ваш сервер OpenVPN, но у меня это никогда не работало, так что удачи, если вы пойдете по этому маршруту.