IPv4 yığınını Linux'tan tamamen, dinamik olarak nasıl devre dışı bırakabilirim?


17

IPv4 yığınını Linux'tan nasıl devre dışı bırakabilirim ? Bunu dinamik olarak yapmak istiyorum , yani bazen etkin olmasını istiyorum ve bazen sadece IPv6 yığını istiyorum . Bunu yapmanın taşınabilir bir yolu var mı? Bunu herhangi bir dağıtımda nasıl yapacağınızı biliyorsanız, bana da çok yardımcı olacaktır.


2
@kasperd 2011'den beri hiçbir şey değişmedi.
Michael Hampton

Yanıtlar:


21

IRC'de küçük bir sohbetten sonra, linux çekirdeğinin ipv4 ve ipv6 arasında bir kod paylaşması ve ipv4'ü tamamen devre dışı bırakması tamamen imkansız hale gelebilir. Sen olabilir denemek ipv4 parçalar olmadan çekirdek derlemek ama ipv6 bu durumda derleme olmayabilir (ama hiçbir şey çalışıyor uzak tutar!).

IPv4 adreslerini AFAIK arabirimlerinden kaldırabilirsiniz, ancak şu anda ipv4'ü tamamen devre dışı bırakmanın mümkün olduğunu düşünmüyorum.

DÜZENLEME:make menuconfig 2.6.36 çekirdeğinde hızlı bir denetimden sonra , tüm TCP / IP yığınını (ve böylece ipv6) devre dışı bırakmadan ipv4'ü devre dışı bırakmanın bir yolunu bulamadım.


4

Bu geliştiriciler içinse, LD_PRELOAD ile sadece hataları döndüren saplama işlevlerine sahip (veya haftanın gününe veya başka bir dış ölçüte bağlı olarak gerçek olanları çağıran) saplamalı işlevlere sahip bazı doktor kütüphanesi ile "kütüphane interposition" kullanılabilir.


2

IPv4'ü tamamen devre dışı bırakmanın mümkün olduğunu düşünmüyorum, ancak hedefinize bağlı olarak, tüm IPv4 trafiğini bırakmak iptablesyeterli olabilir, değil mi?

Böyle bir şey işe yaramalı. IPv4 aracılığıyla eriştiğim için herhangi bir makinede test etmedim.

sudo iptables -I INPUT -j DROP
sudo iptables -O OUTPUT -j DROP

1
Bu, bazen yararlı olabilecek trafiği engelleyecektir. ancak programların bir IPv4 soketi bağlamasını durdurmaz. IPv4'ü tamamen devre dışı bırakmak için bu gereklidir.
Michael Hampton

Yalnızca IPv6'yı çalıştırmam gereken bir makinede yaptığım şey, DHCP istemcisini devre dışı bırakmaktı /etc/network/interfaces.d. systemd-resolvedHala dinlediği için IPv4'ü devre dışı bırakmakla aynı şey değil 127.0.0.53:53. Ancak acil ihtiyaçlarımı karşılamak için yeterliydi ve uğraşmayı çok tercih etti iptables.
kasperd

1

Çoğunlukla kvelinizi ipv4 modülleri olmadan yeniden derlemelisiniz. fötr şapka

Sistem 127.0.0.1 geridöngü arabirimi kullandığından tamamen devre dışı bırakamazsınız.
Ancak bazı ipv4 işlevlerini if-cfg komutuyla devre dışı bırakabilirsiniz.

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.