In meiner aktuellen OS X-Version (Sierra 10.12.6) und FortiClient 5.6.1 scheint es so, als ob der "set" -Aufruf nichts fortsetzt, wenn ServerAddresses mehr als 2 Adressen hat (wenn Sie "erhalten"), ist nichts gewesen Aktualisiert). Um dies zu umgehen, habe ich beschlossen, nur die erste FortiClient-DNS-Adresse beizubehalten und mit meiner öffentlichen DNS-Adresse (8.8.8.8) zusammenzuführen.
Darüber hinaus würde ich vorschlagen, das Bash-Skript automatisch auf FortiClient Connect auszuführen: Dies kann durch Exportieren des FortiClient-Konfigurationsskripts und anschließendes erneutes Importieren erfolgen
Vollständige Anleitung unten:
1 / Erstellen Sie das folgende Bash-Skript und speichern Sie es irgendwo (in meinem Fall war es in ~/bashscripts/update-forticlient-dns.sh
). Vergessen Sie nicht, das <FIRST IP ADDRESS FOR FORTICLIENT DNS>
durch das Ergebnis zu ersetzen, scutil --dns | grep "nameserver\[0\]"
während Ihre FortiClient-Verbindung besteht
#!/bin/bash
ROOT_PASSWORD=$1
# Uncomment this if you want to log everything happening during this script execution into a dedicated log file
# exec >/tmp/forticlient-log 2>&1
# Ensuring we did a sudo correctly once
# Because we cannot both use a pipe and an stdin redirection at the same time
# (or at least, my bash knowledge is not wide enough for that :-))
echo "$ROOT_PASSWORD" | sudo -S ls /dev/null
sudo scutil <<EOF
get State:/Network/Service/forticlientsslvpn/DNS
d.add ServerAddresses 8.8.8.8 <FIRST IP ADDRESS FOR FORTICLIENT DNS>
set State:/Network/Service/forticlientsslvpn/DNS
quit
EOF
2 / Führen Sie FortiClient aus, gehen Sie zu Einstellungen > Allgemein und klicken Sie auf die Schaltfläche Sichern , um Ihre FortiClient-Konfiguration in eine Datei zu exportieren
3 / Suchen und bearbeiten Sie in dieser Datei den Knoten / forticlient_configuration / vpn / sslvpn / connection / connection [name = "IHRE VERBINDUNG"] / on_connect / script / script und rufen Sie Ihr Skript darin auf:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Kehren Sie zur FortiClient-Konsole zurück, klicken Sie auf das Schloss in der unteren linken Ecke, gehen Sie zu Einstellungen > Allgemein und klicken Sie auf die Schaltfläche Wiederherstellen : Suchen Sie Ihre aktualisierte Konfigurationsdatei, und fertig , Ihre DNS-Konfiguration wird jedes Mal im laufenden Betrieb aktualisiert Stellen Sie eine Verbindung zum VPN her.