我想更改 SSLVPN(macOS 上的 FortiClient)推送的默认 DNS 服务器。我将使用 IP 地址通过 VPN 访问网络资源。显然,即使我有兴趣使用不同的 DNS 服务器,我也不希望路由表发生更改,以便通过 VPN 隧道正确路由到正确的目标/子网的流量。
注意,我发现了一个旧帖这似乎回答了这个问题,但我无法弄清楚在 macOS Catalina 上该怎么做。
当 VPN 已连接时,如果我scutil --dns
在 Mac 上的终端中运行,我会得到以下输出
解析器 #1 搜索域[0]:mycompanyFQDN.com 名称服务器[0] : 10.1.2.3 名称服务器[1] : 10.4.5.6 名称服务器[2]:192.168.1.1 标志:补充,请求 A 记录 到达:0x00000002(可到达) 订单:100000 解析器 #2 名称服务器[0] : 10.1.2.3 名称服务器[1] : 10.4.5.6 名称服务器[2]:192.168.1.1 flags :请求 A 记录 到达:0x00000002(可到达) 订单:200000
以及其他一些 ip6(选项:mdns)解析器
VPN 未连接时,如果我scutil --dns
在 Mac 上的终端中运行,我会得到以下输出
解析器 #1 名称服务器[0]:192.168.1.1 flags :请求 A 记录 到达:0x00020002(可到达,可直接到达的地址) 解析器 #2 域:本地 选项:mdns 超时:5 flags :请求 A 记录 到达:0x00000000(无法到达) 订单:300000
以及其他一些 ip6(选项:mdns)解析器
总而言之,我的问题是,每当 VPN 连接时,如何将 DNS 服务器更改为 192.168.1.1。我希望我可以通过 shell 脚本或类似方法自动执行此操作。
提前致谢。
编辑(2020/12/22):总结一下我按照我的评论尝试过的方法:打开我的 VPN 后,我通过运行 scutil 然后输入以下内容找到了主服务 ID列表在下一行。然后我在终端中尝试了以下命令(以 sudo 身份运行 scutil 后)
获取状态:/网络/服务/forticlientsslvpn/DNS d.添加服务器地址 * 192.168.1.1 192.168.1.2 设置状态:/网络/服务/forticlientsslvpn/DNS
但是,成功运行上述命令且没有任何错误后,当我运行 scutil --dns 时,我仍然看到相同的旧 DNS 服务器。即使在清除 DNS 缓存后也是如此。我原本希望看到 192.168.1.1 192.168.1.2,但我仍然看到 FortiClient VPN 推送的 DNS。