1 { pkgs, lib, config, hosts, ... }:
3 inherit (config.users) users;
6 networking.firewall.enable = false;
7 security.lockKernelModules = false;
8 systemd.services.disable-kernel-module-loading.after = [ "nftables.service" ];
9 # echo -e "$(nix eval hosts.aubergine.config.networking.nftables.ruleset)"
11 networking.nftables = {
16 meta l4proto { udp, tcp } th dport domain counter accept comment "DNS"
17 meta l4proto { udp, tcp } th dport bootps counter accept comment "DHCP"
18 tcp dport ssh counter accept comment "SSH"
19 udp dport 60000-61000 counter accept comment "Mosh"
25 tcp dport ssh counter accept comment "SSH"
26 udp dport 60000-61000 counter accept comment "Mosh"
30 tcp dport { ssh, 2222 } counter accept comment "SSH"
34 tcp dport { ssh, 2222 } counter accept comment "SSH"
35 udp dport 60000-61000 counter accept comment "Mosh"
36 tcp dport { http, https } counter accept comment "HTTP"
37 udp dport ntp skuid ${users.systemd-timesync.name} counter accept comment "NTP"
38 meta l4proto { udp, tcp } skuid dnscrypt-proxy2 counter accept comment "dnscrypt-proxy2"
39 tcp dport git counter accept comment "Git"
42 tcp dport { ssh, 2222 } counter accept comment "SSH"
43 udp dport 60001-60010 counter accept comment "Mosh"
44 tcp dport { http, https } counter accept comment "HTTP"
45 tcp dport git counter accept comment "Git"