7 with (import networking/names-and-numbers.nix);
11 networking/ethernet.nix
14 networking/nftables.nix
15 ../../nixos/profiles/dnscrypt-proxy2.nix
16 ../../nixos/profiles/printing.nix
17 ../../nixos/profiles/networking/ssh.nix
19 install.substituteOnDestination = false;
20 networking.domain = "sp";
21 networking.useDHCP = false;
23 boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
24 networking.nftables.ruleset = lib.mkAfter ''
27 meta l4proto { udp, tcp } th dport domain counter accept comment "DNS"
28 meta l4proto { udp, tcp } th dport bootps counter accept comment "DHCP"
31 # net.netfilter.nf_conntrack_udp_timeout_stream is only 2min
32 # whereas a renew is ~1h after the initial connection.
33 meta skuid ${config.users.users."systemd-network".name} \
34 meta l4proto { udp, tcp } th sport bootps \
35 meta l4proto { udp, tcp } th dport bootpc \
36 counter accept comment "DHCP rebinding/renewing"
38 chain forward-to-lan {
39 #jump forward-connectivity
42 chain forward-to-net {
43 #jump forward-connectivity
46 chain forward-from-net {
47 ct state established accept
48 ct state related accept
49 log level warn prefix "forward-from-net: " counter drop
52 log level warn prefix "forward: " counter drop
57 networking.networkmanager.enable = true;
71 # WARNING: settings.listen_addresses are not merged...
72 # hence there all defined here.
73 services.dnscrypt-proxy2.settings.listen_addresses = [
82 services.openssh.settings.X11Forwarding = true;
84 services.vnstat.enable = true;
86 systemd.services.sshd.serviceConfig.LoadCredentialEncrypted = [
87 "host.key:${ssh/host.key.cred}"
90 programs.wireshark = {
92 package = pkgs.wireshark-cli;