Sometime you just need to disable IPv6 protocol. In some case, you do not need it at all or it may increase browsing speed and security.
Linux has Internet Protocol Version 6 (IPv6) enabled by default, almost all distros enable it.
RHEL v4 / CentOS v4
Open your modprob.conf file (Red Hat / CentOS / Fedora and friend) and add following line:
# vi /etc/modprobe.conf
Add following line:
alias net-pf-10 off
Save and close the file. Reboot the system.
See RedHat / Centos v5.x Disable IPv6 Networking for more info.
Debian / Ubuntu Linux
If you are using Debian/Ubuntu linux (thanks to beranger), open file /etc/modprobe.d/aliases
# vi /etc/modprobe.d/aliases
Find the line:
alias net-pf-10 ipv6
Replace with:
alias net-pf-10 off
alias ipv6 off
Save and close the file. Finally, reboot the system. IPv6 support should now be disabled and it did improve my DNS performance. Also you can install DNS proxy - to improve DNS performance and squid caching server.
See Also:
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- 10 Greatest Open Source Software Of 2009
- My 10 UNIX Command Line Mistakes
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
- Email this to a friend
- Download PDF version
- Printable version
- Comment RSS feed
- Last Updated: Jan/10/2010



{ 6 comments… read them below or add one }
In Debian you should just blacklist the module like this:
HOSTu:~# vi /etc/modprobe.d/blacklist
[..]
## disable IPv6 module (to avoid DNS query delays)
blacklist ipv6
Sometimes this works on RHEL5 too, but not always (XEN virtualization).
Cheers
in Debian Sid it’s /etc/modprobe.d/blacklist.conf
Regards, Axel
In Fedora, you can edit /etc/sysconfig/network and add the following:
NETWORKING_IPV6=no
IPV6INIT=no
Pete.
DISABLE IPV6 IN UBUNTU 9.10
gksu gedit /etc/default/grub
CHANGE THIS LINE:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
TO
GRUB_CMDLINE_LINUX_DEFAULT=”ipv6.disable=1 quiet splash”
THEN UPDATE GRUB:
sudo update-grub
TO TEST WITH TERMINAL:
ip a | grep inet6
Even modifying /etc/modprobe.d/aliases.conf or blacklisting ipv6 might not be sufficient. Some packages load other kernel modules that depend upon ipv6, and then it is back.
There is only one reliable way: Build a kernel without ipv6 support.
You do not need to reboot the system, “sudo /etc/init.d/networking restart” should suffice (or su if sudoers is not configured to permit that).
It may be interesting to have a tiny script or maybe two huge aliases to toggle ipv6, so whenever you stumble with something that requires it (debian multimedia repositories, for example), you may reactivate it.
I hope the whole ipv6-and-speed get solved soon, if too many people use such circumventions, then we’ll face some trouble when everything becomes ipv6.