|
|
|
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. Laurent |
|
|
En 25 lignes Laurent a écrit
dans news:5c50909b$0$15180$426a34cc le mardi, 29 janvier 2019 à 18:42:51 : > 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 Je n'ai pas la version 8.15 de Sendmail, mais il me semble vaguement avoir vu ce problème chez moi avec d'autres versions. Il me semble que sous Linux le Name=IPv6 ne doit apparaître qu'une fois dnl DAEMON_OPTIONS(Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl dnl DAEMON_OPTIONS(Family=inet6, Name=MSP-v6, Port=submission, M=Ea,Addr=::1')dnl mon mc contient ces deux lignes commentées.... Mais alors pourquoi ca marcherait sous FreeBSD ? ... Mystère ! dyrmak |
|
|
Laurent <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 ... |
|
|
Le 29-01-2019, Laurent <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. |