summaryrefslogtreecommitdiff
path: root/fix_work_dns.sh
diff options
context:
space:
mode:
Diffstat (limited to 'fix_work_dns.sh')
-rwxr-xr-xfix_work_dns.sh31
1 files changed, 0 insertions, 31 deletions
diff --git a/fix_work_dns.sh b/fix_work_dns.sh
deleted file mode 100755
index 73a125a..0000000
--- a/fix_work_dns.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-
-interface="$1"
-event="$2"
-
-logger="/usr/bin/logger -s -t fix_work_vpn"
-
-$logger "Received $event for $interface"
-
-case $interface in
- tun0) case $event in
- up) $logger "Setting dnsovertls false"
- resolvectl dnsovertls $interface false;
- openconnet_pid=$(pgrep -f openconnect)
- $logger "Setting openconnect PID $openconnet_pid to run outside VPN"
- mullvad split-tunnel add $openconnet_pid;
- dns_servers=$(resolvectl dns tun0 | cut -d: -f2- | sed 's/^ *//;s/ /, /')
- $logger "Found DNS endpoints $dns_servers and setting exemptions in nftables"
- nft -f - <<< "define RESOLVER_ADDRS = {$dns_servers}
-table inet excludeTraffic {
- chain excludeDns {
- type filter hook output priority -10; policy accept;
- ip daddr \$RESOLVER_ADDRS udp dport 53 ct mark set 0x00000f41 meta mark set 0x6d6f6c65;
- ip daddr \$RESOLVER_ADDRS tcp dport 53 ct mark set 0x00000f41 meta mark set 0x6d6f6c65;
- }
-}"
- ;;
- down) $logger "Removing nftables exemptions for DNS entries";
- nft delete table inet excludeTraffic;;
- esac;;
-esac