Estoy intentando acceder a un servidor web que se ejecuta en una PC, que está detrás de un firewall que no administro, usando una conexión VPN (openvpn). Básicamente, quiero usar la IP pública de mi servidor VPN para acceder al servidor web en la PC remota detrás del firewall.
Según la imagen,http://193.105.1.1:8085presentará el sitio web alojado en 192.168.1.1:8080
Lo sentimos si esta pregunta ya ha sido abordada. Intenté buscar algo similar, pero en realidad no sé qué buscar.
Respuesta1
¡Es bastante fácil!
Para facilitar, consideremos la Máquina A - 193.105.1.1 y la Máquina B - 192.168.1.1
Instale el servidor OpenVPN en la máquina A
Prefiero Ubuntu 18.04 y Nyr OpenVPN Installer Script
Simplemente ejecuta esto en la terminal
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Suponiendo que ya tiene la configuración de Apache o nginx en la máquina B, asegúrese de que escuche todas las interfaces.
¡En la Máquina B instale el cliente OpenVPN para conectarse a su servidor!
Ejecute este código en la terminal para instalar el cliente OpenVPN
sudo apt-get install openvpn
Ahora necesitamos configurar la Máquina A para enrutar el tráfico desde la IP pública a la dirección IP interna de OpenVPN; a la Máquina B se le asignará la dirección 10.8.0.2 si utilizó el script Nyr.
¡Configuremos el enrutamiento!
- Habilitar firewall ufw
sudo ufw enable ssh && sudo ufw enable
sudo nano /etc/default/ufw
- Cambie "DEFAULT_INPUT_POLICY" y "DEFAULT_FORWARD_POLICY" a ACEPTAR. Guarde y cierre el archivo.
sudo nano /etc/ufw/sysctl.conf
- Descomentar n"et/ipv4/ip_forward=1". Guarde y cierre el archivo.
sudo nano /etc/ufw/before.rules
Al final de la línea después de la línea "COMMIT", agregue lo siguiente
*nat
-F
:PRERUTAMIENTO ACEPTAR [0:0]
-A PREROUTING -i eth0 -d 193.105.1.1 -p tcp -m multiport --dports 23:65535 -j DNAT --to-destination 10.8.0.2
-A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j MASCARADA
COMPROMETERSE
Cambie eth0 por el nombre de su interfaz de red.
¡Guarde y reinicie ambos servidores! Conecte la máquina B a la máquina A mediante el cliente OpenVPN.