régles iptable pour serveur mail

bonjour

j’ai un petit soucis de regles iptables

a/ iptables est sur la passerelle (eth0 = 192.168.1.2)
le lan est eth1 = 192.168.10.1
b/ le serveur de mail est une machine à part branche sur l’interface eth1 = 192.168.10.50
c/ le port 25 - 143 - 110 est ouvert

1- j’autorise tout en sortie

2- se qui rentre sur eth0 avec le port 25 - 143 -110 est rediriger sur le serveur mail

iptables -A FORWARD -p TCP --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 25 -j DNAT --to 192.168.10.50

le hic, c’est que j’ai l’impression que les mails sortent pas
1 - (connect to smtp-in.sfr.fr[93.17.128.86]:25: Connection timed out)
2 - dans les logs j’ai pas de ref à 192.16810.50

j’ai oublier quoi ou merdé ou ??? merci +a

1 - Ta passerelle fait du NAT source (SNAT ou MASQUERADE) sur eth0, ou bien le routeur d’accès à internet (box ?) a une route vers le sous-réseau du LAN 192.168.10.0/24 ?
2 - Les logs de quoi ?

Accessoirement tes règles iptables sont pourries, mais ce n’est pas le problème.

[quote=“gilles974”]bonjour

j’ai un petit soucis de regles iptables

a/ iptables est sur la passerelle (eth0 = 192.168.1.2)
le lan est eth1 = 192.168.10.1
b/ le serveur de mail est une machine à part branche sur l’interface eth1 = 192.168.10.50
c/ le port 25 - 143 - 110 est ouvert

1- j’autorise tout en sortie

[code]iptables -P OUTPUT ACCEPT

2- se qui rentre sur eth0 avec le port 25 - 143 -110 est rediriger sur le serveur mail

[code]
iptables -A FORWARD -p TCP --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 25 -j DNAT --to 192.168.10.50

le hic, c’est que j’ai l’impression que les mails sortent pas
1 - (connect to smtp-in.sfr.fr[93.17.128.86]:25: Connection timed out)
2 - dans les logs j’ai pas de ref à 192.16810.50

j’ai oublier quoi ou merdé ou ??? merci +a[/quote]

Pourquoi ‘TCP’ en majuscules ?

salut ricardo et PascalHambourg

TCP = faute de frappe :119

:laughing: ok pour mes réglés pourries mais comme tu dit “ce n’est pas le problème.”

sur la box j’ai ouvert les ports sur eth0 = 192.168.1.2
après le firewall essaye de gérer mes règles pourries :laughing:
pour les logs se sont ceux de /var/log/syslog

Ce n’est pas ma question. Ça c’est pour le sens entrant, or ton problème est dans le sens sortant.

Et tu t’attendais à y trouver quoi, surtout sans règle LOG ?

le routeur n’a pas de route vers 192.168.10.0

tout se passe à partir de eth0

pour syslog je pensais voir au moins la source et destination des paquets

Qu'il m'avait dit le Chef !

Qu’il m’avait dit le Chef !

Bon, visiblement on se comprend pas bien donc on va arrêter de tourner autour du pot.
Résultat de la commande iptables-save sur la passerelle et sur le serveur ?

j’ai pas de firewall sur le serveur mail

firewall de mon serveur principal qui fait aussi passerelle

