he.net IPv6 Tunnel with systemd-networkd

/etc/systemd/network/eth0.network tells systemd-networkd how to configure the eth0 interface:

The Tunnel= line triggers the configuration of an he0@eth0 tunnel.


The empty [Match] section tells systemd-networkd to create the tunnel itself. Otherwise I think it would delay configuration until something else created it.

Finally, /etc/systemd/network/he0.network:

The Source= option causes IPv6 packets sent out from the system to use the address assigned to eth0 as their source address. Otherwise, the kernel would prefer to use he0's address.

Actaully, I'm using a version of systemd that is a little bit old, and doesn't support the Source= option. So instead I have no [Route] section and configure the default route at boot with /etc/systemd/system/ipv6-gateway.service:


robots.org.uk: HEIPv6TunnelWithSystemdNetworkd (last edited 2017-03-14 15:17:27 by sam)

© Sam Morris <sam@robots.org.uk>.
Content may be distributed and modified providing this notice is preserved.