Как отключить IPv6 навсегда? - proUbuntu
50 голосов
/

Как мы можем отключить всю систему IPv6 с помощью команд терминала?

Я прочитал редактирование / etc / modprobe.d / aliases и замена:

alias net-pf-10 ipv6

с:

alias net-pf-10 off
alias ipv6 off

Безопасно ли это применять и постоянно отключает ipv6 при перезагрузках?

Ответы [ 5 ]

68 голосов
/

Я успешно отключил IPv6, поместив следующие строки в /etc/sysctl.conf:

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

также запустите эту команду для загрузки изменений

sudo sysctl -p
51 голосов
/

Если ваш компьютер не загружает /etc/sysctl.conf во время загрузки (как для меня), необходимо отключить IPv6 от grub. Ядро Linux имеет параметр загрузки с именем «ipv6.disable = 1», который отключает IPv6 при запуске.

Чтобы отредактировать параметры загрузки, отредактируйте "/ etc / default / grub" в любом текстовом редакторе от имени пользователя root:

sudo nano /etc/default/grub

Найдите строку, содержащую «GRUB_CMDLINE_LINUX_DEFAULT»:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Добавьте «ipv6.disable = 1» в параметр загрузки, затем сохраните файл grub:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Наконец, обновите grub:

sudo update-grub
7 голосов
/

Ответ Карвалью, включая комментарий о необходимости запуска sudo sysctl -P, помог мне больше всего.

Однако, в моем случае, по крайней мере:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.<mydevice>.disable_ipv6 = 1

и, похоже, вторая строка была необходима.

Возможно, это связано с тем, что я использую TP-Link Archer T2U, для которого мне пришлось настраивать драйвер из исходных текстов. Я предполагаю, что в результате <mydevice> не считается как "all".
Итак, в двух словах, если вы добавили (настраиваемый) сетевой драйвер, настроенный пользователем, net.ipv6.conf.all.disable_ipv6 = 1 может быть недостаточно для отключения сети IPv6.

Должен признать, что я не пробовал линию
net.ipv6.conf.default.disable_ipv6 = 1

7 голосов
/

Вот как проверить, включен ли ipv6 на вашем компьютере

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Если вы видите

Running kernel is IPv6 ready

включено.

Если вы не видите вывода, это не так.

Чтобы отключить ipv6, если другие ответы на этой странице не работают для вас, внесите в черный список ipv6. Для этого используйте следующую команду:

echo 'blacklist ipv6' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null 

Также это может помочь:

echo 'install ipv6 /bin/true' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null

Перезагрузитесь, чтобы изменения вступили в силу. Чтобы проверить, включен ли он после запуска, запустите эту команду еще раз:

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Не должно быть вывода.

Нажмите здесь для получения информации о том, как отключить IPV6 при загрузке.

6 голосов
/

Если вы используете современную версию (на 16.04 LTS) Ubuntu, тогда вы можете использовать это решение:

Создать /etc/sysctl.d/60-ipv6-disable.conf, содержащий следующий текст:

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

Выполнить service procps start

...