Sulla mia attuale versione di OS X (Sierra 10.12.6) e FortiClient 5.6.1 sembra che ServerAddresses abbia più di 2 indirizzi, quindi la chiamata "set" non persiste nulla (se "ottieni", nulla sarà stato aggiornato). Per ovviare a questo, ho deciso di mantenere solo il primo indirizzo DNS FortiClient e di unirlo con il mio indirizzo DNS pubblico (8.8.8.8).
Inoltre, suggerirei di eseguire automaticamente lo script bash su FortiClient connect: questo può essere fatto esportando lo script di configurazione di FortiClient e reimportandolo
Guida completa di seguito:
1 / Crea il seguente script bash e memorizzalo da qualche parte (nel mio caso, era in ~/bashscripts/update-forticlient-dns.sh
) e non dimenticare di sostituirlo <FIRST IP ADDRESS FOR FORTICLIENT DNS>
con il risultato di scutil --dns | grep "nameserver\[0\]"
mentre la tua connessione FortiClient è attiva
#!/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 / Esegui FortiClient, quindi vai in Preferenze > Generali e fai clic sul pulsante Backup che esporterà la tua configurazione FortiClient in un file
3 / In questo file, individua e modifica il nodo / forticlient_configuration / vpn / sslvpn / connections / connection [name = "YOUR CONNECTION"] / on_connect / script / script e chiama il tuo script al suo interno:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Torna alla console di FortiClient, fai clic sul lucchetto nell'angolo in basso a sinistra, quindi vai su Preferenze > Generali e fai clic sul pulsante Ripristina : individua il file di configurazione aggiornato e il gioco è fatto, la tua configurazione DNS verrà aggiornata al volo ogni volta che connettersi alla VPN.