Like many I use tunnelbroker.net for IPv6 connectivity on servers that lack native IPv6 connectivity through their provider.
Back in ifupdown, this was done with a nice and short snippet that looked like this:
```
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:1c:1d7::2
netmask 64
endpoint 216.66.38.58
local 192.222.186.156
mtu 1480
ttl 64
```
There is however no equivalent in netplan that I could find (on 18.04 at least), instead I had to do the following to get networkd to setup the tunnel.
1) Define a netdev (/etc/systemd/network/he-ipv6.netdev)
```
[NetDev]
Name=he-ipv6
Kind=sit
MTUBytes=1480
3) Setup a dependency between my WAN interface and the tunnel (/etc/systemd/network/10-netplan-eth0.network.d/tunnel.conf)
```
[Network]
Tunnel=he-ipv6
```
This then all works fine but has the very annoying side-effect of splitting my network config into a bunch of different pieces with everything in my netplan.yaml except for that tunnel which I have to configure directly in networkd and use systemd unit overrides to add the needed Tunnel statement to the netplan managed wan interface.
Like many I use tunnelbroker.net for IPv6 connectivity on servers that lack native IPv6 connectivity through their provider.
Back in ifupdown, this was done with a nice and short snippet that looked like this:
```
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:1c:1d7::2
netmask 64
endpoint 216.66.38.58
local 192.222.186.156
mtu 1480
ttl 64
```
There is however no equivalent in netplan that I could find (on 18.04 at least), instead I had to do the following to get networkd to setup the tunnel.
1) Define a netdev (/etc/systemd/ network/ he-ipv6. netdev)
```
[NetDev]
Name=he-ipv6
Kind=sit
MTUBytes=1480
[Tunnel]
Local=54.39.107.213
Remote=216.66.38.58
TTL=64
```
2) Define a network (/etc/systemd/ network/ he-ipv6. network)
```
[Match]
Name=he-ipv6
[Network] 2001:470: 1c:b62: :2/64 2001:470: 1c:b62: :1
Address=
Gateway=
```
3) Setup a dependency between my WAN interface and the tunnel (/etc/systemd/ network/ 10-netplan- eth0.network. d/tunnel. conf)
```
[Network]
Tunnel=he-ipv6
```
This then all works fine but has the very annoying side-effect of splitting my network config into a bunch of different pieces with everything in my netplan.yaml except for that tunnel which I have to configure directly in networkd and use systemd unit overrides to add the needed Tunnel statement to the netplan managed wan interface.