script-security = 2;
tls-cipher = "TLS-DHE-RSA-WITH-AES-128-CBC-SHA";
tls-client = true;
- tun-ipv6 = true;
up-restart = true;
verb = 3;
};
services.netns.namespaces.${netns} = {
nftables = lib.mkBefore ''
include "${../networking/nftables.txt}"
+ table inet filter {
+ chain output-lan {
+ meta l4proto { udp, tcp } th dport domain counter accept comment "DNS"
+ log prefix "calyx: output-lan: " counter drop
+ }
+ chain output-net {
+ tcp dport { http, https } counter accept comment "HTTP"
+ log prefix "calyx: output-net: " counter drop
+ }
+ chain output {
+ ip daddr 10.0.0.0/8 counter goto output-lan
+ ip daddr 172.16.0.0/12 counter goto output-lan
+ ip daddr 192.168.0.0/16 counter goto output-lan
+ ip daddr 224.0.0.0/3 counter goto output-lan
+ jump output-net
+ log prefix "calyx: output: " counter drop
+ }
+ }
'';
};
}