【发布时间】:2014-01-04 03:29:16
【问题描述】:
Linux 允许执行以下代码将套接字绑定到某个特定的网络接口。因此,通过此套接字发送的数据将始终通过原始接口进行引导。
setsockopt(socket, SOL_SOCKET, SO_BINDTODEVICE, name, strlen(name))
据我了解,此功能用于 VPN 客户端。套接字连接到远程服务器并绑定到网络接口。这样,来自 VPN 客户端的流量就不会被环回到 VPN 客户端。
是否有 OS X 相当于这样做?要么
将套接字绑定到某个特定接口
将 VPN 客户端中的套接字标记为不被环回。
顺便说一句。我发现了类似的问题,但我不明白答案: Writing an OS X kernel extension to implement Linux's SO_BINDTODEVICE socket option
更新 1
我发现一些 VPN 客户端使用 TUN/TAP 设备来防止环回问题。 http://backreference.org/2010/03/26/tuntap-interface-tutorial/
但是,我并不是说所有 OS X VPN 都使用它。
【问题讨论】: