如何在 macos 上使用 pfctl 将流量路由出非标准接口?

如何在 macos 上使用 pfctl 将流量路由出非标准接口?

我有一个 VPN,它设置了默认路由,这当然不同于我的网关。因此,我的所有流量都会通过隧道路由。

然而,我想免除某些应用程序通过隧道。

使用pfctl我可以执行以下操作:

pass out quick route-to (en0 192.168.0.1) group specialgrp flags any

将属于“specialgrp”(gid) 的应用程序的所有流量通过标准网关而不是隧道发送出去。

这是可行的,因为当我使用时,流量确实出现在标准网关上tcpdump- 但是源 IP 地址不正确,它被设置为 VPN 给我的地址(一个10.0.0.0/8地址)而不是我的本地 IP 地址,因此应用程序无法运行,因为源 IP 不正确。

我该如何正确设置传出数据包的源 IP,以便将它们设置为我的计算机的 IP 地址,而不是 VPN?

谢谢

相关内容