Networking vpn是否能够通过绑定到另一个网络接口的套接字拦截所有流量
像Cisco any connect这样的VPN通常通过自己的网络接口路由所有流量Networking vpn是否能够通过绑定到另一个网络接口的套接字拦截所有流量,networking,network-programming,vpn,tunnel,Networking,Network Programming,Vpn,Tunnel,像Cisco any connect这样的VPN通常通过自己的网络接口路由所有流量 这样的VPN是否仍然能够路由所有流量,即使将一个套接字(在我的例子中是客户端套接字)从一个应用程序绑定到另一个网络接口。创建VPN的方法有很多,但您可以将大多数VPN视为具有三个主要组件 隧道接口—与真实网络接口一起列出的虚拟网络接口(在linux上,您应该在ip link show中看到)。该接口实现了一个协议,该协议抽象了VPN客户端和服务器之间的所有链接,使它们看起来像是在一个更简单的网络上 路由规则-告诉
这样的VPN是否仍然能够路由所有流量,即使将一个套接字(在我的例子中是客户端套接字)从一个应用程序绑定到另一个网络接口。创建VPN的方法有很多,但您可以将大多数VPN视为具有三个主要组件
ip link show
中看到)。该接口实现了一个协议,该协议抽象了VPN客户端和服务器之间的所有链接,使它们看起来像是在一个更简单的网络上因此,为了回答您的问题,您仍然可以访问其他网络接口。只要您可以绑定到它(第2层API调用)或侦听它(第3层路由规则),那么您就可以以一种有用的方式访问它。我建议在VPN建立后查看您的路由表,以便更好地了解情况。我的假设是,如果您在
eth0
上有internet(和VPN)连接,在eth1
上有本地LAN,您应该能够在不受VPN干扰的情况下与本地节点通信,例如,使用ping-I eth1
。这对我来说是有意义的,但我希望看到一些真正的答案…不太确定,但Cisco AnyConnect VPN定期监控路由表,并在检测到更改后立即将其更改为所需的方式,以确保所有流量通过其自己的接口路由。不幸的是,我没有必要的环境来测试它。我只是希望将我的客户端套接字绑定到特定的网络接口可以避免这种情况。