2021-07-01 17:12:39 +02:00
|
|
|
# IPv6 Configuration {#sec-ipv6}
|
|
|
|
|
|
|
|
IPv6 is enabled by default. Stateless address autoconfiguration is used
|
|
|
|
to automatically assign IPv6 addresses to all interfaces, and Privacy
|
|
|
|
Extensions (RFC 4946) are enabled by default. You can adjust the default
|
2021-07-04 03:56:26 +02:00
|
|
|
for this by setting [](#opt-networking.tempAddresses). This option
|
2021-07-01 17:12:39 +02:00
|
|
|
may be overridden on a per-interface basis by
|
2021-07-04 03:56:26 +02:00
|
|
|
[](#opt-networking.interfaces._name_.tempAddress). You can disable
|
2021-07-01 17:12:39 +02:00
|
|
|
IPv6 support globally by setting:
|
|
|
|
|
|
|
|
```nix
|
2024-03-27 19:10:27 +01:00
|
|
|
{
|
|
|
|
networking.enableIPv6 = false;
|
|
|
|
}
|
2021-07-01 17:12:39 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
You can disable IPv6 on a single interface using a normal sysctl (in
|
|
|
|
this example, we use interface `eth0`):
|
|
|
|
|
|
|
|
```nix
|
2024-03-27 19:10:27 +01:00
|
|
|
{
|
|
|
|
boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true;
|
|
|
|
}
|
2021-07-01 17:12:39 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
As with IPv4 networking interfaces are automatically configured via
|
|
|
|
DHCPv6. You can configure an interface manually:
|
|
|
|
|
|
|
|
```nix
|
2024-03-27 19:10:27 +01:00
|
|
|
{
|
|
|
|
networking.interfaces.eth0.ipv6.addresses = [ {
|
|
|
|
address = "fe00:aa:bb:cc::2";
|
|
|
|
prefixLength = 64;
|
|
|
|
} ];
|
|
|
|
}
|
2021-07-01 17:12:39 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
For configuring a gateway, optionally with explicitly specified
|
|
|
|
interface:
|
|
|
|
|
|
|
|
```nix
|
2024-03-27 19:10:27 +01:00
|
|
|
{
|
|
|
|
networking.defaultGateway6 = {
|
|
|
|
address = "fe00::1";
|
|
|
|
interface = "enp0s3";
|
|
|
|
};
|
|
|
|
}
|
2021-07-01 17:12:39 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
See [](#sec-ipv4) for similar examples and additional information.
|