How can I disable IPv6 on an Ubuntu 13 VM?

Posted October 15, 2013 10.4k views
I added `blacklist ipv6` to /etc/modprobe.d/blacklist.conf and `GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 console=ttyS0"` to /etc/default/grub and rebooted but I'm still seeing IPv6 interfaces. Docker has an issue where if it sees ipv6 interfaces it won't bind to any ipv4 ones. Is there any way I can disable ipv6 on digital ocean?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
8 answers
For the record, I also tried the following and it didn't work:

echo '1' > /proc/sys/net/ipv6/conf/lo/disable_ipv6
echo '1' > /proc/sys/net/ipv6/conf/lo/disable_ipv6
echo '1' > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo '1' > /proc/sys/net/ipv6/conf/default/disable_ipv6
/etc/init.d/networking restart

I'm using the #350076 Ubuntu 13.04 x64 image on NYC2.
This is probably easier to read than the original steps I described:

$ echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist.conf
$ echo 'GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 console=ttyS0"' >> /etc/default/grub
$ update-grub
$ reboot
Have you tried deleting the IPv6 interface from /etc/network/interfaces via sudo vi /etc/network/interfaces; followed by i making the edits; finally saving your changes by typing Esc; :; w; q; Enter?

Then, restarting networking via /etc/init.d/networking restart.

P.S. I realize you prob. know how to use vi; I added all the excruciating detail in the event a n00b stumbles across this thread in the future.
I started a new VM and I can see the IPv6 interfaces:

# ifconfig | grep inet
inet addr: Bcast: Mask:
inet6 addr: fe80::e01:9ff:feae:8301/64 Scope:Link
inet addr: Mask:
inet6 addr: ::1/128 Scope:Host

But /etc/network/interfaces isn't showing any parameters that could be removed and disable IPv6:

# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
Try running the following commands:

echo net.ipv6.conf.lo.disable_ipv6 = 1 | sudo tee -a /etc/sysctl.conf

and then rebooting your droplet.

ifconfig | grep inet
inet addr:xx.xx.xx.xx Bcast: Mask:
inet6 addr: fexx::xxx:xxxx:xxxx:xxx/64 Scope:Link
inet addr: Mask:
Sigh, why have I got that name displayed?