Trên phiên bản OS X hiện tại của tôi (Sierra 10.12.6) & FortiClient 5.6.1, có vẻ như nếu ServerAddresses có nhiều hơn 2 địa chỉ, thì cuộc gọi "set" không tồn tại bất cứ điều gì (nếu bạn "nhận", sẽ không có gì cập nhật). Để khắc phục điều này, tôi quyết định chỉ giữ địa chỉ DNS FortiClient đầu tiên và hợp nhất nó với địa chỉ DNS công cộng của tôi (8.8.8.8).
Hơn nữa, tôi khuyên bạn nên tự động chạy tập lệnh bash trên kết nối FortiClient: điều này có thể được thực hiện bằng cách xuất tập lệnh cấu hình FortiClient sau đó nhập lại tập lệnh
Hướng dẫn đầy đủ dưới đây:
1 / Tạo tập lệnh bash sau và lưu nó ở đâu đó (trong trường hợp của tôi, nó đã vào ~/bashscripts/update-forticlient-dns.sh
) và đừng quên thay thế <FIRST IP ADDRESS FOR FORTICLIENT DNS>
bằng kết quả scutil --dns | grep "nameserver\[0\]"
trong khi kết nối FortiClient của bạn đã hết
#!/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 / Chạy FortiClient, sau đó vào Tùy chọn > Chung và nhấp vào nút Sao lưu sẽ xuất cấu hình FortiClient của bạn thành một tệp
3 / Trong tệp này, xác định vị trí và chỉnh sửa nút / forticlient_configuration / vpn / sslvpn / links / Connection [name = "CONNMENT CỦA BẠN"] / on_connect / script / script và gọi tập lệnh của bạn bên trong nó:
<on_connect>
<script>
<os>mac</os>
<script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
</script>
</on_connect>
4 / Quay trở lại bảng điều khiển FortiClient, nhấp vào khóa ở góc dưới bên trái, sau đó vào Tùy chọn > Chung và nhấp vào nút Khôi phục : xác định vị trí tệp cấu hình được cập nhật của bạn và đó là cấu hình DNS của bạn sẽ được cập nhật mỗi khi bạn kết nối với VPN.