diff --git a/hosts/containers/dn42/configuration.nix b/hosts/containers/dn42/configuration.nix index 07dae647..eb52ddf6 100644 --- a/hosts/containers/dn42/configuration.nix +++ b/hosts/containers/dn42/configuration.nix @@ -39,6 +39,12 @@ in { # No Firewalling! networking.firewall.enable = false; + boot.postBootCommands = '' + if [ ! -c /dev/net/tun ]; then + mkdir -p /dev/net + mknod -m 666 /dev/net/tun c 10 200 + fi + ''; services.openvpn = let openvpnNeighbors = lib.filterAttrs (_: conf: conf ? openvpn) neighbors; @@ -61,7 +67,9 @@ in { secret ${keyfile name} ''; up = '' - ${pkgs.iproute}/bin/ip a a ${address6}/64 dev $1 + ${pkgs.iproute}/bin/ip addr flush dev $1 + ${pkgs.iproute}/bin/ip addr add ${address4} dev ${name} peer ${conf.address4}/32 + ${pkgs.iproute}/bin/ip addr add ${address6}/64 dev $1 ''; }; in {