W mojej bieżącej wersji OS X (Sierra 10.12.6) i FortiClient 5.6.1 wydaje się, że jeśli ServerAddresses ma więcej niż 2 adresy, wówczas połączenie „set” niczego nie utrzymuje (jeśli „dostaniesz”, nic nie będzie zaktualizowane). Aby obejść ten problem, postanowiłem zachować tylko pierwszy adres DNS FortiClient i połączyć go z moim publicznym adresem DNS (8.8.8.8).
Ponadto sugerowałbym automatyczne uruchomienie skryptu bash na FortiClient connect: można to zrobić, eksportując skrypt konfiguracyjny FortiClient, a następnie importując go ponownie
Pełny przewodnik poniżej:
1 / Utwórz następujący skrypt bash i zapisz go gdzieś (w moim przypadku był w ~/bashscripts/update-forticlient-dns.sh
) i nie zapomnij zastąpić <FIRST IP ADDRESS FOR FORTICLIENT DNS>
przez wynikiem, scutil --dns | grep "nameserver\[0\]"
gdy połączenie FortiClient jest aktywne
#!/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 / Uruchom FortiClient, a następnie przejdź do Preferencje > Ogólne i kliknij przycisk Kopia zapasowa , która wyeksportuje konfigurację FortiClient do pliku
3 / W tym pliku zlokalizuj i edytuj / forticlient_configuration / vpn / sslvpn / connection / connection [name = "YOUR CONNECTION"] / on_connect / script / script node i wywołaj w nim swój skrypt:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Wróć do konsoli FortiClient, kliknij blokadę w lewym dolnym rogu, a następnie przejdź do Preferencji > Ogólne i kliknij przycisk Przywróć : zlokalizuj zaktualizowany plik konfiguracyjny i to wszystko, konfiguracja DNS będzie aktualizowana na bieżąco za każdym razem, gdy połączyć się z VPN.