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.
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.
Risposte:
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 menuconfig
kernel 2.6.36 non sono riuscito a trovare un modo per disabilitare ipv4 senza disabilitare l'intero stack TCP / IP (e quindi, ipv6).
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).
Non penso che sia possibile disabilitare completamente IPv4, ma a seconda del tuo obiettivo, iptables
potrebbe 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
/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
.