Sizin için bu ekle çekirdek hattı tamamen devre dışı IPv6 için önyükleme yükleyicisi in:
ipv6.disable=1
Grub kullanıyorsanız (kendi önyükleyicinizi kurmadıysanız, Grub kullanıyorsunuzdur), çekirdek hattınız şöyle görünmelidir:
linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ipv6.disable=1
Çekirdek satırına bir şey eklemek için önerilen yaklaşım, dosyadaki GRUB_CMDLINE_LINUX_DEFAULT
değişkene istenen çekirdek parametresini eklemektir /etc/default/grub
:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
Bunu ekledikten sonra /etc/default/grub
, komutunuzu yeniden oluşturmak için aşağıdaki komutu çalıştırın grub.cfg
:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Alternatif olarak, ipv6.disable_ipv6=1
bunun yerine ekleme IPv6 yığınını işlevsel tutar, ancak ağ aygıtlarınızın hiçbirine IPv6 adresleri atamaz.
VEYA
IPv6'yı sysctl ile devre dışı bırakmak için aşağıdakileri /etc/sysctl.conf
dosyanıza yerleştirin:
net.ipv6.conf.all.disable_ipv6 = 1
/etc/hosts
Dosyanızdaki herhangi bir IPv6 ana bilgisayarına yorum yapmayı unutmayın :
#::1 localhost.localdomain localhost
NOT
sysctl yöntemi için bir yeniden başlatma gerekebilir ve kesinlikle çekirdek çizgisi yaklaşımı için bir yeniden başlatma gerekli olabilir.
VEYA
İpv6'yı geçici olarak devre dışı bırakmak için :
sysctl -w net.ipv6.conf.all.disable_ipv6 = 1
To geçici etkinleştirmek:
sysctl -w net.ipv6.conf.all.disable_ipv6 = 0
Yani , belirli bir koşulda ipv6'yı devre dışı bırakmanız gerekirse , o zaman bu satırlar boyunca bir yere bir bash betiği yazın:
#!/bin/bash
ipv6_disabled="$(sysctl net.ipv6.conf.all.disable_ipv6 | awk '{print $NF}')"
if (connected_to_vpn &> /dev/null); then
(($ipv6_disabled)) || sysctl -w net.ipv6.conf.all.disable_ipv6=1
else
(($ipv6_disabled)) && sysctl -w net.ipv6.conf.all.disable_ipv6=0
fi
NOT
/etc/hosts
Dosyanızdaki ipv6 ana bilgisayarlarını da önceki yöntemde önerdiğim gibi devre dışı bırakmanız gerekebilir .