VPN a través de iptables

Pequeña receta de cocina para permitir conexión a un servidor Microsoft PPTP VPN pasando por un cortafuegos Debian Woody con iptables.

Al final no era tan complicado. Se usa el puerto tcp 1723 para establecer la conexión pero el envio/recepción de datos se realiza usando el protocolo gre (47) una vez que tenemos el canal IP creado. Por lo que veo es algo parecido al ftp pasivo.

Las reglas para el cortafuegos quedan así:

iptables -A FORWARD -o ETH_VPN -s IP_SERVIDOR_VPN -p tcp --dport 1723 -m state --state NEW -j ACCEPT
iptables -A FORWARD -o ETH_VPN -s IP_SERVIDOR_VPN -p gre -m state --state NEW -j ACCEPT

iptables -t nat -A PREROUTING -i ETH_VPN -p tcp --dport 1723 -j DNAT --to IP_SERVIDOR_VPN:1723
iptables -t nat -A PREROUTING -i ETH_VPN -p gre -j DNAT --to IP_SERVIDOR_VPN

Ale, nunca te acostarás sin saber una cosa más.