En mi versión actual de OS X (Sierra 10.12.6) y FortiClient 5.6.1 parece que si ServerAddresses tiene más de 2 direcciones, entonces la llamada "set" no persiste nada (si "obtiene", nada habrá sido actualizado). Para solucionar esto, decidí mantener solo la primera dirección DNS de FortiClient y fusionarla con mi dirección DNS pública (8.8.8.8).
Además, sugeriría ejecutar automáticamente el script bash en FortiClient connect: esto se puede hacer exportando el script de configuración de FortiClient y luego volviendo a importarlo
Guía completa a continuación:
1 / Cree el siguiente script de bash y guárdelo en algún lugar (en mi caso, estaba en ~/bashscripts/update-forticlient-dns.sh
) y no olvide reemplazarlo <FIRST IP ADDRESS FOR FORTICLIENT DNS>
por el resultado de scutil --dns | grep "nameserver\[0\]"
mientras su conexión FortiClient está activa
#!/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 / Ejecute FortiClient, luego vaya a Preferencias > General y haga clic en el botón Copia de seguridad que exportará su configuración de FortiClient a un archivo
3 / En este archivo, localice y edite el / forticlient_configuration / vpn / sslvpn / connections / connection [name = "YOUR CONNECTION"] / on_connect / script / script y llame a su script dentro de él:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Vuelva a la consola de FortiClient, haga clic en el candado en la esquina inferior izquierda, luego vaya a Preferencias > General y haga clic en el botón Restaurar : ubique su archivo de configuración actualizado y listo , su configuración de DNS se actualizará sobre la marcha cada vez que conectarse a la VPN.