relecture et tests sous Debian (donc ajout d'infos)
This commit is contained in:
parent
3bc390f9a0
commit
f936fc6fa0
|
@ -4,36 +4,50 @@ title: Howto OpenSMTPD
|
||||||
...
|
...
|
||||||
|
|
||||||
* Documentation : <https://www.opensmtpd.org/>
|
* Documentation : <https://www.opensmtpd.org/>
|
||||||
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/foo>
|
|
||||||
* Man pages : <https://man.openbsd.org/smtpd>
|
* Man pages : <https://man.openbsd.org/smtpd>
|
||||||
|
|
||||||
OpenSMTPD est un serveur mail intégré dans OpenBSD. Il est toutefois
|
[OpenSMTPD](https://www.opensmtpd.org/) est un serveur mail intégré dans OpenBSD. Il est aussi
|
||||||
disponible aussi sur Debian. Il comporte un nombre de fonctionnalités
|
disponible aussi sur Debian. Il comporte un nombre de fonctionnalités
|
||||||
réduites qui ne le permettent pas de tout faire mais il convient dans
|
réduites qui ne le permettent pas de tout faire mais il convient dans
|
||||||
la très grande majorité des cas. Sa syntaxe se veut similaire à celle
|
la très grande majorité des cas. Sa syntaxe se veut similaire à celle
|
||||||
de pf.
|
de [pf](HowtoOpenBSD/PacketFilter).
|
||||||
|
|
||||||
## Installation sous Debian
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Sous OpenBSD, OpenSMTPD est intégré au système de base.
|
||||||
|
|
||||||
|
Sous Debian :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# apt install opensmtpd
|
# apt install opensmtpd opensmtpd-extras
|
||||||
|
|
||||||
|
# systemctl status opensmtpd
|
||||||
|
● opensmtpd.service - LSB: opensmtpd Mail Transport Agent
|
||||||
|
Loaded: loaded (/etc/init.d/opensmtpd; generated; vendor preset: enabled)
|
||||||
|
Docs: man:systemd-sysv-generator(8)
|
||||||
|
Process: 24739 ExecStop=/etc/init.d/opensmtpd stop (code=exited, status=0/SUCCESS)
|
||||||
|
Process: 24747 ExecStart=/etc/init.d/opensmtpd start (code=exited, status=0/SUCCESS)
|
||||||
|
Tasks: 7 (limit: 4915)
|
||||||
|
Memory: 9.1M
|
||||||
|
CPU: 50ms
|
||||||
|
CGroup: /system.slice/opensmtpd.service
|
||||||
|
├─24754 /usr/sbin/smtpd
|
||||||
|
├─24755 smtpd: klondike
|
||||||
|
├─24756 smtpd: control
|
||||||
|
├─24757 smtpd: lookup
|
||||||
|
├─24758 smtpd: pony express
|
||||||
|
├─24759 smtpd: queue
|
||||||
|
└─24760 smtpd: scheduler
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## Configuration de base
|
## Configuration de base
|
||||||
|
|
||||||
Sous OpenBSD, la configuration se trouve dans `/etc/mail/smtpd.conf`.
|
### OpenBSD
|
||||||
|
|
||||||
Cette configuration permet de relayer juste les mails qui viennent de
|
Sous OpenBSD, la configuration se trouve dans `/etc/mail/smtpd.conf` :
|
||||||
la machine elle-même. Il n'y a donc pas de risque d'être un relais
|
|
||||||
ouvert.
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# $OpenBSD: smtpd.conf,v 1.9 2016/05/03 18:43:45 jung Exp $
|
|
||||||
|
|
||||||
# This is the smtpd server system-wide configuration file.
|
|
||||||
# See smtpd.conf(5) for more information.
|
|
||||||
|
|
||||||
table aliases file:/etc/mail/aliases
|
table aliases file:/etc/mail/aliases
|
||||||
|
|
||||||
# To accept external mail, replace with: listen on all
|
# To accept external mail, replace with: listen on all
|
||||||
|
@ -45,8 +59,33 @@ listen on lo0
|
||||||
# accept from any for domain "example.org" alias <aliases> deliver to mbox
|
# accept from any for domain "example.org" alias <aliases> deliver to mbox
|
||||||
accept for local alias <aliases> deliver to mbox
|
accept for local alias <aliases> deliver to mbox
|
||||||
accept from local for any relay
|
accept from local for any relay
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Cette configuration permet de relayer juste les mails qui viennent de
|
||||||
|
la machine elle-même. Il n'y a donc pas de risque d'être un relai
|
||||||
|
ouvert.
|
||||||
|
|
||||||
|
|
||||||
|
### Debian
|
||||||
|
|
||||||
|
Sous Debian, la configuration se trouve dans `/etc/smtpd.conf` :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
# To accept external mail, replace with: listen on all
|
||||||
|
listen on localhost
|
||||||
|
|
||||||
|
# If you edit the file, you have to run "smtpctl update table aliases"
|
||||||
|
table aliases file:/etc/aliases
|
||||||
|
|
||||||
|
# Uncomment the following to accept external mail for domain "example.org"
|
||||||
|
#accept from any for domain "example.org" alias <aliases> deliver to mbox
|
||||||
|
|
||||||
|
accept for local alias <aliases> deliver to mbox
|
||||||
|
accept for any relay
|
||||||
|
~~~
|
||||||
|
|
||||||
|
C'est une configuration similaire à OpenBSD.
|
||||||
|
|
||||||
|
|
||||||
## Configurations spécifiques
|
## Configurations spécifiques
|
||||||
|
|
||||||
|
@ -59,19 +98,24 @@ nom de domaine que le hostname.
|
||||||
accept from local for any relay as "root@example.com"
|
accept from local for any relay as "root@example.com"
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Bypasser un blocage du port 25
|
Attention, dans ce cas cas cela ré-écrit même les messages envoyés avec un autre utilisateur.
|
||||||
|
|
||||||
Il suffit de préciser dans la configuration de base le serveur par
|
### Utiliser un relai SMTP
|
||||||
lequel les mais vont passer avec le mot clé `via`.
|
|
||||||
|
|
||||||
|
On peut utiliser un relai en modifiant la règle `accept for any relay` et en ajoutant le mot clé `via` :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
accept from local for any relay via 192.0.2.25
|
||||||
|
~~~
|
||||||
|
|
||||||
|
On peut notamment utiliser cela pour contourner un blocage du port 25
|
||||||
|
et renvoyer sur un port différent (il faut évidemment que sur le relai
|
||||||
|
SMTP réponde sur ce port). Par exemple sur le port 2525 :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
accept from local for any relay via 192.0.2.25:2525
|
accept from local for any relay via 192.0.2.25:2525
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Bien sûr il faut que sur cette machine, le serveur mail écoute sur le
|
|
||||||
port donné et soit configurer pour relayer les mails depuis notre
|
|
||||||
machine. Il faudra aussi doute ouvrir le port dans le firewall.
|
|
||||||
|
|
||||||
## Commandes smtpctl pratiques
|
## Commandes smtpctl pratiques
|
||||||
|
|
||||||
|
@ -79,12 +123,15 @@ machine. Il faudra aussi doute ouvrir le port dans le firewall.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# smtpctl show stats
|
# smtpctl show stats
|
||||||
|
control.session=1
|
||||||
|
uptime=297
|
||||||
|
uptime.human=4m57s
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Obtenir rapidement la taille de la mailq
|
### Obtenir rapidement la taille de la queue
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# smtpctl show stats | grep scheduler.envelope
|
# smtpctl show stats | grep scheduler.envelope
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
### Voir la queue (équivalent de la commande `mailq`)
|
### Voir la queue (équivalent de la commande `mailq`)
|
||||||
|
|
Loading…
Reference in a new issue