Reenvío de puertos del túnel OpenVPN a LAN con IPtables en Debian

Reenvío de puertos del túnel OpenVPN a LAN con IPtables en Debian

Estoy conectando dos máquinas Debian 9 x64 con OpenVPN:

Server
(ens3 public-ip x.x.x.222)
tun0 10.8.0.1
-> Services:
   * Samba - udp137, udp138, tcp139, tcp445
   * Webserver - tcp80

Client
ens33 192.168.162.157
tun0 10.8.0.6

Así que quieroadelanteSamba y servidor webael cliente LAN-IP192.168.162.157que otros clientes LAN en 192.168.162.x puedan acceder a estos servicios.

Intenté definir reglas NAT con iptables en el cliente con toda la información que encontré en Internet, pero no tuve éxito:

sysctl -w net.ipv4.ip_forward=1

iptables -t nat -A PREROUTING -i ens33 -p udp --dport 137 -j DNAT --to 10.8.0.1:137
iptables -t nat -A PREROUTING -i ens33 -p udp --dport 138 -j DNAT --to 10.8.0.1:138
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 139 -j DNAT --to 10.8.0.1:139
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 445 -j DNAT --to 10.8.0.1:445

iptables -A FORWARD -i ens33 -p udp --dport 137 -d 10.8.0.1 -j ACCEPT
iptables -A FORWARD -i ens33 -p udp --dport 138 -d 10.8.0.1 -j ACCEPT
iptables -A FORWARD -i ens33 -p tcp --dport 139 -d 10.8.0.1 -j ACCEPT
iptables -A FORWARD -i ens33 -p tcp --dport 445 -d 10.8.0.1 -j ACCEPT

iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 10.8.0.1:80
iptables -A FORWARD -i ens33 -p udp --dport 80 -d 10.8.0.1 -j ACCEPT

Se puede acceder a Webserver y Samba si me conecto en 10.8.0.1 directamente en el cliente, pero no en la LAN a través de 192.168.162.157.

¿Alguien puede ayudarme con los iptables? :)

Respuesta1

Probablemente tu problema sea el camino de regreso.

¿Sabe el servidor cómo enrutar paquetes a la subred de su cliente a través del cliente VPN? De lo contrario, también necesitará SNAT/enmascaramiento (o una entrada de enrutamiento coincidente en el servidor).

Luego, para su servidor, los paquetes se originarían en su cliente VPN y encontrarían el camino de regreso.

información relacionada