Как отключить систему IPv6 через терминальные команды?
Я прочитал редактирование /etc/modprobe.d/aliases и заменил:
alias net-pf-10 ipv6
с: [ ! d3] alias net-pf-10 off
alias ipv6 off
Безопасно ли это применять и постоянно ли отключает ipv6 при перезагрузках?
Я успешно отключил 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
Вот как проверить, разрешен ли 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 при загрузке.
Если ваш компьютер не загружает /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
Ответ Карвальо, включая комментарий о том, что нужно запустить 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
Если вы используете современную версию (я на 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
Я успешно отключил 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
Вот как проверить, разрешен ли 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 при загрузке.
Если ваш компьютер не загружает /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
Ответ Карвальо, включая комментарий о том, что нужно запустить 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
Если вы используете современную версию (я на 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