Как мы можем отключить IPv6 в масштабе всей системы через терминальные команды?
Я считал редактирование/etc/modprobe.d/aliases и замену:
alias net-pf-10 ipv6
с:
alias net-pf-10 off
alias ipv6 off
Действительно ли это безопасно применить, и это постоянно отключает ipv6 через перезагрузки?
Если вы используете современную версию Ubuntu (я использую 16.04 LTS), вы можете использовать это удобное решение:
Create /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
Run service procps start
Вот как проверить, включен ли 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, для которого мне пришлось настраивать драйвер из исходных текстов.
Я предполагаю, что в результате
не считается одним из « всех
».
Итак, в двух словах, если вы специально добавили (пользовательский) сетевой драйвер, net.ipv6.conf.all.disable_ipv6 = 1
может оказаться недостаточным для отключения сети IPv6.
Должен признать. хотя я не пробовал строку
net.ipv6.conf.default.disable_ipv6 = 1
Я успешно отключил 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