FortiClient SSL-VPN双网卡场景下的流量控制与优先级配置问询
FortiClient SSL-VPN双网卡场景下的流量控制与优先级配置问询
Hey there! 刚好折腾过一模一样的场景,给你梳理几个落地可行的办法,一步步来就能实现“一张网卡走VPN、另一张保留公网正常访问”的需求:
一、先调整系统网卡的优先级(Windows/macOS通用思路)
核心是让你想保留公网的网卡(比如无线)拥有更高的系统优先级,这样默认流量都会优先走它,VPN只接管特定的内网流量:
- Windows操作:打开「控制面板」→「网络和共享中心」→「更改适配器设置」,按下Alt键调出顶部菜单,选「高级」→「高级设置」,在「适配器和绑定」标签里把公网网卡拖到最上方,确定保存即可。
- macOS操作:打开「系统设置」→「网络」,点击左下角齿轮图标选「设置服务顺序」,把公网网卡移到列表最顶端,重启生效。
二、FortiClient里开启拆分隧道+Split DNS
这是最关键的一步,直接让VPN只处理工作相关的流量,不干扰公网网卡:
- 打开FortiClient的VPN配置界面,找到**拆分隧道(Split Tunnel)**选项,选择「手动指定VPN访问的地址/域名」,把你工作需要访问的内网IP段、内网域名都加进去——这样只有访问这些目标的流量才会走VPN,其他全走公网网卡。
- 然后找**Split DNS(拆分DNS)**选项,开启它!这样只有访问内网域名时才会用VPN推送的DNS,公网域名完全用你本地网卡的DNS,彻底避免VPN篡改公网解析。
- 顺带检查「网关设置」,别勾选「自动获取默认网关」,防止VPN强制把所有流量都引走。
三、手动调整路由表(进阶补漏)
如果拆分隧道没完全生效,或者你需要更精准的流量控制,就手动改路由表:
- 先连上VPN,打开管理员权限的命令提示符(Windows)或终端(macOS),输入
route print(Windows)或netstat -rn(macOS)查看当前路由表。 - 找到VPN对应的默认路由(一般是
0.0.0.0/0,下一跳是VPN虚拟网卡的网关),把它删掉:Windows用route delete 0.0.0.0 mask 0.0.0.0 [VPN网关IP],macOS用sudo route delete default [VPN网关IP]。 - 再手动添加只针对内网IP段的路由:Windows用
route add [内网IP段] mask [子网掩码] [VPN网关IP] metric 1,macOS用sudo route add [内网IP段] [VPN网关IP]——这样就强制只有访问内网的流量走VPN,其他全走公网。
小提醒
- 不同版本的FortiClient界面可能有点差异,但拆分隧道、Split DNS这些核心功能肯定都有,耐心找一下就行。
- 每次重启VPN后,手动添加的路由可能会重置,你可以把路由命令做成批处理/脚本,连上VPN后双击运行就搞定了。
备注:内容来源于stack exchange,提问作者alberdo dellagiacoma




