23 lines
825 B
Nix
23 lines
825 B
Nix
# IPv6 on the PPPoE uplink: run networkd's DHCPv6 client on ppp0 to obtain a
|
|
# delegated prefix; each vlan-* interface (network.nix) carves a /64 out of it
|
|
# via DHCPPrefixDelegation and announces it to clients with SLAAC.
|
|
{ lib, ... }:
|
|
{
|
|
systemd.network.networks."45-ppp0" = {
|
|
matchConfig.Name = "ppp0";
|
|
networkConfig = {
|
|
DHCP = "ipv6";
|
|
# pppd owns the v4 address/route on this link; don't let networkd
|
|
# tear them down.
|
|
KeepConfiguration = "static";
|
|
# Default v6 route comes from the ISP's RA when they send one.
|
|
IPv6AcceptRA = true;
|
|
};
|
|
# Many PPPoE ISPs never send an RA with the M flag; solicit regardless.
|
|
dhcpV6Config.WithoutRA = "solicit";
|
|
linkConfig.RequiredForOnline = "no";
|
|
};
|
|
|
|
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = lib.mkDefault 1;
|
|
}
|