Configuré el servidor OpenVPN en la instancia de Bastion en la subred pública en AWS VPC. En este momento, tengo acceso a la dirección IP privada de esa instancia con mi cliente OpenVpn, pero queremosacceder a instancias EC2 que se ejecutan en otras subredes privadasen el VPC.
Aquí está mi archivo 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
Dado que mi conocimiento de redes no está en el nivel adecuado, si alguien tiene una idea de cómo resolver esto, estaría muy agradecido.
Gracias
Respuesta1
Tengo varios Mikrotik Cloud RouterOS como servidor OpenVPN en mi VPC, y también me llevó un tiempo hacerlo funcionar.
No tengo una idea clara de su infraestructura y cuál es su problema actual, peroSupongo que su cliente ya puede conectarse al servidor OpenVPN pero no puede acceder a otros servidores EC2 privados.
Noté que el grupo de IP de su cliente (10.8.0.0/24) es diferente a la IP interna del servidor OpenVPN (10.10.0.0/16). Esto complica el enrutamiento de VPC porque su tabla de enrutamiento de VPC no tiene idea de qué subred es 10.8.0.0/24 y hacia dónde enrutar el tráfico correspondiente.
La forma en que resolví esto fue aplicar NAT para que el tráfico de mi cliente (digamos IP 10.8.0.100) se hiciera pasar por el servidor OpenVPN (digamos IP 10.10.0.100) cuando los paquetes salen del servidor OpenVPN. De esta manera, el servidor EC2 privado siempre se enrutará a través del servidor OpenVPN.
También debes comprobar varias cosas:
El grupo de seguridad EC2 está permitiendo el tráfico.
Las subredes de VPC están asociadas con su tabla de rutas
La tabla de rutas VPC tiene las rutas correspondientes configuradas
Las comprobaciones de origen/destino de EC2 están deshabilitadas si está sucediendo NAT
Una solución alternativa podría ser configurar la tabla de rutas para que todo el tráfico 10.8.0.0/24 se envíe a su servidor OpenVPN, pero nunca logré que eso funcionara, así que buena suerte si sigue esta ruta.