Outils pour utilisateurs

Outils du site


doc:formations:hebergement:service:relai_mail

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:formations:hebergement:service:relai_mail [2019/09/20 07:10] jeremiedoc:formations:hebergement:service:relai_mail [2021/02/04 10:18] (Version actuelle) – [Tunneling SSH pour la sortie SMTP] jeremie
Ligne 1: Ligne 1:
-===== Relais d'un mail depuis un serveur vers votre serveur mail ======+===== Relais d'un mail depuis un serveur vers votre serveur mail (pour mailinabox) ======
  
 :!: :!: :!: TODO: cette page est "en travaux", tout ne fonctionne pas bien encore :!: :!: :!: :!: :!: :!: TODO: cette page est "en travaux", tout ne fonctionne pas bien encore :!: :!: :!:
  
-Outre [[doc:formations:hebergement:service:mailinabox#autoriser_un_tiers_a_envoyer_des_emails_via_ce_serveur|la règle de pare feu]] à ajouter sur le serveur mailinbox, il faudra configurer le serveur d'émission du mail.+Outre [[doc:formations:hebergement:service:mailinabox#relai|la règle de pare feu]] à ajouter sur le serveur mailinbox, il faudra configurer le serveur d'émission du mail.
  
-(doc tiers: [[https://www.linode.com/docs/email/postfix/postfix-smtp-debian7/|ici]] ou [[https://devanswers.co/postfix-external-smtp-server/|là]])+(doc tiers: [[https://www.linode.com/docs/email/postfix/postfix-smtp-debian7/|ici]] ou [[https://devanswers.co/postfix-external-smtp-server/|là]], et [[https://mailinabox.email/advanced-configuration.html#relaying|spécialement pour mailinabox]])
  
 Installer postfix: Installer postfix:
Ligne 42: Ligne 42:
 ===== Tunneling SSH pour la sortie SMTP ====== ===== Tunneling SSH pour la sortie SMTP ======
  
-Mots-clés: port forwarding (NAT), relay+Mots-clés: port forwarding (NAT), relay, iptables, firewall
  
 Tutoriel détaillé tiers [[https://www.digitalocean.com/community/tutorials/how-to-forward-ports-through-a-linux-gateway-with-iptables#adjusting-the-permanent-rule-set|ici]] Tutoriel détaillé tiers [[https://www.digitalocean.com/community/tutorials/how-to-forward-ports-through-a-linux-gateway-with-iptables#adjusting-the-permanent-rule-set|ici]]
Ligne 48: Ligne 48:
 Si l'hébergeur de votre serveur bloque le port SMTP sortant, il ne vous sera pas possible d'envoyer des emails. Mais si vous détenez au moins un serveur qui n'est pas bridé, alors vous pouvez l'utiliser comme relai. Si l'hébergeur de votre serveur bloque le port SMTP sortant, il ne vous sera pas possible d'envoyer des emails. Mais si vous détenez au moins un serveur qui n'est pas bridé, alors vous pouvez l'utiliser comme relai.
  
-La source ne pouvant pas "sortir" en 587, elle va rediriger son propre traffic sortant sur un autre portet vers le serveur cible non bridéCe dernier va alors rediriger ce traffic entrant vers le port 587 standard.+La source ne pouvant pas "sortir" en 587, elle va rediriger son propre traffic sortant vers un port non bloqué (ex. 58700) et vers le serveur mail cibléLe serveur mail va alors rediriger le traffic entrant du port 58700 vers son propre port local 587 standard, ce qui établira un //relai// pour le serveur source, et sans devoir impacter les configurations ni d'un coté (postfix) ni de l'autre (mailinabox).
  
 Depuis votre poste client, identifiez vos deux serveurs avec ''nslookup mon.serveur.com'' ou ''ping -4 -c1 mon.serveur.com'' (prenez l'adresse IPv4). Depuis votre poste client, identifiez vos deux serveurs avec ''nslookup mon.serveur.com'' ou ''ping -4 -c1 mon.serveur.com'' (prenez l'adresse IPv4).
Ligne 57: Ligne 57:
   port=58700   port=58700
  
-Vérifiez déjà que vous n'etes pas bloqué en sortie sur le serveur ''relai'':+ 
 +=== Source === 
 + 
 +Maintenent, sur le serveur ''source'' qui veut envoyer des mails, on programme la redirection du port local, vers la ''cible'' mais sur un port non bloqué: 
 +  iptables -t nat -A OUTPUT -p tcp --dport 587 -j DNAT --to-destination $cible:$port 
 + 
 +Note: pour supprimmer cette entrée: ''iptables -t nat -L -n -v'' suivi de ''iptables -t nat -D OUTPUT <n>'' où n est le numéro de ligne de la règle. 
 + 
 +Sur le serveur source on doit aussi activer la redirection de port. On peut tester temporairement avec ''echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward'', mais pour l'activer de façon permanente il faut dé-commenter la ligne ''net.ipv4.ip_forward=1'' dans le fichier ''/etc/sysctl.conf''
 + 
 +=== Relai === 
 + 
 +Du côté du serveur ''relai'', on ajoute une règle de pare-feu dédiée, et généralement bridée au serveur ''source''
 + 
 +Ci-dessous, ''10.5.82.219'' est l'IP //interne// du serveur relai (cf. ''ifconfig''): 
 + 
 +  iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 58700 -j DNAT --to-destination 10.5.82.219:587 
 +  
 +Note: on a ici volontairement réduit la règle d'acceptation au serveur ''source'' afin d'éviter de fournir ce service utile aux spammeurs tiers! 
 + 
 +===== Tester vos connexions ====== 
 + 
 +''telnet'' permet de vérifier simplement si un serveur mail répond (les canaux sont ouverts), ainsi que de voir quels sont les protocoles supportés (ici ''STARTTLS''). 
 + 
 +Par exemple:
  
 <code> <code>
-> ssh $relai 
-(...) 
 > telnet smtp.gmail.com 587 > telnet smtp.gmail.com 587
 Trying 2a00:1450:400c:c0b::6c... Trying 2a00:1450:400c:c0b::6c...
Ligne 79: Ligne 101:
 221 2.0.0 closing connection w7sm1592536wmd.22 - gsmtp 221 2.0.0 closing connection w7sm1592536wmd.22 - gsmtp
 Connection closed by foreign host. Connection closed by foreign host.
-root@tecrd.com:~ 08:57:36 (504) 
 </code> </code>
  
-=== Source === 
- 
-Maintenent, sur le serveur ''source'' qui veut envoyer des mails, on programme la redirection du port local, vers la ''cible'' mais sur un port non bloqué: 
-  iptables -t nat -A OUTPUT -p tcp --dport 587 -j DNAT --to-destination $cible:$port 
- 
-Note: pour supprimmer cette entrée: ''iptables -t nat -L -n -v'' suivi de ''iptables -t nat -D OUTPUT <n>'' où n est le numéro de ligne de la règle. 
- 
-Sur le serveur source on doit aussi activer la redirection de port. On peut tester temporairement avec ''echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward'', mais pour l'activer de façon permanente il faut dé-commenter la ligne ''net.ipv4.ip_forward=1'' dans le fichier ''/etc/sysctl.conf''. 
- 
-=== Relai === 
- 
-Du côté du serveur ''relai'', on ajoute une règle de pare-feu dédiée (et bridée!) au serveur ''source''. 
- 
-Ci-dessous, ''10.5.82.219'' est l'IP //interne// du serveur relai (cf. ''ifconfig''): 
- 
-  iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 58700 -j DNAT --to-destination 10.5.82.219:587 
-  
-Note: on a ici volontairement réduit la règle d'acceptation au serveur ''source'' afin d'éviter de fournir ce service utile aux spammeurs tiers! 
doc/formations/hebergement/service/relai_mail.1568963423.txt.gz · Dernière modification : 2019/09/20 07:10 de jeremie