Home Explore Blog Models CI



nixpkgs

nixos/doc/manual/configuration/ipv6-config.section.md
524a8c8cf6d13370bc5a0433b35540c8f5609a914633aa1c00000003000004b6
# 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 4941) are enabled by default. You can adjust the default
for this by setting [](#opt-networking.tempAddresses). This option
may be overridden on a per-interface basis by
[](#opt-networking.interfaces._name_.tempAddress). You can disable
IPv6 support globally by setting:

```nix
{ networking.enableIPv6 = false; }
```

You can disable IPv6 on a single interface using a normal sysctl (in
this example, we use interface `eth0`):

```nix
{ boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true; }
```

As with IPv4 networking interfaces are automatically configured via
DHCPv6. You can configure an interface manually:

```nix
{
  networking.interfaces.eth0.ipv6.addresses = [
    {
      address = "fe00:aa:bb:cc::2";
      prefixLength = 64;
    }
  ];
}
```

For configuring a gateway, optionally with explicitly specified
interface:

```nix
{
  networking.defaultGateway6 = {
    address = "fe00::1";
    interface = "enp0s3";
  };
}
```

See [](#sec-ipv4) for similar examples and additional information.

Chunks
a0038429 (1st chunk of `nixos/doc/manual/configuration/ipv6-config.section.md`)
Title: IPv6 Configuration
Summary
This section details how to configure IPv6. IPv6 is enabled by default, utilizing stateless address autoconfiguration and Privacy Extensions (RFC 4941). Users can adjust or override Privacy Extensions globally or per-interface. IPv6 support can be disabled globally via `networking.enableIPv6 = false` or on specific interfaces using sysctl (e.g., `net.ipv6.conf.eth0.disable_ipv6 = true`). Interfaces are automatically configured via DHCPv6, but manual address assignment and gateway configuration are also supported.