Secara default, IPv6 diaktifkan pada sistem CentOS/RHEL 8. Namun, dalam situasi tertentu, beberapa pengguna mungkin merasa perlu untuk menonaktifkan dukungan IPv6. Posting ini menguraikan langkah-langkah untuk menonaktifkan ipv6 pada sistem CentOS/RHEL 8.
Untuk sistem yang Menggunakan NetworkManager
Untuk semua sistem yang menjalankan NetworkManager, IPv6 harus dinonaktifkan pada setiap antarmuka dengan opsi ipv6.method disetel ke dinonaktifkan . Langkah ini harus dilakukan selain IPv6 dinonaktifkan menggunakan metode yang ditunjukkan pada bagian berikutnya di bawah.
# nmcli connection modify [Connection Name] ipv6.method "disabled"
Metode 1:Menggunakan GRUB2
1. Nonaktifkan modul kernel bawaan ipv6. Edit /etc/default/grub dan tambahkan ipv6.disable=1 ke GRUB_CMDLINE_LINUX seperti yang ditunjukkan di bawah ini:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1"
2. Jalankan grub2-mkconfig perintah untuk membuat ulang file grub.cfg:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Atau, pada sistem UEFI, jalankan perintah berikut:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Reboot sistem untuk menonaktifkan dukungan IPv6.
# systemctl reboot
Metode 2:Menggunakan sysctl
Atau, ini dapat dilakukan melalui pengaturan sysctl juga. Perlu diketahui bahwa ini merusak SSH Xforwarding kecuali sshd_config berisi inet AddressFamily.
1. Buat file baru bernama /etc/sysctl.d/ipv6.conf dan tambahkan opsi berikut:
# vi /etc/sysctl.d/ipv6.conf # 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..disable_ipv6 = 1
2. Pengaturan baru kemudian perlu dimuat ulang dengan:
# sysctl -p /etc/sysctl.d/ipv6.conf
3. Buat cadangan initramfs sebelum melakukan perubahan apa pun:
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
4. Kemudian bangun kembali Gambar Disk RAM Awal menggunakan:
# dracut -f -v
5. Memverifikasi penyertaan file:
# lsinitrd /boot/initramfs-[version].img | grep 'etc/sysctl.d/ipv6.conf'
6. Beri komentar pada alamat IPv6 yang ditemukan di /etc/hosts, termasuk ::1 alamat localhost. Buat cadangan file sebelum melakukan perubahan apa pun:
# cp -p /etc/hosts /etc/hosts.disableipv6 # sed -i 's/^[[:space:]]*::/#::/' /etc/hosts
Verifikasi
1. Status opsi menonaktifkan modul ipv6 saat ini dapat dilihat melalui sysfs:
# cat /sys/module/ipv6/parameters/disable 1
2. Status sysctl disable_ipv6 saat ini dapat dilihat dengan perintah 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. Untuk membuat daftar alamat IPv6 yang ditetapkan ke sistem:
# ip -6 addr
4. Untuk membuat daftar soket IPv6 TCP atau UDP, sesuatu seperti berikut ini dapat digunakan:
# ss -6 -pan
Kesimpulan
Jika Anda melihat ada pesan Selinux yang ditolak di file audit.log seperti avc:Deny { module_request }, saat menggunakan Metode 1(GRUB2), kemudian nonaktifkan ipv6 dari file /etc/sysctl.d/ipv6.conf seperti yang ditunjukkan pada Metode 2. Secara opsional untuk mencegah keluaran pesan rpc* setelah menonaktifkan ipv6, edit /etc/netconfig untuk baris yang dimulai dengan udp6 dan tcp6; ubah "v" di kolom ketiga menjadi "-" (tanda hubung/tanda hubung).
Cara Mengaktifkan IPv6 di CentOS/RHEL 8