diff options
| author | Joe Mou <dev@mou.fo> | 2024-12-16 16:00:44 -0500 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2024-12-16 16:00:44 -0500 |
| commit | f676a60d8dc432952614e6dd4ab60e7f7a386389 (patch) | |
| tree | bd33e0e80459e419eab1f5b4d753e7d975542fdb /hostnix/elmo/wireguard.nix | |
| parent | 75424938deb07de2e7f64b2ed3fa9b85f4bae448 (diff) | |
Wireguard
Diffstat (limited to 'hostnix/elmo/wireguard.nix')
| -rw-r--r-- | hostnix/elmo/wireguard.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/hostnix/elmo/wireguard.nix b/hostnix/elmo/wireguard.nix new file mode 100644 index 0000000..7d56062 --- /dev/null +++ b/hostnix/elmo/wireguard.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: + +{ + networking.nat = { + enable = true; + enableIPv6 = true; + externalInterface = "enp3s0f0"; + internalInterfaces = [ "wg0" ]; + }; + + networking.wg-quick.interfaces = { + wg0 = { + address = [ "172.28.92.1/24" "fd61:754f:ebd3:1c5c::1/64" ]; + listenPort = 51820; + privateKeyFile = "/var/secrets/wg0.key"; + postUp = '' + ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -o enp3s0f0 -j MASQUERADE + ${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -o enp3s0f0 -j MASQUERADE + ''; + preDown = '' + ${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -o enp3s0f0 -j MASQUERADE + ${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -o enp3s0f0 -j MASQUERADE + ''; + peers = [ { + publicKey = "ZfJaZgG8e2neWJBWcN3cZsDd740Zq+sW/2pmBqSgbRI="; + allowedIPs = [ "172.28.92.2" "fd61:754f:ebd3:1c5c::2" ]; + } ]; + }; + }; + + networking.firewall.allowedUDPPorts = [ 51820 ]; +} |
