Soluzione 1:
Bene, dopo una piccola chiacchierata su IRC, l'opinione generale è che il kernel Linux condivida del codice tra ipv4 e ipv6, e questo potrebbe rendere completamente impossibile disabilitare ipv4. Puoi provare per compilare il kernel senza le parti ipv4 ma ipv6 potrebbe non essere compilato in questo caso (ma niente ti impedisce di provare!).
Puoi rimuovere gli indirizzi ipv4 dalle interfacce, AFAIK, ma non credo sia possibile in questo momento disabilitare completamente ipv4.
MODIFICA: Dopo un rapido controllo su make menuconfig
sul kernel 2.6.36 non sono riuscito a trovare un modo per disabilitare ipv4 senza disabilitare l'intero stack TCP/IP (e quindi ipv6).
Soluzione 2:
Se questo è per gli sviluppatori, allora si potrebbe usare "library interposition", con LD_PRELOAD qualche libreria manipolata con funzioni stub che restituiscono semplicemente errori (o che richiamano quelli reali a seconda del giorno della settimana o di qualche altro criterio esterno).
Soluzione 3:
Non penso sia possibile disabilitare completamente IPv4, ma a seconda del tuo obiettivo, eliminare tutto il traffico IPv4 utilizzando iptables
potrebbe bastare, no?
Qualcosa del genere dovrebbe funzionare. Non l'ho testato su nessuna macchina, poiché accedo tramite IPv4.
sudo iptables -I INPUT -j DROP
sudo iptables -O OUTPUT -j DROP