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;