В моей текущей версии OS X (Sierra 10.12.6) и FortiClient 5.6.1 кажется, что если ServerAddresses имеет более 2 адресов, то вызов «set» ничего не сохраняется (если вы «получаете», ничего не будет обновлено). Чтобы обойти это, я решил оставить только первый DNS-адрес FortiClient и объединить его с моим общедоступным DNS-адресом (8.8.8.8).
Более того, я бы предложил автоматически запускать скрипт bash на FortiClient connect: это можно сделать, экспортировав скрипт конфигурации FortiClient, а затем повторно импортировав его.
Полное руководство ниже:
1 / Создайте следующий скрипт bash и сохраните его где-нибудь (в моем случае это было в ~/bashscripts/update-forticlient-dns.sh
) и не забудьте заменить <FIRST IP ADDRESS FOR FORTICLIENT DNS>
его результатом, scutil --dns | grep "nameserver\[0\]"
пока ваше соединение FortiClient установлено
#!/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 / Запустите FortiClient, затем перейдите в « Настройки» > « Основные» и нажмите кнопку « Резервное копирование» , чтобы экспортировать конфигурацию FortiClient в файл.
3 / В этом файле найдите и отредактируйте узел / forticlient_configuration / vpn / sslvpn / connections / connection [name = "YOUR CONNECTION"] / on_connect / script / script и вызовите в нем свой скрипт:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Вернитесь в консоль FortiClient, нажмите на замок в левом нижнем углу, затем перейдите в « Настройки» > « Общие» и нажмите кнопку « Восстановить» : найдите обновленный файл конфигурации, и все, ваша DNS-конфигурация будет обновляться на лету каждый раз, когда вы подключиться к VPN.