Требуется модуль ядра virtio_console. Виртуальная машина использовала -виртуальное ядро, я переключился на -generic, и теперь оно работает!
Возможно, вам придется искать GRUB _CMDLINE _LINUX _DEFAULT во всех файлах конфигурации в разделе /etc/default .
На моем сервере Ubuntu 18.04.1 LTS есть файл /etc/default/grub И занавеска /etc/default/grub.d/50 --] файл settings.cfg . Последний перезаписал переменную GRUB _CMDLINE _LINUX _DEFAULT, которая поддерживала активность ipv6.
После редактирования последнего файла я запустил update -grub и перезагрузился. IPv6 успешно отключен.
IPv6 на самом деле очень скучный протокол при использовании, например. частная сеть. Проблема в том, что этот протокол принудительно используется даже во всех службах, поэтому в чистой сети IPv4 он снижает скорость из-за тайм-аутов.
Что ж, если вы отключите IPv6 в /etc/sysctl.conf
или где-то еще в начале системы, некоторые службы, которые настроены на использование IPv6 (, а их много ), могут снова включить его. Отключение IPv6 после того, как система полностью загружена и настроена, лучше утверждает вашу волю. Но если вы после этого изменения измените свое сетевое соединение (, например. от Wi-Fi к проводу )IPv6 может появиться снова. Подозреваемой службой является NetworkManager, поэтому я останавливаю эту службу (в основном на серверах )или отключаю ее (. Вы также можете настроить каждое соединение для игнорирования IPv6 -. Я не нашел глобального отключения для этого ). Есть и другие конфигурации, где необходимо отключить IPv6, тоже :в /etc/ssh/sshd_config
добавить строку AddressFamily inet
, закомментировать всю строку с IPv6 в /etc/hosts
, в /etc/samba/smb.conf
указать адреса IPv4 явно (интерфейсы = 192.168.43.11 )не имя интерфейса и не имя домена. И так далее. Если вы запрашиваете адрес DHCP, используйте :dhclient -4 eth0
, что заставляет запрашивать IPv4 даже самоназначение IPv6 -.
Хорошей практикой является просмотр прослушиваемых портов с помощьюnetstat -lptun
(илиss -lptun
)и обращение к справочным страницам процесса, использующего IPv6-адрес, как его отключить. В некоторых случаях вы не можете выиграть (, например. DNS-сервер -всегда прослушивает IPv6 ), но обычно вы можете найти путь.
Стопроцентным способом может быть перекомпиляция ядра без IPv6,но чем вы рискуете, некоторые приложения тоже откажутся запускаться до перекомпиляции.
Удачи
Долгое время системный администратор Debian, управляющий сотнями виртуальных машин Debian, и я могу заверить вас, что установка параметров sysctl+kernel для отключения IPv6 более чем достаточна, чтобы убить его навсегда.
Ваша проблема здесь, в вашем сценарии, заключается в том, что недостаточно отредактировать /etc/default/grub
, чтобы параметр (s )был применен к ядру.
Вы также должны сделать:
sudo update-grub2
Затем перезагрузите компьютер, чтобы параметр ядра, отключающий IPv6, вступил в силу.
Кстати, вы можете проверить, какие параметры были переданы вашему ядру во время выполнения -:
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.10.5-antix.3-amd64-smp root=UUID=00c17984-859f-4197-8bd8-b346ddd092bd ro iommu=1 intel_iommu=on iommu=pt ipv6.disable=1 intremap=no_x2apic_optout radeon.modeset=0
Кроме того, как правильно указывает @schweik, после того, как вам удастся убить IPv6, вы можете захотеть пересмотреть конфигурацию нескольких демонов, которые скомпилированы/имеют определенную конфигурацию конфигурации для IPv6. Следите за сообщениями об ошибках и/или журналами ошибок, связанных с IPv6, при загрузке вашей системы.
PS Также имейте в виду, что в архитектуре Arm или MIPS у вас часто нет grub, и вам приходится редактировать файл, отличный от /etc/default/grub
.Однако я предполагаю, что если вы его редактируете, у вас есть grub.