Come disabilitare completamente, dinamicamente lo stack IPv4 da Linux?


17

Come posso disabilitare lo stack IPv4 da Linux? Voglio farlo in modo dinamico , cioè a volte lo voglio abilitato e a volte voglio solo lo stack IPv6 . C'è un modo portatile per farlo? Se sai come farlo in qualsiasi distribuzione, mi aiuterà molto.


2
@kasperd Nulla è cambiato dal 2011.
Michael Hampton

Risposte:


21

Bene, dopo una piccola chiacchierata sull'IRC, l'opinione generale è che il kernel Linux condivide del codice tra ipv4 e ipv6, e ciò potrebbe rendere completamente impossibile disabilitare completamente ipv4. Puoi provare a compilare il kernel senza le parti di ipv4 ma ipv6 potrebbe non essere compilato in questo caso (ma nulla ti impedisce di provare!).

Puoi rimuovere gli indirizzi ipv4 dalle interfacce, AFAIK, ma non credo che al momento sia possibile disabilitare completamente ipv4.

EDIT: Dopo un rapido controllo sul make menuconfigkernel 2.6.36 non sono riuscito a trovare un modo per disabilitare ipv4 senza disabilitare l'intero stack TCP / IP (e quindi, ipv6).


4

Se questo è per gli sviluppatori, si potrebbe usare "interposizione delle librerie", con LD_PRELOAD alcune librerie documentate con funzioni stub che semplicemente restituiscono errori (o che chiamano quelli reali a seconda del giorno della settimana o di qualche altro criterio esterno).


2

Non penso che sia possibile disabilitare completamente IPv4, ma a seconda del tuo obiettivo, iptablespotrebbe essere sufficiente eliminare tutto il traffico IPv4 , no?

Qualcosa del genere dovrebbe funzionare. Non l'ho provato su nessuna macchina, poiché accedo ad esse tramite IPv4.

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

1
Questo bloccherà il traffico, che a volte può essere utile. ma non impedirà ai programmi di associare un socket IPv4. Ciò è necessario per disabilitare completamente IPv4.
Michael Hampton

Quello che ho fatto su una macchina in cui dovevo eseguire solo IPv6 era disabilitare il client DHCP /etc/network/interfaces.d. Non è esattamente come disabilitare IPv4 poiché systemd-resolvedè ancora in ascolto 127.0.0.53:53. Ma era sufficiente per rispondere ai miei bisogni immediati e preferivo di gran lunga fare casino iptables.
Kasperd,

1

Principalmente dovresti ricompilare il tuo kernel senza moduli ipv4. fedora

Non è possibile disabilitarlo completamente perché il sistema utilizza l'interfaccia di loopback 127.0.0.1.
Ma puoi disabilitare alcune funzioni di ipv4 con il comando if-cfg.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.