-{ pkgs, lib, ... }:
+{ pkgs, lib, config, ... }:
with (import networking/names-and-numbers.nix);
{
imports = [
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
networking.nftables.ruleset = lib.mkAfter ''
table inet filter {
+ chain input-lan {
+ meta l4proto { udp, tcp } th dport domain counter accept comment "DNS"
+ meta l4proto { udp, tcp } th dport bootps counter accept comment "DHCP"
+ }
+ chain output-lan {
+ meta skuid ${config.users.users."systemd-network".name} \
+ meta l4proto { udp, tcp } th sport bootps \
+ meta l4proto { udp, tcp } th dport bootpc \
+ counter accept comment "DHCP rebinding/renewing"
+ }
chain forward-to-lan {
#jump forward-connectivity
counter accept
ruleset = ''
table inet filter {
chain input-lan {
- meta l4proto { udp, tcp } th dport domain counter accept comment "DNS"
- meta l4proto { udp, tcp } th dport bootps counter accept comment "DHCP"
tcp dport ssh counter accept comment "SSH"
udp dport 60000-61000 counter accept comment "Mosh"
tcp dport 5201 counter accept comment "iperf"