debian:/usr/local/bin# iptables-save -c
# Generated by iptables-save v1.4.2 on Sat Jun 25 17:34:08 2011
*raw
:PREROUTING ACCEPT [3465:4935316]
:OUTPUT ACCEPT [3185:180475]
COMMIT
# Completed on Sat Jun 25 17:34:08 2011
# Generated by iptables-save v1.4.2 on Sat Jun 25 17:34:08 2011
*nat
:PREROUTING ACCEPT [2:96]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0] -A PREROUTING -i eth1 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.10.50
[0:0] -A PREROUTING -i eth1 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.10.50
[0:0] -A PREROUTING -i eth1 -p tcp -m tcp --dport 143 -j DNAT --to-destination 192.168.10.50:143
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.10.3:21
[0:0] -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.50
[2:96] -A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Jun 25 17:34:08 2011
# Generated by iptables-save v1.4.2 on Sat Jun 25 17:34:08 2011
*mangle
:PREROUTING ACCEPT [3472:4935596]
:INPUT ACCEPT [3453:4929791]
:FORWARD ACCEPT [19:5805]
:OUTPUT ACCEPT [1115187635:938262197295]
:POSTROUTING ACCEPT [3222:188684]
COMMIT
# Completed on Sat Jun 25 17:34:08 2011
# Generated by iptables-save v1.4.2 on Sat Jun 25 17:34:08 2011
*filter
:INPUT DROP [32:47744]
:FORWARD DROP [0:0]
:OUTPUT DROP [1:124]
:denylog - [0:0]
[0:0] -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name DEFAULT --rsource -j DROP
[0:0] -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
[2023:2867894] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A INPUT -i lo -j ACCEPT
[0:0] -A INPUT -s 192.168.10.0/24 -d 192.168.10.2/32 -j ACCEPT
[1:328] -A INPUT -s 0.0.0.0/32 -d 255.255.255.255/32 -j ACCEPT
[0:0] -A INPUT -s 192.168.10.0/24 -d 192.168.10.255/32 -j ACCEPT
[0:0] -A INPUT -i eth0 -p icmp -m state --state NEW -m limit --limit 2/sec -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 8765 -j ACCEPT
[0:0] -A INPUT -s 192.168.10.0/24 -p tcp -m tcp --dport 10000 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
[0:0] -A INPUT -j denylog
[0:0] -A FORWARD -p tcp -m tcp --dport 25 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --sport 25 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --dport 110 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --sport 110 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --dport 143 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --sport 143 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --dport 20:21 -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp --sport 20:21 -j ACCEPT
[9:2885] -A FORWARD -p tcp -m tcp --dport 80 -j ACCEPT
[6:2365] -A FORWARD -p tcp -m tcp --sport 80 -j ACCEPT
[2:152] -A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
[2:403] -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A FORWARD -i eth2 -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
[0:0] -A FORWARD -i eth0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A FORWARD -i eth1 -o eth2 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
[0:0] -A FORWARD -i eth2 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A FORWARD -m state --state INVALID -m limit --limit 3/sec -j LOG --log-prefix "INVALID FORWARD: "
[0:0] -A FORWARD -m state --state INVALID -j DROP
[0:0] -A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,PSH,ACK,URG SYN -m state --state NEW -m limit --limit 3/sec -j LOG --log-prefix "FORWARD TCP sans SYN: "
[0:0] -A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,PSH,ACK,URG SYN -m state --state NEW -j DROP
[0:0] -A FORWARD -m limit --limit 3/sec -j LOG --log-prefix "BAD FORWARD "
[0:0] -A FORWARD -j DROP
[1892:109598] -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[0:0] -A OUTPUT -o lo -j ACCEPT
[0:0] -A OUTPUT -s 192.168.10.2/32 -d 192.168.10.0/24 -j ACCEPT
[0:0] -A OUTPUT -s 192.168.10.2/32 -d 192.168.10.255/32 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp --dport 123 -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp --dport 123 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A denylog -m limit --limit 40/min -j LOG --log-prefix "IPTABLES "
[0:0] -A denylog -j DROP
COMMIT

Je ne vois rien dans ce jeu de règles susceptible de bloquer les connexions SMTP sortantes. Ce ne serait pas la box (p.e. freebox) ou le FAI (p.e. Orange) ?
Que donnent depuis le serveur

tcptraceroute smtp-in.sfr.fr smtp tcptraceroute smtp-in.sfr.fr http

tcptraceroute smtp-in.sfr.fr smtp

