85 lines
1.6 KiB
Nix
85 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
boot.kernel.sysctl."net.ipv4.ip_forward" = true;
|
|
|
|
systemd.network = {
|
|
enable = true;
|
|
wait-online.anyInterface = true;
|
|
|
|
networks = {
|
|
"10-uplink" = {
|
|
name = "enu1u1";
|
|
DHCP = "yes";
|
|
};
|
|
"50-wg0" = {
|
|
name = "wg0";
|
|
address = [
|
|
"10.10.10.5/24"
|
|
];
|
|
};
|
|
"10-wifi" = {
|
|
name = "wlan0";
|
|
DHCP = "yes";
|
|
networkConfig = {
|
|
};
|
|
};
|
|
};
|
|
netdevs = {
|
|
"50-wg0" = {
|
|
netdevConfig = {
|
|
Name = "wg0";
|
|
Kind = "wireguard";
|
|
};
|
|
wireguardConfig.PrivateKeyFile = config.age.secrets."wg".path;
|
|
|
|
wireguardPeers = [
|
|
{
|
|
AllowedIPs = [
|
|
"10.10.10.0/24"
|
|
];
|
|
PublicKey = lib.trim (builtins.readFile ../../wg-keys/hackens-org.pub);
|
|
Endpoint = "129.199.129.76:1194";
|
|
PersistentKeepalive = 5;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
networking = {
|
|
useDHCP = false;
|
|
nameservers = [
|
|
"2620:fe::fe"
|
|
"2620:fe::9"
|
|
"9.9.9.9"
|
|
"149.112.112.112"
|
|
];
|
|
nftables = {
|
|
enable = true;
|
|
tables.nat = {
|
|
family = "ip";
|
|
content = ''
|
|
chain postrouting {
|
|
type nat hook postrouting priority 100;
|
|
oifname "wlan0" masquerade;
|
|
}
|
|
'';
|
|
};
|
|
};
|
|
|
|
firewall.allowedUDPPorts = [ 67 ];
|
|
};
|
|
|
|
networking.wireless = {
|
|
#userControlled.enable = true;
|
|
enable = true;
|
|
networks."WLED-AGB".psk = "lateteatoto";
|
|
extraConfig = ''
|
|
country=FR
|
|
'';
|
|
};
|
|
|
|
}
|