Disable ipv6 linux grub

How to Disable IPv6 on Ubuntu Linux

Are you looking for a way to disable IPv6 connections on your Ubuntu machine? In this article, I’ll teach you exactly how to do it and why you would consider this option. I’ll also show you how to enable or re-enable IPv6 in case you change your mind.

What is IPv6 and why would you want to disable IPv6 on Ubuntu?

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. It was developed in 1998 to replace the IPv4 protocol.

IPv6 aims to improve security and performance, while also making sure we don’t run out of addresses. It assigns unique addresses globally to every device, storing them in 128-bits, compared to just 32-bits used by IPv4.

Disable IPv6 Ubuntu

Although the goal is for IPv4 to be replaced by IPv6, there is still a long way to go. Less than 30% of the sites on the Internet makes IPv6 connectivity available to users (tracked by Google here). IPv6 can also cause problems with some applications at time.

Since VPNs provide global services, the fact that IPv6 uses globally routed addresses (uniquely assigned) and that there (still) are ISPs that don’t offer IPv6 support shifts this feature lower down their priority list. This way, they can focus on what matters the most for VPN users: security.

Читайте также:  Astra linux устранение зависимостей

Another possible reason you might want to disable IPv6 on your system is not wanting to expose yourself to various threats. Although IPv6 itself is safer than IPv4, the risks I am referring to are of another nature. If you aren’t actively using IPv6 and its features, having IPv6 enabled leaves you vulnerable to various attacks, offering the hacker another possible exploitable tool.

On the same note, configuring basic network rules is not enough. You have to pay the same level of attention to tweaking your IPv6 configuration as you do for IPv4. This can prove to be quite a hassle to do (and also to maintain). With IPv6 comes a suite of problems different to those of IPv4 (many of which can be referenced online, given the age of this protocol), giving your system another layer of complexity.

It has also been observed that disabling IPv6 helps to improve WiFi speed in Ubuntu in some cases.

Disabling IPv6 on Ubuntu [For Advanced Users Only]

In this section, I’ll be covering how you can disable IPv6 protocol on your Ubuntu machine. Open up a terminal (default: CTRL+ALT+T) and let’s get to it!

Note: For most of the commands you are going to input in the terminal you are going to need root privileges (sudo).

If you are a regular desktop Linux user and prefer a stable working system, please avoid this tutorial. This is for advanced users who know what they are doing and why they are doing so.

1. Disable IPv6 using Sysctl

First of all, you need to make sure that you have IPv6 enabled on your system. Check your IP address in Ubuntu with this command:

Читайте также:  Libtinfo so 5 linux

You should see an IPv6 address if it is enabled (the name of your internet card might be different):

Ipv6 Address Ubuntu

You have see the sysctl command in the tutorial about restarting network in Ubuntu. We are going to use it here as well. To disable IPv6 you only have to input 3 commands:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

You can check if it worked using:

You should see no IPv6 entry:

Ipv6 Disabled Ubuntu

However, this only temporarily disables IPv6. The next time your system boots, IPv6 will be enabled again.

One method to make this option persist is modifying /etc/sysctl.conf. I’ll be using vim to edit the file, but you can use any editor you like. Make sure you have administrator rights (use sudo):

Sysctl Configuration

Add the following lines to the file:

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

For the settings to take effect use:

If IPv6 is still enabled after rebooting, you must create (with root privileges) the file /etc/rc.local and fill it with:

#!/bin/bash # /etc/rc.local /etc/sysctl.d /etc/init.d/procps restart exit 0

Now use chmod command to make the file executable:

sudo chmod 755 /etc/rc.local

What this will do is manually read (during the boot time) the kernel parameters from your sysctl configuration file.

2. Disable IPv6 using GRUB

An alternative method is to configure GRUB to pass kernel parameters at boot time. You’ll have to edit /etc/default/grub. Once again, make sure you have administrator privileges:

GRUB Configuration

Now you need to modify GRUB_CMDLINE_LINUX_DEFAULT and GRUB_CMDLINE_LINUX to disable IPv6 on boot:

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

Save the file and run the update-grub command:

The settings should now persist on reboot.

Re-enabling IPv6 on Ubuntu

To re-enable IPv6, you’ll have to undo the changes you made. To enable IPv6 until reboot, enter:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0

Otherwise, if you modified /etc/sysctl.conf you can either remove the lines you added or change them to:

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

You can optionally reload these values:

Читайте также:  Check font in linux

You should once again see a IPv6 address:

Ipv6 Address Ubuntu 1

Optionally, you can remove /etc/rc.local:

If you modified the kernel parameters in /etc/default/grub, go ahead and delete the added options:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""

Wrapping Up

In this guide I provided you ways in which you can disable IPv6 on Linux, as well as giving you an idea about what IPv6 is and why you would want to disable it.

Did you find this article useful? Do you disable IPv6 connectivity? Let us know in the comment section!

Источник

Как отключить IP версии 6 в Linux

Обновлено

Обновлено: 16.05.2020 Опубликовано: 23.03.2019

IPv6 далеко не всегда может использоваться в системе. Более того, он может вызвать некоторые проблемы при обращении к локальной петле (127.0.0.1) — запросы могут пойти на адрес ::1, что может привести к тому, что некоторые приложения будут работать не корректно.

В данной инструкции используются универсальные методы, которые подойдут для различных систем, например, Ubuntu, CentOS, Debian, Red Hat и так далее.

Отключение через ядро Linux

Быстрее всего отключить IPv6 через настройку ядра. Это универсальный способ и он подойдет для многих дистрибутивов на базе Linux.

Глобально (для всех интерфейсов)

Создаем или открываем файл:

* 99-sysctl.conf является основным конфигурационным файлом, а 10-ipv6-privacy.conf в каталоге sysctl.d — дополнительным. Для удобства лучше использовать последний.

Добавляем следующие строки:

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

Если вносили изменения в файл /etc/sysctl.d/99-sysctl.conf:

Если вносили изменения в файл /etc/sysctl.d/10-ipv6-privacy.conf:

sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf

Проверяем — должны остаться только адреса IPv4:

Для определенного интерфейса

Если нужно отключить IPv6 только для одного интерфейса, например, для eth0, также открываем настройку ядра.

Источник

Оцените статью
Adblock
detector