Désactiver l'IPv6 sur RedHat

Désactiver l'IPv6 sur RedHat

Régulièrement il m'arrive de perdre du temps à me demander pourquoi mes logiciels ne sont pas accessible sur le réseau et de me rendre compte qu'ils écoutent uniquement sur l'IPv6 et pas sur l'IPv4. Donc quand je suis préssé et si l'IPv6 n'est pas utile pour le projet, je ne perds pas de temps à le configurer et je le désactive complétement sur mes serveurs.

Pour cela la manipulation et assez simple et ne nécessite que d'éditer (ou de créer) un fichier de configuration. Pour information je parle dans ce tutoriel de RedHat 6 et 7 mais cela fonctionne également pour CentOS 6 et 7.

D'abord soit on édite le fichier /etc/sysctl.conf, soit on créé un fichier dans le /etc/sysctl.d nommé, par exemple, ipv6.conf

# vi /etc/sysctl.conf 

Ou :

# vi /etc/sysctl.d/ipv6.conf 

Placer :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Et appliquer sur la session en cours :

 # sysctl –p

L’activation sur les services déjà installés nécessite un redémarrage

Il est également possible, mais non conseillé de le désactiver à la volé avec :

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

Ou encore :

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

Ensuite mettre à jour /etc/sysconfig/network-scripts/ifcfg-eth0 (RHEL6) ou /etc/sysconfig/network-scripts/ifcfg-ens160 (RHEL7). Pour RHEL6 ;

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Et ajouter :

IPV6INIT=no

Pour RHEL7 :

# vi /etc/sysconfig/network-scripts/ifcfg-ens160

Et ajouter :

IPV6INIT="no"
IPV6_AUTOCONF="no"
IPV6_DEFROUTE="no"
IPV6_FAILURE_FATAL="yes"
IPV6_PEERDNS="no"
IPV6_PEERROUTES="no"
IPV6_PRIVACY="no" 

Pour finir editer /etc/sysconfig/network :

# vi /etc/sysconfig/network 

Et ajouter :

NETWORKING_IPV6=no

Attention désactiver ipv6 sur RHEL7 peut provoquer des problèmes avec sshd ou postfix, il est toutefois assez aisé de résoudre ca. Pour sshd, il suffit d'éditer /etc/ssh/sshd_config :

 # vi /etc/ssh/sshd_config

Et de modifier la ligne :

#AddressFamily any 

En remplacant par :

AddressFamily inet

Et de redémarrer sshd :

systemctl restart sshd

Pour postfix éditer /etc/postfix/main.cf :

vi /etc/postfix/main.cf

Et modifier la ligne :

#inet_interfaces = localhost

En remplacant par :

inet_interfaces = 127.0.0.1

Et pour finir redémarrer :

 systemctl restart postfix

Voila, astuces bien connues des linuxiens ayant travaillé sous RHEL7 mais en espérant tout de même que ca a pu vous aider.

Ajouter un commentaire

Commentaires

Merci pour l'article! très utile et clair.
Écrit le Mon, 12 Nov 2018 17:30:22 par El Cookie

Articles en relation