Years ago, I posted about how to get IPv6 routing working with PPP connections and Debian buster. Since then, the systemd-networkd configuration schema has changed significantly. Here are updated instructions for how I set up my router with Debian 13 (trixie), using systemd v257.
Here’s what I’ve configured the router to do to establish an internet connection:
- Create a PPPoE (
ppp0
) connection to the internet. My ISP, Internode, requires a 802.1q VLAN to be set on the ethernet frames, so in my case this will be overeth1.2
. - Establish its internet IPv4 address via PPP/IPCP.
- Solicit an IPv6 prefix via DHCPv6.
And in terms of providing routing for my LAN:
- Respond to DHCPv4 requests, setting itself as the gateway, and assigning IPv4 addresses on the LAN.
- Respond to IPv6 router solicitation requests, advertising the IPv6 prefix and SLAAC.
- NAT for IPv4.
- Packet forwarding for IPv6.
All of this can be achieved with systemd-networkd and pppd, without the need for any other DHCP client/server software, or NetworkManager.
Continue reading “Linux IPv6 NBN routing with systemd-networkd: update”