OpenVPN da AWS para o Office

OpenVPN da AWS para o Office

Estou tentando construir um gateway OpenVPNdemeuVPC->emoescritóriorede. Configurei com sucesso um cliente VPN em uma de minhas instâncias EC2 (vamos chamá-lo de "gateway") e agora ele possui interface virtual VPN "tun0".

Agora quero rotear todo o tráfego relacionado ao escritório (dst 172.20.0.0/16) do restante das instâncias do EC2 na VPC para a interface de rede do "gateway" (10.0.0.100).

Eu tentei 2 abordagens diferentes:

  • adicione uma nova regra na tabela de rotas AWS relacionada: 172.20.0.0/16 -> eni-XXX (onde eni-XXX é um id da interface do "gateway");
  • atualize a tabela de rotas do EC2: route add -net 172.20.0.0 netmask 255.255.0.0 gw 10.0.0.100

Ambas as variantes parecem ter falhado porque a execução de "tcpdump -i eth0 'src port not 22 e dst port not 22'" no gateway e curling/pinging ips internos do escritório não mostra nada :(

Alguém tem uma idéia sobre o que está errado? Ou pode haver uma solução melhor para o meu problema?

E a segunda pergunta. Assim que obtiver meu tráfego na eth0 do gateway, pretendo encaminhá-lo para a conexão VPN usando os seguintes comandos IpTables:

iptables -t nat -A POSTROUTING -o tun0  -j MASQUERADE
iptables -A FORWARD -i eth0 -s 10.0.0.0/16 -o tun0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Devo esperar algum problema aqui (exceto ativar o encaminhamento de IP)?

Responder1

Sua abordagem está abaixo do ideal. Você deveria estar usando um AWSGateway Privado Virtualpara conectar seu escritório à VPN, não conectando-se a uma VPN em uma instância do EC e tentando rotear a partir daí.

Experimente, a documentação é boa e, se você tiver problemas, provavelmente deverá iniciar uma nova pergunta. Se você não puder usar esta solução, edite sua pergunta para incluir mais detalhes sobre seu caso de uso.

Responder2

Ok, então meu principal problema foi com a AWS - ela não permite rotear o tráfego entre instâncias do EC2 por padrão. Para corrigir este momento deve-se desabilitarVerificação de Src/Dstpara sua instância de "gateway". Depois disso, adicionar uma rota na tabela de rotas da AWS que redireciona todo o tráfego direcionado ao escritório para a instância ec2 do "gateway" (por exemplo, 172.20.0.0/16 -> eni-XXX - onde eni-XXX é um ID da interface do gateway) funciona multar.

Quanto ao encaminhamento de tráfego da interface de rede pública (eth0) para a interface de rede virtual OpenVpn, o iptables resolve isso muito facilmente:

iptables -F
iptables -t nat -F

iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
iptables -A FORWARD -i eth0 -s 10.0.0.0/16 -d 172.20.0.0/16 -o tun0 -j ACCEPT

onde "10.0.0.0/16" é a sub-rede VPC e "172.20.0.0/16" é a rede do escritório. Além disso, habilitando o encaminhamento de IP, é claro:

echo 1 > /proc/sys/net/ipv4/ip_forward
vim /etc/sysctl.conf <- net.ipv4.ip_forward = 1

Obrigado a todos por suas respostas.

informação relacionada