IPv6 — одно из крупнейших достижений в области компьютерных сетей. Это обеспечило большее адресное пространство для Интернета , а также улучшило маршрутизацию и глобальную адресацию. Тем не менее, Внедрение IPv6 все еще находится в зачаточном состоянии и использование компьютеров с поддержкой IPv6 в сетях только IPv4 может привести к проблемам с подключением. В этой статье показано, как отключить IPv6 на компьютере с Linux и использовать его в сети только с IPv4.
Как проверить статус IPv6
Самый быстрый способ проверить статус IPv6 вашего устройства — запустить команду ip addr
на терминале. Это утилита, которая распечатает все доступные сетевые интерфейсы, на которых работает сетевой стек IPv6:
ip -6 addr
Вы также можете проверить двоичный файл ядра вашего компьютера, если на нем установлен модуль ядра для IPv6. Следующая
Contents
Как проверить статус IPv6
c» для модуля IPv6, если ядро активно его загружает:ls /proc/net/if_inet6
Как отключить IPv6 в Linux
В большинстве случаев окончательное отключение протокола IPv6 в Linux потребует добавления нового аргумента в загрузчик. Для этого откройте файл конфигурации GRUB в любимом текстовом редакторе:
sudo nano /etc/default/grub
Нажмите Ctrl+ W, затем найдите «GRUB_CMDLINE_LINUX_DEFAULT».
Запишите ipv6.disable=1
в конец значения переменной.
Сохраните (Ctrl+ O) и выйдит
Как отключить IPv6 в Linux
з текстового редактора.р>Перезагрузите файл конфигурации загрузчика:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузите систему, затем запустите ls /proc/net/if_inet6
, чтобы проверить, успешно ли вы отключили IPv6 на своем компьютере.
Полезно знать: узнайте, как работают загрузчики, взглянув на сравнение Grub и Systemd-boot .
Отключить IPv6 в системах на базе Red Hat
Помимо непосредственной настройки загрузчика вашего компьютера, вы также можете отключить IPv6 на уровне пользователя. Это полезно, если вы хотите отключить IPv6 только на определенных сетевых интерфейсах.
Чтобы отключить IPv6 в дистрибутивах на базе Red Hat, откройте новый сеанс терминала, а затем перечислите все доступные сетевые интерфейсы для вашего компьютера:
ip -6 addr
Найдите сетевой интерфейс, на котором вы хотите отключить стек IPv6. В моем случае я хочу отключить его на моем интерфейсе Ethernet «enp1s0».
Создайте новый файл конфигурации для вашего стека IPv6 в «/etc/sysctl.d».
sudo nano /etc/sysctl.d/40-ipv6.conf
Вставьте следующие строки кода в новый файл конфигурации:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.YOUR-INTERFACE-NAME.disable_ipv6 = 1
Сохраните новый файл конфигурации, затем выполните следующие команды, чтобы перезагрузить новые настройки:
sudo sysctl -p /etc/Отключить IPv6 в системах на базе Red Hat
pan> systemctl restart systemd-sysctl.service
Зайдите в файл хостов вашего компьютера и добавьте знак решетки (#) в начале каждой строки, содержащей адрес IPv6.
Создайте резервную копию исходного initramfs вашего компьютера, а затем воссоздайте его без поддержки IPv6:
sudo cp /boot/initramfs-$(uname -r).img /initramfs-backup.img sudo dracut -f
Запустите команду nmcli
и отключите ее метод IPv6 для вашего интерфейса. Это гарантирует, что ваши настройки сохранятся после перезагрузки системы.
sudo nmcli connection modify YOUR-INTERFACE-NAME ipv6.method "disabled"
И наконец, перезагрузите систему, чтобы применить новые настройки.
К вашему сведению: узнайте больше о том, как компьютеры взаимодействуют по сети, изучив некоторые простое и легкое использование Netcat .
Отключить IPv6 в системах на базе Debian
Как и в дистрибутивах на базе Red Hat, вы также можете отключить протокол IPv6 в пользовательском пространстве систем на базе Debian. Для этого откройте новый терминал, затем запустите ip -6 addr
, чтобы найти имя интерфейса, на котором вы хотите отключить IPv6:
Выполните следующие команды, чтобы отключить стек IPv6 на определенном интерфейсе:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.YOUR-INTERFACE-NAME.disable_ipv6=1
Примените новые настройки, перезагрузив демон sysctl и его службу Systemd:
sudo sysctl -p sudo systemctl restart systemd-sysctl.service
Отключите метод IPv6, чтобы Systemd не перезаписал ваши пользовательские настройки:
sudo nmcli connection modify YOUR-CONNECTION-NAME ipv6.method "disabled"
Примечание. Вы можете узнать имя вашего сетевого интерфейса в nmcli, запустив nmcli connnection show
.
Проверьте, имеет ли ваш сетевой интерфейс IPv6-адрес, запустив ip addr
.
Совет. Если вы пользователь Windows, вот как это сделать: вы можете отключить IPv6 в Windows .
Как повторно включить IPv6 в Linux
Чтобы повторно включить IPv6 в Linux, откройте файл конфигурации загрузчика в любимом текстовом редакторе:
sudo nano /etc/default/grub
Нажмите Ctrl+ W, затем найдите «GRUB_CMDLINE_LINUX_DEFAULT».
Удалите значение ipv6.disable=1
в конце переменной.
Отключить IPv6 в системах на базе Debianp-content/uploads/2024/05/disable-ipv6-linux-06-removed-ipv6-argument.png" alt="Терминал, показывающий измененный аргумент командной строки Grub без флага IPv6.">
Сохраните файл конфигурации, затем перезагрузите настройки загрузчика:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Перезагрузите систему, затем проверьте, работает ли стек IPv6.
Повторно включите IPv6 в системах на базе Red Hat
В дистрибутивах на базе Red Hat вы можете повторно включить IPv6, отредактировав файл конфигурации sysctl. Для этого откройте новый сеанс терминала, затем удалите файл «40-ipv6.conf» в «/etc/sysctl.d/».
sudo rm /etc/sysctl.d/40-ipv6.conf
Перезагрузите демон sysctl вместе со службой Systemd:
sudo sysctl -p sudo systemctl restart systemd-sysctl.service
Откройте файл «/etc/hosts», затем удалите знак решетки (#) перед всеми строками, содержащими IPv6-адрес.
Восстановите исходный initramfs машины обратно в раздел «/boot»:
sudo cp /initramfs-backup.img /boot/initramfs-$(uname -r).img sudo dracut -f
Повторно включите метод IPv6 в nmcli, чтобы Systemd загрузил стек IPv6 на ваш сетевой интерфейс:
sudo nmcli connection modify YOUR-INTERFACE-NAME ipv6.method "auto"
Перезагрузите систему, чтобы применить новые настройки, затем запустите ip -6 addr
, чтобы убедиться, что стек IPv6 запущен и работает.
Повторно включите IPv6 в системах на базе Debian
Чтобы восстановить стек IPv6 в дистрибутивах на базе Debian, откройте новый терминал и выполните следующие команды:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
Перезагрузите демон sysctl, а также его службу Systemd:
sudo sysctl -p sudo systemctl restart systemd-sКак повторно включить IPv6 в Linux
IPv6 для вашего сетевого интерфейса с помощью nmcli:sudo nmcli connection modify YOUR-CONNECTION-NAME ipv6.method "auto"Наконец, убедитесь, что ваш стек IPv6 работает правильно, запустив
ip -6 addr
и проверив, имеет ли ваш интерфейс адрес IPv6.Изучение того, как отключить и повторно включить стек IPv6 в Linux, — это лишь первый шаг к знакомству с компьютерными сетями. Узнайте больше об этом глубоком и чудесном мире, научившись отслеживать пакеты в вашей сети с помощью Traceroute .
Изображение предоставлено: Леон Зайберт через Unsplash и Викисклад . Все изменения и скриншоты Рамсеса Реда.
Повторно включите IPv6 в системах на базе Red Hat
Повторно включите IPv6 в системах на базе Debian