Mullvad: Unterschied zwischen den Versionen
Aus /dev/tal
Mat (Diskussion | Beiträge) K |
Mat (Diskussion | Beiträge) K |
||
| Zeile 19: | Zeile 19: | ||
| − | < | + | <syntaxhighlight lang="bash"> |
#!/usr/bin/env bash | #!/usr/bin/env bash | ||
| Zeile 31: | Zeile 31: | ||
if [[ "$CMD" == "start" ]]; then | if [[ "$CMD" == "start" ]]; then | ||
| + | # | ||
| + | # see: https://mullvad.net/en/help/split-tunneling-with-linux-advanced | ||
| + | # | ||
sudo nft -f - << EOF | sudo nft -f - << EOF | ||
define EXCLUDED_IPS = { | define EXCLUDED_IPS = { | ||
| Zeile 52: | Zeile 55: | ||
exit 1 | exit 1 | ||
fi | fi | ||
| − | </ | + | </syntaxhighlight> |
Aktuelle Version vom 29. Oktober 2025, 00:41 Uhr
Wer auf seinem Linux-Laptop den VPN Service von Mullvad verwendet und im /dev/tal Netzwerk ist, wird schnell feststellen, dass interne Services wie z.B. das Mete nicht erreichbar sind.
Um das zu gewährleisten müssen 2 Sachen unternommen werden.
1. Das "Local network sharing" muss aktiviert werden. (Muss es? Muss nochmal getestet werden)
Settings -> VPN settings -> Local network sharing -> On
2. Das Service Netzwerk muss (mit bestimmten marks) in die nftables eingefügt werden
Jemand hat dazu ein kleines Shell Script geschrieben.
Das Script dann mit "script.sh start" starten um die Ausnahme hinzuzufügen oder "script.sh stop" verwenden um die Ausnahme wieder zu entfernen.
#!/usr/bin/env bash if [[ $# -lt 1 ]]; then echo "Usage: $0 <start|stop>" exit 0 fi CMD="$1" if [[ "$CMD" == "start" ]]; then # # see: https://mullvad.net/en/help/split-tunneling-with-linux-advanced # sudo nft -f - << EOF define EXCLUDED_IPS = { 10.16.43.0/24 } table inet enableInDevtal { chain excludeOutgoing { type route hook output priority 0; policy accept; ip daddr \$EXCLUDED_IPS ct mark set 0x00000f41 meta mark set 0x6d6f6c65; } } EOF elif [[ "$CMD" == "stop" ]]; then sudo nft delete table inet enableInDevtal else echo "Error unknown command: $CMD" exit 1 fi