IPv6 kalıcı olarak nasıl devre dışı bırakılır?


54

IPv6 sistemini geniş uçtaki terminal komutlarıyla nasıl devre dışı bırakabiliriz?

/Etc/modprobe.d/aliases düzenleme ve değiştirmeyi okudum :

alias net-pf-10 ipv6

ile:

alias net-pf-10 off
alias ipv6 off

Uygulaması güvenli midir ve yeniden başlatmalar arasında ipv6'yı kalıcı olarak devre dışı bırakır mı?


5
IPv6'yı neden kalıcı olarak devre dışı bırakmak istiyorsunuz?
Anderson Green,

2
Mutlak bir şekilde (aslında bir tane, MS Windows'ta bulabilirim) IPv6'yı kapatmak için bir neden yok. Bunu neden yapmak istiyorsun?
Anders

17
IPv6'yı açmak için kesinlikle hiçbir neden yok. Her şey hala ipv4'tür ve küçük bir ağı yöneten ve sınırlı zamanı olan birine avantaj sağlamaz. Saldırı ve olası yanlış yapılandırma için bir vektör daha ve onu etkisiz hale getirmek için tedbirli. Muhtemelen herhangi bir IETF mühendisinin duymak istediği şey değil, ama onların sorunu benim değil. İyi bir nedenim olduğunda, o zamana kadar yönetmem gereken başka bir saldırı vektörünü etkinleştireceğim.
Jonathan S. Fisher

8
IPv6'yı devre dışı bırakmak sizi IPv6 saldırılarına karşı bağışıklık kazanmaz. Etkinleştirmek, onunla ilgilenmek ve ondan öğrenmek çok daha iyidir, ortamınızı daha güvenli hale getirmenin tek yolu budur. Bunun yerine, herkesin "IPv4'ü kalıcı olarak nasıl devre dışı bırakacağımı" öğrenmesi daha iyi olur. IPv6, IPv4'ten çok daha kolaydır, başlamak için artık NAT yok, bu nedenle, yönetilmesi gereken bir şey daha az ... İnternet gerçekten hızlı büyüyor, birkaç yıl içinde IPv6 ağı IPv4'ten daha büyük olacak. IPv4 ile gerçek İnternetten çıkacaksınız. Devam et dostum! IP'nizi yükseltin! Değişim iyi bir şey.
ThiagoCMC

7
@ JonathanS.Fisher ve diğerleri - Bu yorumlar hiç yardımcı değil. Sadece IPv6'yı devre dışı bırakmak için bir neden olduğunu bilmiyor olabilirsiniz, bir tane olmadığı anlamına gelmez. En büyük örneklerden biri, IPv6'yı desteklemeyen VPN hizmetleri içindir. Devre dışı bırakmazsanız, IPv6 adresinizi sızdırırsınız.
Scone

Yanıtlar:


74

Aşağıdaki satırları yerleştirdikten sonra IPv6'yı başarıyla devre dışı bıraktım /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Ayrıca değişiklikleri yüklemek için bu komutu çalıştırın.

sudo sysctl -p

VMware'deki Uubuntu ping yapamıyor ve ben de Ubuntu'daki ipv6'yı kapatıyorum.
Honghe.Wu

12
Bu satırlardan sonra sysctl.conf dosyasına satırlar eklendikten sonra, sudo sysctl -pdeğişikliklerin geçerli olmasını sağlamak için koşun veya yeniden başlatın .
Rajat Gupta

4
Bunu sadece kablosuz olarak bir hata çözümü olarak yapmam gerekiyor, böylece tekrar bağlanabiliyorum. İşte sadece bir adaptör için nasıl yapılacağı:net.ipv6.conf.wlan0.disable_ipv6 = 1
cmc

1
Bu Ubuntu 17.10'da çalışmaz. Grub düzeltme için aşağıdaki NullNoname yorumuna bakın.
Luke

1
Ubuntu 16.04 üzerinde de çalışmıyor. Grub metodu çalışıyor.
Penghe Geng

53

Bilgisayarınız ön yükleme sırasında /etc/sysctl.conf dosyasını yüklemiyorsa (bu benim için geçerlidir), IPv6'yı grubtan devre dışı bırakmak gerekir. Linux çekirdeğinde IPv6'nın başlatılmasını engelleyen "ipv6.disable = 1" adlı bir önyükleme seçeneği bulunur.

Önyükleme seçeneklerini düzenlemek için, "/ etc / default / grub" ifadesini kök kullanıcı olarak herhangi bir metin düzenleyicisiyle düzenleyin:

sudo nano /etc/default/grub

"GRUB_CMDLINE_LINUX_DEFAULT" içeren satırı bulun:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Önyükleme seçeneğine "ipv6.disable = 1" ekleyin, ardından grub dosyanızı kaydedin:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Son olarak, grub'u güncelleyin:

sudo update-grub

6
1 Bu çalışır ve tamamen IPv6 devre dışı bırakır, böylece hiçbir iz vardır /proc/sys/net/ipv6/gibi sorunlar üretebilir sol X11 forwarding request failedçünkü sshdçalışır olmayan bir yapılandırılmış IPv6 arayüzüne bağlanma. Benzer şekilde, saf IPv6 sanal makinelerinde IPv4'ten bu şekilde kurtulabileceğinizi unutmayın. Teşekkürler.
Tino

7

Carvalho'in kaçmak zorunda kaldığı yorumu içeren cevabı sudo sysctl -Pbana en çok yardımcı oldu.

Ancak, benim durumumda en azından:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.<mydevice>.disable_ipv6 = 1

ve ikinci çizginin gerekli olduğu anlaşılıyor.

Belki de bunun nedeni, özel olarak kaynaktan bir sürücü yapmak zorunda olduğum TP-Link Archer T2U kullanıyorum.
Benim varsayım, bunun bir sonucu <mydevice>olarak " all" sayılmıyor .
Bu nedenle, kısaca, özel olarak bir (özel) ağ sürücüsü eklediyseniz, net.ipv6.conf.all.disable_ipv6 = 1IPv6 ağ bağlantısını devre dışı bırakmak için yeterli olmayabilir.

İtiraf etmeliyim ki, hattı denemedim
net.ipv6.conf.default.disable_ipv6 = 1


1
Bazen farklı aygıtları devre dışı bırakmanın gerekli olduğunu belirtmek için olumlu olun.
Scone

defaultÇizginin olmaması muhtemelen burada sorun. Sürücü sysctl idam edildi önyükleme sürecinde noktasında henüz yüklü değildi, o zaman dahil edilmedi all- ama ne zaman varsayılan ayar, daha sonra ayarı kazanılmış olacaktı anlamına gelirdi edildi yüklendi.
Charles Duffy

1
Ben defaultgiriş ve başarıyla devre dışı bırakmak için belirli bir aygıtı yapılandırmak zorunda kaldı.
Alfonso Nishikawa

7

İşte bilgisayarınızda ipv6'nın etkin olup olmadığını kontrol etme

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Eğer görürsen

Running kernel is IPv6 ready

etkin.

Çıktı göremiyorsanız, öyle değil.

Bu sayfadaki diğer cevaplar sizin için işe yaramazsa, ipv6'yı devre dışı bırakmak için, birlikte kara listeye alın. Bunu yapmak için aşağıdaki komutu kullanın:

echo 'blacklist ipv6' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null 

Ayrıca, bu da yardımcı olabilir:

echo 'install ipv6 /bin/true' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null

Değişikliklerin etkili olması için yeniden başlatın. Başlatmadan sonra etkin olup olmadığını kontrol etmek için bu komutu tekrar çalıştırın:

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Çıktı olmamalıdır.

IPV6'nın açılışta nasıl devre dışı bırakılacağı hakkında bilgi için buraya tıklayın.


Bu cevap, çekirdek ipv6özelliğinin bir çekirdek modülü olduğunu varsayar ( blacklist.localyüklenmesini önlemek için kullanılır ). İpv6'nın çekirdeğe derlendiği (bir modül değil) bir durum vardır, bu durumda çekirdeğin ipv6.disable=1önyükleme paremeteriyle önyüklenmesi gerekir (bunu yapmak için: (1) sudo gedit /etc/default/grub(2) satır arayın GRUB_CMDLINE_LINUX_DEFAULT=<args>ve (3) ipv6.disable=1boot parametrelerine ekleyin )
humanityANDpeace

@humanityANDpeace Bu daha kapsamlı cevabı ilginizi çekebilir: unix.stackexchange.com/a/190189
mchid

6

Ubuntu'nun modern bir versiyonunu kullanıyorsanız (16.04 LTS'deyim), o zaman bu düzenli çözümü kullanabilirsiniz:

/etc/sysctl.d/60-ipv6-disable.confAşağıdaki metni içeren oluşturun :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Çalıştırmak service procps start


2
Bunu yapmanın en temiz yolu budur - neden aşağıya indirildiğini anlamayın. fedora / centos / redhat'ta da çalışır. sistem varsayılan dosyalarını değiştirmemesi avantajına sahiptir (en popüler cevaplarda önerildiği gibi doğrudan sysctl.conf gibi)
Costin Gușă

@Costin Aşağı oy vermedim, ama bu her zaman işe yaramayacak. Bazen belirli bir cihaz adını girmeniz gerekir (örneğin, özel sürücü kurulumlarında). Cevabım üzerine Alfonso Nishika'nın yorumuna bak.
polynomial_donut

Müteşekkirim, bu yaklaşımı izledim, çünkü uzak bir sunucudaki bağlantımı ( IPv6'ya ihtiyaç duyuyordu ) kaybettim ve bir dosyayı kaldırmak ve yeniden başlatmak için asistanımı siteye yönlendirmek çok kolaydı.
Roger Dueck

i çalıştırmak zorunda service procps restartubuntu 18.04 yerine
iPherian
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.