Respuesta1
Como indicas que no puedes cambiar el servidor, debes usar NAT. Esto se debe a que el servidor necesita saber a dónde enviar la respuesta y sólo conoce el cliente VPN, su servidor local. No conoce las PC a las que se puede acceder a través del cliente VPN.
En su servidor local, debe habilitar NAT en la interfaz OpenVPN. Esto se puede lograr mediante el uso de un script. Un posible gancho es --route-up
. Recuerde cambiar --script-security
apropiadamente. Los comandos que necesitas ejecutar son iptables -t nat -A POSTROUTING -o $THE_OPENVPN_INTERFACE -j MASQUERADE
. Dado que IPTables permite que todo sea predeterminado, la configuración adicional es opcional. Probablemente también deberías agregar un --route-pre-down
script (o similar) para eliminar la regla IPTables nuevamente.
El enrutamiento se puede habilitar editando /etc/sysctl.conf
, net.ipv4.ip_forward
debe serlo 1
. echo 1 > /proc/sys/net/ipv4/ip_forward
hace que el cambio sea efectivo inmediatamente. sysctl.conf
es para persistencia entre reinicios.
En su enrutador, debe configurar una ruta estática hacia el destino (la red a la que se puede acceder a través de VPN) siendo la puerta de enlace su servidor local (el cliente VPN). Tenga en cuenta: debido a que está en la misma red que la puerta de enlace, su enrutador puede enviar redirecciones. Es posible que no pueda cambiar este comportamiento. Su sistema operativo debe aceptar redirecciones. Pero primero pruébalo sin configuración adicional.
Es posible que desee proteger correctamente su servidor local porque, de lo contrario, un actor malicioso con acceso al servidor VPN podría obtener acceso a su red local.