Ve výchozím nastavení je protokol IPv6 povolen na systémech CentOS/RHEL 8. V určitých situacích však mohou někteří uživatelé považovat za žádoucí vypnout podporu IPv6. Tento příspěvek popisuje kroky k povolení ipv6 na systému CentOS/RHEL 8.
1. Upravte /etc/default/grub a smažte záznam ipv6.disable=1 z GRUB_CMDLINE_LINUX , jak je uvedeno níže:
# vi /etc/default/grub GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root"
2. Spusťte grub2-mkconfig příkaz k regeneraci souboru grub.cfg:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Případně na systémech UEFI spusťte následující:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Smažte soubor /etc/sysctl.d/ipv6.conf který obsahuje záznam:
# First, disable for all interfaces net.ipv6.conf.all.disable_ipv6 = 1 # If using the sysctl method, the protocol must be disabled all specific interfaces as well. net.ipv6.conf.[interface].disable_ipv6 = 1
Pokud byl obraz počátečního RAM disku vytvořen dříve při deaktivaci IPv6, proveďte tento krok až poté.
# dracut -f
4. Zkontrolujte obsah souboru /etc/ssh/sshd_config a ujistěte se, že řádek AddressFamily je okomentován:
# vi /etc/ssh/sshd_config #AddressFamily inet
5. Ujistěte se, že v /etc/hosts existuje následující řádek a není zakomentován:
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6. Restartováním systému povolte podporu IPv6.
# systemctl reboot
Ověření
1. Aktuální stav možnosti deaktivace modulu ipv6 lze zobrazit pomocí sysfs:
# cat /sys/module/ipv6/parameters/disable 1
2. Aktuální stav sysctl disable_ipv6 lze zobrazit pomocí příkazu sysctl:
# sysctl -a 2>/dev/null | grep disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.eth0.disable_ipv6 = 0
3. Seznam všech adres IPv6 přiřazených systému:
# ip -6 addr
4. Chcete-li vypsat jakékoli sokety IPv6 TCP nebo UDP, můžete použít něco jako následující:
# ss -6 -panJak zakázat IPv6 v CentOS/RHEL 8