Disabling IPv4 and use only IPv6 in Ubuntu
I'm doing some IPv6 related testing, and I wanted to fully disable my IPv4 for the tests on Linux, but couldn't find any easy place to do this. How do I make my IPv6 the only active one?
If you are using Network Manager, click on in and select 'Edit Connections'. Then edit the default connection (or the one you are using) and look under the 'IPv4 Settings' tab. There should be a dropdown for method where you can select 'Disabled'.
Remember to activate it when you're finished testing.
If you're not using Network Manager, this command should do the trick:
ip address del <address>/<netmask> dev <device>
For example:
ip address del 10.0.0.2/24 dev eth0
imho the best way to do this is to simply not configure an IPv4 address. Additionally you can choose to disable arp:
ip addr del <ipv4 address>/CIDR dev ethN
(operational example: "ip addr del 192.168.0.1/24 dev eth0")
ip link set dev eth0 arp off
I do this on some boxes that should be only reachable via IPv6 for administative purposes (ssh) - boxes that should not be using the routable Internet for anything else. One such example is a database server that uses an IPv6 ULA via OpenVPN so that only internal hosts can connect to it.
If you edit the /etc/modprobe.d/aliases
file and change the following, it should work:
alias net-pf-2 ipv4
to:
alias net-pf-2 off