add firewall!
This commit is contained in:
parent
a95ef6b212
commit
840628740b
2 changed files with 33 additions and 6 deletions
|
@ -83,12 +83,13 @@
|
||||||
python3
|
python3
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: firewalling
|
networking.firewall.enable = false;
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
networking.nftables = {
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
enable = true;
|
||||||
# Or disable the firewall altogether.
|
checkRuleset = true;
|
||||||
# networking.firewall.enable = false;
|
ruleset = builtins.readFile ./nftables.conf;
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
|
|
||||||
|
|
26
nftables.conf
Normal file
26
nftables.conf
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
table inet nixos-fw {
|
||||||
|
chain rpfilter {
|
||||||
|
type filter hook prerouting priority mangle + 10; policy drop;
|
||||||
|
meta nfproto ipv4 udp sport . udp dport { 68 . 67, 67 . 68 } accept comment "DHCPv4 client/server"
|
||||||
|
fib saddr . mark . iif oif exists accept
|
||||||
|
}
|
||||||
|
|
||||||
|
chain input {
|
||||||
|
type filter hook input priority filter; policy drop;
|
||||||
|
iifname "lo" accept comment "trusted interfaces"
|
||||||
|
ct state vmap { invalid : drop, established : accept, related : accept, new : jump input-allow, untracked : jump input-allow }
|
||||||
|
tcp flags syn / fin,syn,rst,ack log prefix "refused connection: " level info
|
||||||
|
}
|
||||||
|
|
||||||
|
chain input-allow {
|
||||||
|
tcp dport 22 accept
|
||||||
|
icmp type echo-request accept comment "allow ping"
|
||||||
|
icmpv6 type != { nd-redirect, 139 } accept comment "Accept all ICMPv6 messages except redirects and node information queries (type 139). See RFC 4890, section 4.4."
|
||||||
|
ip6 daddr fe80::/64 udp dport 546 accept comment "DHCPv6 client"
|
||||||
|
}
|
||||||
|
|
||||||
|
chain forward-allow {
|
||||||
|
type filter hook forward priority filter; policy drop;
|
||||||
|
ip daddr 192.168.30.0/24 accept
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue