IPTables, ruta puerto específico a través de VPN

Estoy funcionando mi propio server del correo en el país en un IP dynamic. Los IP dynamics a menudo están en la list negra, por lo que actualmente envío posts a través del relé de mi proveedor. Quiero cambiar eso al envío de correo directamente, y con ese propósito tienen un vserver en algún lugar con una IP fija. El vserver está conectado a mi server local a través de openvpn. Me gustaría usar el túnel openvpn para enrutar (sólo) el correo saliente a "el mundo". Todo el otro tráfico tomará la ruta normal.

El vserver (IP pública en eth0) ejecuta un server openvpn, IP 10.20.0.1. El server de correo (IP local 192.168.168.100) ejecuta el cliente openvpn, IP 10.20.0.6.

server de correo IP routing con openvpn establecido:

# route default 192.168.168.1 0.0.0.0 UG 0 0 0 eth0 10.20.0.1 10.9.0.5 255.255.255.255 UGH 0 0 0 tun1 10.20.0.5 * 255.255.255.255 UH 0 0 0 tun1 192.168.168.0 * 255.255.255.0 U 0 0 0 eth0 

De mi investigación, entiendo que el path correcto a seguir debe ser marcar los packages de correo salientes y enrutarlos al vserver. Así que lo intenté en el server de correo:

 echo 201 mail.out >>/etc/iproute2/rt_tables ip rule add fwmark 1 table mail.out iptables -A PREROUTING -t mangle -p tcp --dport 25 -j MARK --set-mark 1 ip route add default via 10.9.0.5 dev tun1 table mail.out 

(Añadiré el puerto 465 más tarde).

Además, he habilitado enmascaramiento y routing IP en el vserver.

Sin embargo, parece que todo el tráfico de correo saliente sigue saliendo de la manera normal. Usando tcpdump en el vserver, no puedo ver ningún rastro de las conexiones salientes al puerto 25. Por lo tanto, las conexiones deben ir directamente, fuera de la VPN. ¿Qué he estado perdiendo?