]> Git — Sourcephile - julm/julm-nix.git/blob - hosts/blackberry/networking.nix
blackberry: nftables: input-lan: fix jumps
[julm/julm-nix.git] / hosts / blackberry / networking.nix
1 { pkgs, lib, config, ... }:
2 {
3 imports = [
4 ../../nixos/profiles/dnscrypt-proxy2.nix
5 ../../nixos/profiles/networking/ssh.nix
6 ../../nixos/profiles/networking/wifi.nix
7 #../../nixos/profiles/openvpn/calyx.nix
8 networking/nftables.nix
9 ];
10 install.substituteOnDestination = false;
11 #networking.domain = "sourcephile.fr";
12 networking.useDHCP = false;
13
14 services.tor = {
15 settings = {
16 HashedControlPassword = lib.readFile tor/HashedControlPassword.clear;
17 # https://metrics.torproject.org/rs.html#search/flag:exit%20country:be%20running:true
18 # https://nusenu.github.io/OrNetStats/w/relay/58B81035FC28AACA8F0E85E46C8EBAD7FCFA8404.html
19 MapAddress = [
20 "*.gcp.cloud.es.io *.gcp.cloud.es.io.58B81035FC28AACA8F0E85E46C8EBAD7FCFA8404.exit"
21 "*.redbee.live *.redbee.live.58B81035FC28AACA8F0E85E46C8EBAD7FCFA8404.exit"
22 "*.rtbf.be *.rtbf.be.58B81035FC28AACA8F0E85E46C8EBAD7FCFA8404.exit"
23 ];
24 StrictNodes = true;
25 };
26 };
27
28 networking.nftables.ruleset = lib.mkAfter ''
29 table inet filter {
30 chain input {
31 ip daddr 10.0.0.0/8 counter goto input-lan
32 ip daddr 172.16.0.0/12 counter goto input-lan
33 ip daddr 192.168.0.0/16 counter goto input-lan
34 ip daddr 224.0.0.0/3 counter goto input-lan
35 goto input-net
36 }
37 chain output {
38 ip daddr 10.0.0.0/8 counter goto output-lan
39 ip daddr 172.16.0.0/12 counter goto output-lan
40 ip daddr 192.168.0.0/16 counter goto output-lan
41 ip daddr 224.0.0.0/3 counter goto output-lan
42 jump output-net
43 log level warn prefix "output-net: " counter drop
44 }
45 }
46 '';
47
48 networking.hosts = {
49 #"80.67.180.129" = ["salons.sourcephile.fr"];
50 };
51
52 networking.interfaces = { };
53
54 networking.networkmanager = {
55 enable = true;
56 unmanaged = [
57 ];
58 };
59
60 systemd.services.sshd.serviceConfig.LoadCredentialEncrypted = [
61 "host.key:${ssh/host.key.cred}"
62 ];
63
64 programs.wireshark = {
65 enable = true;
66 package = pkgs.wireshark-qt;
67 };
68 }