Cómo permitir que los clientes vpn accedan a servidores LAN

Cómo permitir que los clientes vpn accedan a servidores LAN

Necesito ayuda para entender cómo permitir que los clientes VPN accedan a servidores que están en la "intranet".

Tengo un servidor físico/dedicado en ovh (si eso importa) con 4 ips adicionales. El sistema operativo instalado es proxmox y tengo dos dispositivos de red (su tipo es 'puente Linux'). Uno tiene asignada la ip pública del servidor (vmbr0), el otro (vmbr1) tiene la ip 172.20.0.1 con 255.252.0.0 como máscara de red.

Creé algunas máquinas virtuales que solo tienen asignado el vmbr1. Felizmente puedo hacer ping entre estas máquinas. También obtengo acceso a Internet desde estas máquinas como si estuvieran detrás del enrutador de mi casa. Si es importante, en 172.20.0.2 tengo un servidor dhcp y en 172.20.0.3 y 172.20.0.4 tengo dos servidores dns.

Creé otra máquina virtual que tiene asignados vmbr0 y vmbr1. He configurado una de las IP públicas adicionales en vmbr0 y puedo acceder a ella mediante ssh. También instalé openvpn y lo configuré para que los clientes obtengan acceso a Internet a través del servidor vpn. Los clientes vpn obtienen ips de la red 10.8.0.0/24.

Lo que quiero hacer ahora es permitir que todos los servidores desde 172.20.0.0/14 hagan ping/ssh/etc a los clientes vpn que están en la red 10.8.0.0/24.

Descubrí que necesito hacer que el servidor openvpn envíe algunas rutas a los clientes (para que los clientes conozcan la otra red);

Estoy bastante seguro de que necesito hacer algo en el host proxmox (porque existe la puerta de enlace para la red 172.20.0.0/14) y creo que también tengo que agregar algunas reglas de iptable en el servidor openvpn para poder reenviar/enmascarar el tráfico entre las redes pero no puedo entender exactamente qué reglas.

Entonces mi pregunta es: ¿qué debo hacer para permitir que los clientes VPN accedan a los servidores virtuales dada esta configuración?

Respuesta1

Si no tiene un firewall en el host OpenVPN, de forma predeterminada permitirá el tráfico, por lo que puede ignorarlo.

Los clientes necesitan que se les envíen rutas para garantizar que el tráfico destinado a la subred interna se enrute a través de la VPN. Esta podría ser una ruta predeterminada (lo que hace que TODO el tráfico se envíe a través de la VPN desde los clientes) o una ruta específica para su subred interna. Ha identificado que puede insertar esto en la configuración de VPN (siempre que utilice autenticación basada en certificado).

Debe habilitar el reenvío de IP en el host OpenVPN. Úselo sysctlpara establecer el valor de net.ipv4.conf.all.forwardingen 1. Agregue un archivo a /etc/sysctl.dpara garantizar que esto persista durante los reinicios.

Los hosts locales también requieren rutas para garantizar que sepan cómo acceder a la subred OpenVPN. Podrías:

  • Utilice NAT en el host OpenVPN para hacer que los paquetes reenviados parezcan provenir de su IP interna. Esto oculta la existencia de la subred 10.8.0.0/24 y, por lo tanto, elimina el requisito de que otros dispositivos la conozcan, pero significa que todo el tráfico de todos los clientes VPN parece originarse desde un único host.

  • Configure rutas para garantizar que el tráfico destinado a 10.8.0.0/24 se dirija al host OpenVPN. Estos se pueden agregar en cada VM o en la máquina host. Utilice la routeherramienta y agregue comandos a las declaraciones de su interfaz de red para asegurarse de que persistan durante los reinicios.

información relacionada