traceroute to smtp-in.sfr.fr (93.17.128.7), 30 hops max, 60 byte packets
 1  192.168.10.1 (192.168.10.1)  0.089 ms  0.076 ms  0.066 ms
 2  192.168.1.1 (192.168.1.1)  0.553 ms  0.839 ms  1.122 ms
 3  * * *
 ............. 
30  * * *

tcptraceroute smtp-in.sfr.fr http

traceroute to smtp-in.sfr.fr (93.17.128.25), 30 hops max, 60 byte packets
 1  192.168.10.1 (192.168.10.1)  0.104 ms  0.090 ms  0.070 ms
 2  192.168.1.1 (192.168.1.1)  0.609 ms  0.893 ms  1.181 ms
 3  1.167.122-109.rev.gaoland.net (109.122.167.1)  37.676 ms  38.687 ms  39.477 ms
 4  169.128.122-109.rev.gaoland.net (109.122.128.169)  41.205 ms  42.601 ms  43.777 ms
 5  vlan4093-dat1-co-1.srr.n9uf.net (109.122.128.249)  220.491 ms  221.519 ms  223.002 ms
 6  vlan4094-zac1-co-1.srr.n9uf.net (109.122.128.253)  220.675 ms  223.476 ms  224.582 ms
 7  90.128.122-109.rev.gaoland.net (109.122.128.90)  224.848 ms  209.652 ms  211.019 ms
 8  54.176.122-109.rev.gaoland.net (109.122.176.54)  212.603 ms  212.170 ms  212.787 ms
 9  86.120.20.93.rev.sfr.net (93.20.120.86)  209.015 ms  209.707 ms  210.928 ms
10  46.120.20.93.rev.sfr.net (93.20.120.46)  228.332 ms  230.491 ms  231.139 ms
11  166.102.65.86.rev.sfr.net (86.65.102.166)  231.364 ms  231.704 ms  232.514 ms
12  * * *
.............
30  * * *

je reste sur ma 1er impression j’ai l’impression que cela viens des DNS

D’où te vient cette impression ? Pour moi, la résolution DNS marche très bien au vu des résultats des traceroute.

En revanche on voit que le traceroute vers le port 25 s’interrompt après la box, alors que celui vers le port 80 continue bien au delà. J’en déduis que c’est la box ou le FAI qui bloque le port 25 en sortie. Il n’autorise probablement les connexions à ce port que sur son relais SMTP. Dans ce cas il faudra configurer ton serveur de mail pour utiliser ce relais comme “smarthost”.

pour l’envoie j’ai renseigné la table transport de postfix et là les mails partent bien et arrive à destination

pour la réception ca m’aurais pas étonne que j’ai un bug

si je m’envoi un mail à partir du webmail de mon FAI j’obtiens se message d’erreur

<gilles@charbon.re>: host spool.mail.gandi.net[217.70.184.6] said: 554 5.7.1
<gilles@charbon.re>: Relay access denied (in reply to RCPT TO command)

une idee

C’est une erreur de configuration DNS ou SMTP au niveau de Gandi.

Au niveau DNS (enregistrements MX), les serveurs SMTP déclarés comme devant recevoir le courrier à destination de ton domaine sont ceux Gandi, mais ces derniers ne semblent pas être au courant.

Si le courrier à destination de ton domaine doit être envoyé directement à ton serveur, il faut corriger les enregistrements MX de ta zone DNS pour les faire pointer vers ton serveur (ce qui n’est pas très fiable si tu as une adresse IP variable). Si le courrier doit être envoyé aux serveurs Gandi pour que tu le récupères ensuite par POP3 ou IMAP, alors il faut spécifier dans l’interface d’administration de Gandi que le courrier de ton domaine doit être géré par leurs serveurs SMTP/POP/IMAP.

salut

j’ai tellement les yeux qui se croisent que j’avais vu gandi :blush:

effectivement j’ai un IP variable

je regarde du cote de gandi

a+

effectivement c’etais un problème de DNS

:023 les mails partent et arrivent sur le serveur

merci de ton temps