J'essaie d'autoriser à la fois ipv4 et ipv6 sur mon sendmail Linux.
Sous FreeBSD je fais:
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Port=smtp, Modifiers=O')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Ports=submission, Modifiers=O')
Et ca marche parfaitement.
Par contre sous Linux ce ma met dans les logs un message d'erreur
sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6:
cannot bind: Address already in use
C'est étrange car, evidemment, rien n'écoute en ipv6 sur le port 25 ou le
port 587 (vérifié avec netstat -an).
par contre si je configure sendmail en ipv6 seulement cela fonctionne.
Est-ce un bogue ? J'ai fait une recherche et j'ai trouvé plusieurs
personnes ayant eu le problème mais pas de réponse. Ou est-ce qu'un
détail m'échappe ? Au pire je serai obligé de bricoler quelque chose
avec iptable mais je préfererais une solution plus propre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc SCHAEFER
Laurent wrote:
Par contre sous Linux ce ma met dans les logs un message d'erreur sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6: cannot bind: Address already in use
Petite expérience: nc6 -6 -l -p 2424 & netstat --inet --listen -n | grep 2424 # rien netstat --inet6 --listen -n | grep 2424 tcp6 0 0 :::2424 :::* LISTEN telnet 127.0.0.1 2424 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused telnet ::1 2424 Trying ::1... Connected to ::1. Donc, le comportement Linux est correct. S'il y a un bug, c'est dans sendmail. Il faut dire que je suis passé à Postfix en 2003 ...
Laurent <laurent@n22.fr> wrote:
Par contre sous Linux ce ma met dans les logs un message d'erreur
sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6:
cannot bind: Address already in use
Par contre sous Linux ce ma met dans les logs un message d'erreur sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6: cannot bind: Address already in use
Petite expérience: nc6 -6 -l -p 2424 & netstat --inet --listen -n | grep 2424 # rien netstat --inet6 --listen -n | grep 2424 tcp6 0 0 :::2424 :::* LISTEN telnet 127.0.0.1 2424 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused telnet ::1 2424 Trying ::1... Connected to ::1. Donc, le comportement Linux est correct. S'il y a un bug, c'est dans sendmail. Il faut dire que je suis passé à Postfix en 2003 ...
Laurent
Le 29-01-2019, Laurent a écrit :
J'essaie d'autoriser à la fois ipv4 et ipv6 sur mon sendmail Linux. Sous FreeBSD je fais: DAEMON_OPTIONS(`Name=IPv4, Family=inet') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Port=smtp, Modifiers=O') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Ports=submission, Modifiers=O') Et ca marche parfaitement. Par contre sous Linux ce ma met dans les logs un message d'erreur sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6: cannot bind: Address already in use
Solution Sous Linux, contrairement à FreeBSD dans la configuration par defaut, une socket IPV6 peut traiter à la fois des connexions IPV4 et IPV6. Donc pour traiter à la fois en ipv4 et en ipv6 il faut faire, sous Linux : dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission')dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp')dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission')dnl Si je décommente les deux premières lignes, cela fait un conflit, contrairement à FreeBSD, pour la raison exposée plus haut. Par contre si je fais uniquement DAEMON OPTION Family=inet6 la ca fonctionne à la fois en IPV4 et en IPV6.
Le 29-01-2019, Laurent <laurent@n22.fr> a écrit :
J'essaie d'autoriser à la fois ipv4 et ipv6 sur mon sendmail Linux.
Sous FreeBSD je fais:
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Port=smtp, Modifiers=O')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Ports=submission, Modifiers=O')
Et ca marche parfaitement.
Par contre sous Linux ce ma met dans les logs un message d'erreur
sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6:
cannot bind: Address already in use
Solution
Sous Linux, contrairement à FreeBSD dans la configuration par defaut, une
socket IPV6 peut traiter à la fois des connexions IPV4 et IPV6.
Donc pour traiter à la fois en ipv4 et en ipv6 il faut faire, sous Linux :
Si je décommente les deux premières lignes, cela fait un conflit,
contrairement à FreeBSD, pour la raison exposée plus haut. Par contre
si je fais uniquement DAEMON OPTION Family=inet6 la ca fonctionne à la fois
en IPV4 et en IPV6.
J'essaie d'autoriser à la fois ipv4 et ipv6 sur mon sendmail Linux. Sous FreeBSD je fais: DAEMON_OPTIONS(`Name=IPv4, Family=inet') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Port=smtp, Modifiers=O') DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Ports=submission, Modifiers=O') Et ca marche parfaitement. Par contre sous Linux ce ma met dans les logs un message d'erreur sm-mta[30253]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon IPv6: cannot bind: Address already in use
Solution Sous Linux, contrairement à FreeBSD dans la configuration par defaut, une socket IPV6 peut traiter à la fois des connexions IPV4 et IPV6. Donc pour traiter à la fois en ipv4 et en ipv6 il faut faire, sous Linux : dnl DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl dnl DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission')dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp')dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission')dnl Si je décommente les deux premières lignes, cela fait un conflit, contrairement à FreeBSD, pour la raison exposée plus haut. Par contre si je fais uniquement DAEMON OPTION Family=inet6 la ca fonctionne à la fois en IPV4 et en IPV6.