Pages : 1
#1 Le 31/12/2018, à 14:57
- arthrax
Postfix mapping réseau par port
Bonjour,
Je suis en train de monter un serveur postfix 3.1 sur un ubuntu 16.04 pour faire de l'envoi de mail uniquement.
J'ai besoin d'envoyer en smtp et smtps et je souhaitais savoir comment faire du mapping réseau par port.
Exemple :
L'adresse 192.168.1.69 doit utiliser du smtp sur le port 25.
L'adresse 192.168.1.70 doit faire du smtps sur le port 587 avec encryptage et authentification depuis un serveur windows à partir d'un active directory.
Question 1 : Est-ce que Postfix est capable de le faire ?
Question 2 : Comment le mettre en place ?
Question 3 : Est-ce qu'il existe une interface web pour pouvoir ajouter, modifier ou supprimer ce mapping ip/port ?
Actuellement le serveur est monté et je peux envoyer des mails en smtp sur le port 25 en anonyme. J'utilise Webmin 1.9 pour l'administration.
Merci pour votre aide.
Hors ligne
#2 Le 31/12/2018, à 15:10
- TontonAyo
Re : Postfix mapping réseau par port
tu peux essayer de bloquer certains ports avec certaines ip via iptables ? Webmin sais gérer iptables facilement
Mon site :https://www.lacaveatonton.ovh
Linux Gaming Francophone : https://www.linuxgaming-fr.ovh
Hors ligne
#3 Le 31/12/2018, à 15:32
- LeoMajor
Re : Postfix mapping réseau par port
bonjour,
peut-être, sender_dependent_default_transport_maps; un peu le même genre que ci-dessous; adapter le contexte
Solution - Postfix version 2.7 or above required:
/etc/postfix/master.cf
#smtp inet n - n - - smtpd
127.0.0.1:smtp inet n - n - - smtpd
-o syslog_name=postfix-localhost
-o smtp_helo_name=localhost
-o smtp_bind_address=127.0.0.1
-o myhostname=localhost
65.xxx.xxx.100:smtp inet n - n - - smtpd
-o syslog_name=postfix-mail.abc.com
-o smtp_helo_name=mail.abc.com
-o smtp_bind_address=65.xxx.xxx.100
-o myhostname=mail.abc.com
65.xxx.xxx.200:smtp inet n - n - - smtpd
-o syslog_name=postfix-mail.xyz.com
-o smtp_helo_name=mail.zyx.com
-o smtp_bind_address=65.xxx.xxx.200
-o myhostname=mail.xyz.com
abc-out unix - - n - - smtp
-o smtp_bind_address=65.xxx.xxx.100
-o smtp_helo_name=mail.abc.com
-o syslog_name=postfix-mail.abc.com
xyz-out unix - - n - - smtp
-o smtp_bind_address=65.xxx.xxx.200
-o smtp_helo_name=mail.xyz.com
-o syslog_name=postfix-mail.xyz.com
/etc/postfix/main.cf
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport
/etc/postfix/sender_transport
# Use source IP - 65.xxx.xxx.100
@abc.com abc-out:
@example.com abc-out:
# Use source IP - 65.xxx.xxx.200
@xyz.com xyz-out:
Run command to generate hash db
postmap hash:/etc/postfix/sender_transport
Restart/Reload postfix
service postfix reload
Testing
[root@localhost ~]# telnet 65.xxx.xxx.200 25
Trying 65.xxx.xxx.200...
Connected to 65.xxx.xxx.200.
Escape character is '^]'.
220 mail.xyz.com ESMTP Postfix
Sending email test
[root@localhost ~]# telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost ESMTP Postfix
helo localhost
250 localhost
mail from: spatel@xyz.com
250 2.1.0 Ok
rcpt to: spatel@gmail.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hello world!
.
250 2.0.0 Ok: queued as 93E708207BA
Got to gmail Inbox > Show Original
Delivered-To: spatel@gmail.com
Received: by 10.xxx.xxx.xxx with SMTP id w64csp782609qgd;
Tue, 9 Dec 2014 09:35:57 -0800 (PST)
X-Received: by 10.xxx.xxx.xxx with SMTP id o28mr4132552yha.168.1418146557180;
Tue, 09 Dec 2014 09:35:57 -0800 (PST)
Return-Path: <spatel@xyz.com>
Received: from mail.xyz.com ([65.xxx.xxx.200])
by mx.google.com with ESMTPS id n10si743294ykc.114.2014.12.09.09.35.56
for <spatel@gmail.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Tue, 09 Dec 2014 09:35:56 -0800 (PST)
...
...
Message-Id: <20141209173720.93E708207BA@localhost.localdomain>
Date: Tue, 9 Dec 2014 12:37:11 -0500 (EST)
From: spatel@xyz.com
Hello world!
Voila!! see it used 65.xxx.xxx.200 IP address to sent out email..
Received: from mail.xyz.com ([65.xxx.xxx.200])
Hors ligne
#4 Le 01/01/2019, à 02:15
- arthrax
Re : Postfix mapping réseau par port
Bonjour,
Déjà merci pour vos réponses.
TontonAyo, c'est une bonne idée mais j'ai peur de me retrouver avec une usine à gaz. Je vais avoir des milliers d'ip à autoriser. Il faut que je regarde le nombre d'étape et la complexité depuis webmin.
LeoMajor, c'est une bonne idée mais pas dans mon contexte car je vais avoir beaucoup trop d'ip à configurer et à maintenir. Cette méthode est bien pour des vlan ou un découpage réseau.
Est-ce qu'il existe un systeme de connecteur d'envoi comme sur un serveur Exchange ?
Dernière modification par arthrax (Le 01/01/2019, à 15:32)
Hors ligne
#5 Le 04/01/2019, à 16:46
- LeoMajor
Re : Postfix mapping réseau par port
il faut adapter; pour utiliser un agent de transport (par exemple testa) par rapport à une ip cliente.
si ip distante wan, hors mynetworks
smtpd_relay_restrictions = check_client_access regexp:/etc/postfix/auto_access_clients_denied.cf, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
si mynetworks (il devrait suffire dans ce cas)
smtpd_client_restrictions = reject_unknown_client, check_client_access regexp:/etc/postfix/auto_access_clients_denied.cf, permit
check_client_access regexp:/etc/postfix/auto_access_clients_denied.cf
#/77\.11\.22\.33/ FILTER testa:[smtp3-g21.free.fr]:587 #OK fonctionne sur le wan + relais
#/ip_cliente/ FILTER testa: # OK sans relais
/ip_cliente/FILTER agent_transport:[relais]:port
master.cf
testa unix - - y - - smtp -v
-o smtp_helo_name=testa.testa
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unknown_client,permit
les classiques:
smtp_tls_security_level = may
smtp_sasl_auth_enable = yes
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_cert_file = $smtpd_tls_cert_file
smtp_tls_key_file = $smtpd_tls_key_file
idem pour smtpd_
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd.cf # si relais
à remarquer que FILTER ne fonctionne que si smtpd_delay_reject = yes (par défaut)
sender_dependent_default_transport_maps = regexp:/etc/postfix/sender_dependent_default_transport.cf
cat /etc/postfix/sender_dependent_default_transport.cf
# chocolat.fr est ton domaine de courrier
/chocolat\.fr/ testa:[smtp3-g21.free.fr]:587
#sans relais /chocolat\.fr/ testa:
transport_maps = hash:/etc/postfix/transport.cf
contact@chocolat.fr local:
chocolat.fr lmtp:unix:private/dovecot-lmtp
# * smtp:[smtp3-g21.free.fr]:587 # si relais
smtpd_sasl_exceptions_networks =
smtpd_sasl_exceptions_networks (default: empty)
What remote SMTP clients the Postfix SMTP server will not offer AUTH support to. ...
jamais testé, la plupart du temps, c'est inutile.
Hors ligne
#6 Le 09/01/2019, à 17:54
- arthrax
Re : Postfix mapping réseau par port
Merci pour tout ce détail mais pour être honnête je suis perdu.
J'ai d'autre problème lié au certificat et TLS.
Je vais ouvrir un autre post et revenir sur celui là par la suite.
Merci
Hors ligne
Pages : 1