26

I was putting the following in /etc/sysctl.conf in Ubuntu 16.04 and ipv6 was disabled.

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

In Ubuntu 18.04 I have to add the following to grub.

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Just wanted to have confirmation whether this is the new way in Ubuntu 18.04 to disable IPv6.

Pablo Bianchi
  • 17,371

4 Answers4

17

You only need to add this to /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

I also did it on GRUB_CMDLINE_LINUX_DEFAULT to be safe. Modifying sysctl only partially worked, and noticed the bug show-up in netplan, I even tried dhcp6=false to no avail. Netplan seems to have too many bugs for 18.04 STABLE IMO but that's another story...half tempted to remove netplan also.

Just don't forget to update grub before rebooting!

sudo update-grub
Pablo Bianchi
  • 17,371
16

To clarify Stephan Rauch (for 18.04 only) - If using grub method to disable ipv6, the /etc/sysctl.conf configuration changes were not needed. I ended up leaving them in, (in case netplan is fixed in future) but all that is needed is the following:

sudo vi /etc/default/grub

Modify the GRUB_CMDLINEs to look like:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

Then execute:

sudo update-grub
sudo reboot

Enjoy ipv4.

6

I think a different aproach in Ubuntu 18.04 is this one: https://pscl4rke.wordpress.com/2019/10/01/disabling-ipv6-on-ubuntu-18-04-the-netplan-version/

Just add link-local: [] within the interface you want to disable the ipv6 link local address option. Save and test the new config with: sudo netplan try and if everything was okay enforce it with: sudo netplan apply.

Take into account that you can loss your network connection to the box if you don't know well what you are doing.

0

Let sed do the work :D

sudo sed -i -e 's/GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity"/GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 maybe-ubiquity"/' /etc/default/grub
sudo sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="ipv6.disable=1"/' /etc/default/grub
sudo update-grub
uav
  • 413