Reenvío de puertos desde VM a través de OpenVPN

Reenvío de puertos desde VM a través de OpenVPN

Lo siento si este problema ya se ha explicado en otro hilo, pero no pude encontrar una solución a mi problema en ninguna parte.

Tengo una pregunta sobre el diagrama de red adjunto. ¿Puedo compartir permanentemente el puerto de cualquier servicio desde el host 192.168.1.21 del enrutador R2 al host 192.168.1.121 del enrutador R1? Hay un servidor 192.168.1.112 en la red bajo el enrutador R1, que está conectado al servidor 192.168.1.20 bajo el enrutador R2 a través de la red tun0 (OpenVPN).

Puedo hacer un túnel con éxito en los puertos a través de SSH, pero me gustaría una solución permanente. Estaré agradecido por su ayuda.

Todos los servidores tienen un sistema operativo Linux.

diagrama

EDITAR: 2024-03-08

Cambié la dirección dentro de la red en R2 a 192.168.2.0. Agregué rutas a ambos enrutadores. A continuación se muestra el resultado después de ejecutar tracert en la PC1.

tracert 1

tracert 2

El sitio web del enrutador (192.168.2.1) no se muestra en el navegador. La dirección 192.168.2.21 debería conducir a otro servidor. Se puede hacer ping al servidor 192.168.2.21 sin ningún problema dentro de la red 192.168.2.0.

Tracert de 192.168.2.21 a 192.168.1.1

tracert

configuración del enrutador 192.168.1.1

Configuración de R1

configuración del enrutador 192.168.2.1

Configuración de R2

configuración del servidor

local 192.168.1.112
port 1194
proto tcp4
dev tun
ca ca.crt
cert server-dell.crt
key server-dell.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
#ifconfig 10.8.0.1 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
client-config-dir ccd
;push "route 192.168.1.0 255.255.255.0"
;push "route 10.8.0.0 255.255.255.0"
;push "route 192.168.2.0 255.255.255.0"
;route 192.168.2.0 255.255.255.0
client-to-client
push "route 192.168.1.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
route 192.168.2.0 255.255.255.0
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
status /var/log/openvpn/openvpn-status.log
verb 3

configuración ccd

ifconfig-push 10.8.0.10 255.255.255.0
iroute 192.168.2.0 255.255.255.0

Probé una variante de configuración diferente.

Editar: 2024-03-09

desde el nivel PC1 (192.168.1.120) puedo mostrar el servicio desde 10.8.0.1 en el navegador pero no puedo mostrar el servicio desde 10.8.0.10 o 192.168.2.20. Desde vm windows 10 (192.168.2.22) puedo mostrar el servicio desde la dirección 192.168.1.112. La LAN del cliente ve la LAN del servidor openvpn como si la LAN del servidor no viera la LAN del cliente.

EDITAR 2024-03-10

No sé si es importante, pero el cliente de la red tun0 es otro host de la misma LAN. La IP del host es 192.168.2.115. no esta en el diagrama

EDITAR: 2024-03-11

Después de agregar las reglas apropiadas en iptables, mi servidor openVPN (10.8.0.1 o 192.168.1.112) ahora puede hacer ping a las máquinas LAN en el lado del cliente y mostrar programas en el navegador (por ejemplo, Webmin). Desafortunadamente, desde el nivel de LAN en el lado del servidor (por ejemplo, PC1 192.168.2.120) no puedo hacer ping a las máquinas en el lado de LAN del cliente (por ejemplo, Webadmin no funciona).

EDITORIAL 2024-03-12

Éxito. Finalmente logré establecer una conexión LAN a LAN. La solución fueron los siguientes comandos ejecutados en el servidor OpenVPN.

iptables -t nat -A POSTROUTING -o enp2s0  -j MASQUERADE
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o enp2s0 -J ACCEPT
iptables -A FORWARD -i tun0 -o enp2s0 -j ACCEPT
iptables -A FORWARD -i enp2s0 -o tun0 -j ACCEPT

información relacionada