Estou executando meu próprio servidor de e-mail em casa em um IP dinâmico. IPs dinâmicos são frequentemente colocados em listas negras, por isso atualmente envio e-mails através do reencaminhamento do meu fornecedor. Eu quero mudar isso para enviar e-mail diretamente e, para esse fim, tenho um vserver em algum lugar com um IP fixo. O vserver está conectado ao meu servidor local via openvpn. Eu gostaria de usar o túnel openvpn para rotear (somente) o correio de saída para "o mundo". Todo o outro tráfego deve seguir o caminho normal.
O vserver (IP público na eth0) executa um servidor openvpn, IP 10.20.0.1. O servidor de e-mail (IP local 192.168.168.100) executa o cliente openvpn, IP 10.20.0.6.
Roteamento IP do servidor de e-mail com o openvpn estabelecido:
# 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
A partir da minha pesquisa, eu entendo que o caminho certo a seguir deveria ser marcar os pacotes de e-mail de saída e encaminhá-los para o vserver. Então eu tentei isso no servidor de email:
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
(Eu adicionarei a porta 465 depois).
Além disso, habilitei o mascaramento e o roteamento IP no vserver.
No entanto, parece que todo o tráfego de e-mail de saída ainda está saindo do modo normal. Usando o tcpdump no vserver, não vejo nenhum traço de conexões de saída para a porta 25. Portanto, as conexões ainda devem estar indo diretamente, fora da VPN. O que eu tenho sentido falta?
Tags openvpn iptables smtp linux ip-routing