Connection port 25 ne passe pas par openvpn

Bonjour.
Je ne sais pas si le titre est explicite, mais il y a un truc que je ne comprends pas.
J’ai 2 machines qui se connectent l’une à l’autre par openvpn avec une config de base ultra simple:
sur le client:

remote <ipv4 serveur>
dev tun0
ifconfig 10.9.8.2 10.9.8.1
secret /etc/openvpn/serveur-static.key

sur le serveur

dev tun0
ifconfig 10.9.8.1 10.9.8.2
secret /etc/openvpn/static.key

Jusque là tout va bien, la connexion VPN s’établit bien, et je peux ssh de l’un à l’autre sur les ip 10.9.8.X sans soucis.

J’ai par ailleurs un postfix qui tourne sur 10.9.8.2 .
Sur 10.9.8.2 en local telnet 10.9.8.2 25 me permet de faire une session SMTP sans problème:

emeraude@emeraude:~$ telnet 10.9.8.2 25
Trying 10.9.8.2...
Connected to 10.9.8.2.
Escape character is '^]'.
220 ##### ESMTP Postfix (Debian/GNU)
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

Mais quand j’essaye d’y accèder depuis 10.9.8.1, ça ne passe pas:

mj@serveur:~$ telnet 10.9.8.2 25
Trying 10.9.8.2...
telnet: Unable to connect to remote host: Connection timed out

Compléments de config:

  • sur 10.9.8.1:
mj@serveur:~$ sudo iptables-save
# Generated by xtables-save v1.8.2 on Fri Dec  6 11:27:25 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:f2b-sshd - [0:0]
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A f2b-sshd -s ###ip bannie par fail2ban ###/32 -j REJECT --reject-with icmp-port-unreachable
[...]
-A f2b-sshd -j RETURN
COMMIT
# Completed on Fri Dec  6 11:27:25 2019
mj@serveur:~$ ip r
default via 185.26.#.# dev eth0 onlink 
10.9.8.2 dev tun0 proto kernel scope link src 10.9.8.1 
185.26.#.0/24 dev eth0 proto kernel scope link src 185.26.#.# 
  • sur 10.9.8.2:
# Generated by xtables-save v1.8.2 on Fri Dec  6 11:23:16 2019
*mangle
:PREROUTING ACCEPT [182492:25859819]
:INPUT ACCEPT [182491:25859243]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [163709:97718391]
:POSTROUTING ACCEPT [163936:97764740]
-A PREROUTING -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0x3f
-A PREROUTING -p udp -m udp --dport 22 -j TOS --set-tos 0x10/0x3f
-A PREROUTING -p tcp -m tcp --dport 25 -j TOS --set-tos 0x10/0x3f
-A PREROUTING -p udp -m udp --dport 53 -j TOS --set-tos 0x10/0x3f
-A PREROUTING -p tcp -m tcp --dport 80 -j TOS --set-tos 0x08/0x3f
-A PREROUTING -p tcp -m tcp --dport 443 -j TOS --set-tos 0x08/0x3f
-A PREROUTING -p tcp -m tcp --dport 8080 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -o eth2 -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -o eth2 -p udp -m udp --dport 22 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -o eth2 -p tcp -m tcp --dport 25 -j TOS --set-tos 0x10/0x3f
-A OUTPUT -o eth2 -p tcp -m tcp --dport 53 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -o eth2 -p udp -m udp --dport 53 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -o eth2 -p tcp -m tcp --dport 80 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -o eth2 -p udp -m udp --dport 80 -j TOS --set-tos 0x08/0x3f
-A OUTPUT -o eth2 -p tcp -m tcp --dport 443 -j TOS --set-tos 0x08/0x3f
COMMIT
# Completed on Fri Dec  6 11:23:16 2019
# Generated by xtables-save v1.8.2 on Fri Dec  6 11:23:16 2019
*nat
:PREROUTING ACCEPT [42430:3358987]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [1595:102990]
:OUTPUT ACCEPT [33581:2913567]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT
# Completed on Fri Dec  6 11:23:16 2019
emeraude@emeraude:~$ ip r
default via 192.168.#.254 dev eth2 proto dhcp metric 100 
10.9.8.1 dev tun0 proto kernel scope link src 10.9.8.2 
192.168.#.0/24 dev eth2 proto kernel scope link src 192.168.#.129 metric 100 

Pourquoi je n’arrive pas à établir cette pu741n de session smtp par le vpn ?
Hein, pourquoi ?

Bonjour,
Est ce que ça ne peut pas être une histoire de droit tout ça? Ou un service non activé? Qui passerait en localhost mais pas à distance.

Alors c’était plus compliqué que ça.
Le ssh passait, mais je me suis aperçu que le ping non plus ne passait pas.
J’ai laissé un ping tourner dans une console depuis le serveur openvpn (qui est donc le client pour mon test telnet/smtp qui échoue) et d’un coup, juste aprés avoir fait un traceroute dans mes essais pour comprendre quoi passait par où et où c’était bloqué, le ping s’est mis à tourner.
J’ai immédiatement tenté la session telnet, qui a fonctionné, j’ai eu le prompt du postfix, et j’ai quitté proprement ma session.

Puis c’est reparti… Plus de ping, plus de telnet.
Je ne me souviens plus si j’ai fait quelque chose pour que ça retombe, mais je ne crois pas.

Bref, le but de faire fonctionner ça était de débloquer/vider une file de mail en attente sur le “serveur openvpn” vers mon postfix à l’autre bout du tunnel, qui est la destination finale smtp de tous ces mails.

Mais j’ai contourné le probléme en redirigeant ma file de mail vers un serveur apte à stocker, et je rappatrie ensuite par fetchmail toute cette file sur mon serveur domestique (celui où je voulais vider la file par le tuyau vpn).
Bref, j’ai arrêté mes vpns, et pas trop le temps de regarder pourquoi ça ne marchait pas:
suite à un “sinistre” dans l’hébergement de mes mails en début de semaine, j’ai réussi enfin à remettre un serveur qui gère au carré la réception des mails de tous mes domaines.

Le seul problème maintenant, c’est que pour l’émission, comme j’ai tout changé dans mes serveurs d’envoi de mail sur mes domaines, il faut que je refasse toute la config spf+dkim rapidement, pour pouvoir envoyer mes factures de novembre depuis ma compta sans tomber en spam.

Mais bon, là, je fais une pause, j’ai du mail à lire en retard…

Arf! Bon ba bon courrage alors! ;]