Recently, one of my friend asked me how to disable IPv6. After searching a bit, I found the following solution. Here is the steps that I followed to disable IPv6 in my CentOS 7 minimal server.
You can do it in two methods.
Edit file /etc/sysctl.conf,
Add the following lines:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
If you want to disable IPV6 for particular network card, for example enp0s3, add the following entry.
net.ipv6.conf.enp0s3.disable_ipv6 = 1
Save and exit the file.
Execute the following command to reflect the changes.
To IPv6 disable in the running system, enter the following commands one by one:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1
That’s it. Now IPv6 has been disabled.
What If I get issues after disabling IPv6?
You may get problems after disabling IPv6.
if you get issues with SSH after disabling IPv6, do the following.
Edit /etc/ssh/sshd_config file,
Find the line;
And. change it to:
Remove the hash mark (#) in front of the line:
Then, restart ssh to reflect the changes.
systemctl restart sshd
If you get problems with starting postfix after disabling IPv6, edit /etc/postfix/main.cf file;
and comment out the localhost part of the config and use ipv4 loopback.
#inet_interfaces = localhost inet_interfaces = 127.0.0.1
That’s it. Cheers!