Acesse outras instâncias AWS VPC, exceto o servidor OpenVPN

Acesse outras instâncias AWS VPC, exceto o servidor OpenVPN

Configurei o servidor OpenVPN na instância Bastion na sub-rede pública no AWS VPC. No momento, tenho acesso ao endereço IP privado dessa instância com meu cliente OpenVpn, mas queremosacessar instâncias EC2 em execução em outras sub-redes privadasna VPC.

Aqui está meu arquivo 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

Como meu conhecimento de redes não está no nível adequado, se alguém tiver uma ideia de como resolver isso, ficaria muito grato.

Obrigado

Responder1

Tenho vários Mikrotik Cloud RouterOS como servidor OpenVPN em minha VPC e também demorei um pouco para fazê-lo funcionar.

Não tenho uma imagem clara da sua infraestrutura e qual é o seu problema atual, masPresumo que seu cliente já possa se conectar ao servidor OpenVPN, mas não consiga acessar outros servidores EC2 privados.

Percebi que o pool de IP do seu cliente (10.8.0.0/24) é diferente do IP interno do servidor OpenVPN (10.10.0.0/16). Isso complica o roteamento de VPC porque sua tabela de rotas de VPC não tem ideia de qual sub-rede é 10.8.0.0/24 e para onde rotear o tráfego correspondente.

A maneira como resolvi isso foi aplicar NAT para que o tráfego do meu cliente (digamos IP 10.8.0.100) fosse mascarado como o servidor OpenVPN (digamos IP 10.10.0.100) quando os pacotes saíssem do servidor OpenVPN. Desta forma, o servidor EC2 privado sempre irá rotear através do servidor OpenVPN.

Várias coisas que você também precisa verificar:

  1. O grupo de segurança EC2 está permitindo o tráfego

  2. As sub-redes VPC estão associadas à sua tabela de rotas

  3. A tabela de rotas VPC tem a configuração de rotas correspondente

  4. As verificações de origem/destino do EC2 serão desativadas se o NAT estiver acontecendo

Uma solução alternativa pode ser configurar a tabela de rotas para que todo o tráfego 10.8.0.0/24 seja enviado para o seu servidor OpenVPN, mas nunca consegui que isso funcionasse, então boa sorte se você seguir esse caminho.

informação relacionada