!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

881 Members
Declaratively manage your switching, routing, wireless, tunneling and more. | Don't rely on `networking.*` for interface and routing setup, use systemd-networkd, ifstate or NetworkManager instead. | Set `SYSTEMD_LOG_LEVEL=debug` to debug networking issues with networkd | No bad nft puns, please. | Room recommendations: #sysops:nixos.org253 Servers

Load older messages


SenderMessageTime
2 Jun 2025
@hexa:lossy.networkhexa (clat on linux when)and you probably have a dynamic allocation of IP addresses00:06:04
@charles:computer.surgeryCharleshttps://gitlab.computer.surgery/charles/servy-fleet/-/blob/charles/dnsmasq/nix/nixos-configuration/green/router/default.nix?ref_type=heads#L15500:07:07
@hexa:lossy.networkhexa (clat on linux when)https://gitlab.computer.surgery/charles/servy-fleet/-/blob/charles/dnsmasq/nix/nixos-configuration/green/router/default.nix?ref_type=heads#L13500:07:33
@hexa:lossy.networkhexa (clat on linux when)this here does DHCP for IPv4 and IPv6 on WAN00:07:42
@charles:computer.surgeryCharlesyeah00:07:52
@hexa:lossy.networkhexa (clat on linux when)do you get like an IPv6 Prefix?00:08:14
@charles:computer.surgeryCharles i see a global scope ipv6 addr in ip a for en-wan, which is a /128 there 00:08:13
@charles:computer.surgeryCharles ip -6 route shows a /64 00:08:21
@hexa:lossy.networkhexa (clat on linux when)yeah, that is no good 😄 00:08:25
@hexa:lossy.networkhexa (clat on linux when)for each LAN interface you want an individual /64 ideally00:08:38
@hexa:lossy.networkhexa (clat on linux when)and for that you need DHCPv6 IA_PD (aka Prefix Delegation)00:08:56
@hexa:lossy.networkhexa (clat on linux when)

so on the WAN side I do

        dhcpV6Config = {
          WithoutRA = "solicit";
          PrefixDelegationHint = "::/56";
        };
00:09:36
@hexa:lossy.networkhexa (clat on linux when)and on the LAN side00:10:06
@hexa:lossy.networkhexa (clat on linux when)
          networkConfig.DHCPPrefixDelegation = true;
00:10:12
@hexa:lossy.networkhexa (clat on linux when) *
        \networkConfig.DHCPPrefixDelegation = true;
00:10:17
@hexa:lossy.networkhexa (clat on linux when) *
        networkConfig.DHCPPrefixDelegation = true;
00:10:22
@hexa:lossy.networkhexa (clat on linux when)this means it will request a /56 prefix on WAN00:10:30
@hexa:lossy.networkhexa (clat on linux when)and try to delegate that to the LAN interface00:10:37
@hexa:lossy.networkhexa (clat on linux when)which means it puts a /64 subnet onto your LAN interface00:11:02
@hexa:lossy.networkhexa (clat on linux when)when that is in place, all you need is 00:11:17
@hexa:lossy.networkhexa (clat on linux when)
          networkConfig.IPv6SendRA = true;
00:11:23
@hexa:lossy.networkhexa (clat on linux when)on the LAN side to send router advertisements00:11:34
@charles:computer.surgeryCharlesi see00:12:06
@hexa:lossy.networkhexa (clat on linux when)this all hinges on your ISP actually delegating you a prefix00:12:09
@charles:computer.surgeryCharleswhy00:12:15
@charles:computer.surgeryCharlesright00:12:18
@hexa:lossy.networkhexa (clat on linux when)because with autoconfig there is algorithm to generate a collision free host suffix00:12:42
@hexa:lossy.networkhexa (clat on linux when)* because with autoconfig there is an algorithm to generate a collision free host suffix00:12:49
@hexa:lossy.networkhexa (clat on linux when)and it requires 64 bits on the host side00:12:59
@hexa:lossy.networkhexa (clat on linux when)* because with autoconfig there is an algorithm (EUI-64) to generate a collision free host suffix00:13:39

Show newer messages


Back to Room ListRoom Version: 6