[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] linux et fichiers de configuration



giggz a écrit :
Pascal Hambourg a écrit :

sshd_config :
## pour eviter les messages "error: Bind to port 22 on 0.0.0.0 failed:
## Address already in use"
ListenAddress 0.0.0.0)

[HS sur le HS]
Pour info, cette directive ne fait pas qu'éviter ce message d'erreur,
elle empêche sshd d'ouvrir par défaut une socket IPv6 en écoute sur ::,
ce qu'il fait s'il n'est pas lancé avec l'option -4. En effet
l'existence de cette socket IPv6 empêche d'ouvrir une socket IPv4 en
écoute sur 0.0.0.0 sur le même port si le paramètre du noyau
net.ipv6.bindv6only (/proc/sys/net/ipv6/bindv6only) est à 0, valeur par
défaut. L'objet de ce paramètre est d'empêcher les communications IPv4
sur les sockets IPv6.

merci pour cette précision.

Après l'explication, j'ajoute l'aspect pratique. Si on n'a pas besoin d'IPv6 sur la machine alors on peut désactiver IPv6 dans le noyau. Si on n'a pas besoin d'IPv6 pour sshd, alors on peut utiliser la directive "ListenAddress 0.0.0.0" ou l'option -4.

Si on a besoin à la fois d'IPv6 et d'IPv4 pour sshd, alors on a plusieurs possibilités : - utiliser l'option -6 ou une directive "ListenAddress ::" au lieu de "ListenAddress 0.0.0.0", avec l'inconvénient que les adresses IPv4 apparaîtront sous la forme ::ffff:1.2.3.4 au lieu de 1.2.3.4 dans les logs et netstat (peut perturber les programmes de type fail2ban, à vérifier). C'est fonctionnellement équivalent à la configuration par défaut mais évite le message d'erreur ; - utiliser des directives ListenAddress pour chaque adresse IPv4 et IPv6 de la machine. Inconvénient : ne prend en compte que les adresses existantes au moment du démarrage de sshd, ce qui peut être gênant avec les connexions dynamiques, les VPN... ; - régler le paramètre du noyau net.ipv6.bindv6only à 1. Attention, ce réglage affecte tout le système et les autres services qui supportent IPv6 ; en particulier un service qui n'ouvrirait qu'une socket IPv6 à la fois pour les connexions en IPv4 et en IPv6 n'acceptera plus les connexions IPv4. C'est la solution que j'utilise.


Reply to: