Skip to content

Commit 97f2ac5

Browse files
committed
feat(router): ipv6 only + jool / nat64
1 parent 434781c commit 97f2ac5

3 files changed

Lines changed: 329 additions & 209 deletions

File tree

configurations/nixos/x86_64-linux/alnitak.nix

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,27 +43,27 @@
4343
args.auth-key = "file:/var/run/agenix/ts-google-9k";
4444
};
4545

46-
services.jae.router = {
47-
enable = true;
48-
useNextDns = true;
49-
nextDnsEnvFile = "/var/run/agenix/nextdns";
50-
restrictedMacs = [
51-
"5c:e0:c5:8a:24:6a"
52-
"b4:18:d1:ab:4e:5a"
53-
];
54-
upstreamDnsServers = [
55-
"2a07:a8c1::"
56-
"45.90.30.0"
57-
"2a07:a8c0::"
58-
"45.90.28.0"
59-
];
60-
externalInterface = "enp1s0";
61-
internalInterface = "enp2s0";
62-
internalInterfaceIP = "192.168.20.1";
63-
dnsMasqSettings.no-resolv = true;
64-
dnsMasqSettings.bogus-priv = true;
65-
dnsMasqSettings.strict-order = true;
66-
};
46+
# services.jae.router = {
47+
# enable = true;
48+
# useNextDns = true;
49+
# nextDnsEnvFile = "/var/run/agenix/nextdns";
50+
# restrictedMacs = [
51+
# "5c:e0:c5:8a:24:6a"
52+
# "b4:18:d1:ab:4e:5a"
53+
# ];
54+
# upstreamDnsServers = [
55+
# "2a07:a8c1::"
56+
# "45.90.30.0"
57+
# "2a07:a8c0::"
58+
# "45.90.28.0"
59+
# ];
60+
# externalInterface = "enp1s0";
61+
# internalInterface = "enp2s0";
62+
# internalInterfaceIP = "192.168.20.1";
63+
# dnsMasqSettings.no-resolv = true;
64+
# dnsMasqSettings.bogus-priv = true;
65+
# dnsMasqSettings.strict-order = true;
66+
# };
6767

6868
age.secrets = {
6969
ts-google-9k = {

configurations/nixos/x86_64-linux/sagittarius.nix

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -82,31 +82,21 @@
8282

8383
services.jae.router = {
8484
enable = true;
85-
useNextDns = false;
86-
nextDnsEnvFile = "/var/run/agenix/nextdns";
87-
restrictedMacs = [
88-
"5c:e0:c5:8a:24:6a"
89-
"b4:18:d1:ab:4e:5a"
90-
];
91-
upstreamDnsServers = [
92-
"2a07:a8c1::"
93-
"45.90.30.0"
94-
"2a07:a8c0::"
95-
"45.90.28.0"
96-
];
9785
externalInterface = "enp1s0f0";
9886
internalInterface = "enp2s0";
99-
internalInterfaceIP = "192.168.20.1";
100-
dnsMasqSettings.no-resolv = true;
101-
dnsMasqSettings.bogus-priv = true;
102-
dnsMasqSettings.strict-order = true;
103-
};
104-
105-
services.prometheus.exporters = {
106-
dnsmasq = {
107-
enable = true;
108-
dnsmasqListenAddress = "localhost:5342";
109-
};
87+
enableNat64 = true; # Enable NAT64 for IPv4 access from IPv6-only clients
88+
89+
# Optional: Add DNS filtering with Blocky
90+
# blockySettings = {
91+
# blocking = {
92+
# denylists = {
93+
# ads = ["https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"];
94+
# };
95+
# clientGroupsBlock = {
96+
# default = ["ads"];
97+
# };
98+
# };
99+
# };
110100
};
111101

112102
services.vmagent = {
@@ -121,10 +111,10 @@
121111
in {
122112
scrape_configs = [
123113
{
124-
job_name = "dnsmasq";
114+
job_name = "blocky";
125115
scrape_interval = "10s";
126116
static_configs = [
127-
{targets = ["127.0.0.1:9153"];}
117+
{targets = ["127.0.0.1:4000"];}
128118
];
129119
inherit relabel_configs;
130120
}
@@ -145,9 +135,6 @@
145135
file = ../../../secrets/ts-google-9k.age;
146136
owner = "1337";
147137
};
148-
nextdns = {
149-
file = ../../../secrets/nextdns.age;
150-
};
151138
};
152139

153140
users.users.${adminUser.name}.shell = lib.mkForce pkgs.bashInteractive;

0 commit comments

Comments
 (0)