Short post on how to disable IPv6 in RHEL, Suse or Ubuntu Linux.
How to disable IPv6 in RHEL 7
Edit /etc/default/grub
and append ipv6.disable=1
to GRUB_CMDLINE_LINUX
line like below :
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1"
Now, you need to regenerate the grub.cfg
file by running the grub2-mkconfig
command :
root@kerneltalks # grub2-mkconfig -o /boot/grub2/grub.cfg
That’s it. Reboot and it will disable IPv6 on your system.
Another method is to disable it using /etc/sysctl.d/ipv6.conf
file.
Add below entry in file :
# To disable for all interfaces
net.ipv6.conf.all.disable_ipv6 = 1
#Disable default
net.ipv6.conf.default.disable_ipv6 = 1
#Disable on loopback
net.ipv6.conf.lo.disable_ipv6 = 1
Now, reload sysctl file,
root@kerneltalks # sysctl -p /etc/sysctl.d/ipv6.conf
You need to re-build the Initial RAM Disk as well. You can do it using :
root@kerneltalks # dracut -f
That’s it. You are done.
Disable IPv6 in RHEL 6
Create a new file /etc/modprobe.d/ipv6.conf
with below one liner –
root@kerneltalks # echo "options ipv6 disable=1" >/etc/modprobe.d/ipv6.conf
Stop ip6tables service from loading at boot by using chkconfig
root@kerneltalks # chkconfig ip6tables off
And you are done Reboot the system to run it without IPv6.
Disable IPv6 in Suse Linux
Add below lines in /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Reload file with sysctl -p
and you are done.
If you are having GUI access of server then you can do it under network settings. Navigate to Applications > System Tools > YaST > Network Settings . Goto Global Options tab and uncheck Enable IPv6.
You will require to reboot server to take this effect.
Disable IPv6 in Ubuntu Linux
Above process of Suse Linux applies to ubuntu as well. You need to edit /etc/sysctl.conf
and add above lines. Reload the file with sysctl -p
and you are done.
To verify if IPv6 is disabled on server use below command –
root@kerneltalks # cat /proc/sys/net/ipv6/conf/all/disable_ipv6
If output is 1 then IPv6 is disabled. If output is 0 then IPv6 is enabled.
ayam says
ipv6.disable=1
for sysv based system
Harri says
Why would you wanna do that? IPv6 works very well.
Max says
my LG laptop has bizarre issues with IPV6. I used Manjaro and now I use Arch. Wi-Fi and cable connection kept turning on and off until I disabled IPV6
Daniel says
You shouldn’t disable IPv6! Fix your actual networking issues instead.
Robert Wm Ruedisueli says
Is there any way to hide the IPv6 (or IPv4) capability from an application to force it to use one or the other?
Sometimes you have one program that still has bugs in it’s IPv6 application layer stack, and this might address said bugs.