我试图概念化网络如何在使用TUN接口的
Linux VPN下工作.
我目前最好的猜测如下(请纠正我):
>建立与远程客户端/服务器的连接.
>创建并启动了TUN界面
>更新路由表以将默认网关设置为TUN接口
但是,发往远程客户端/服务器的数据包最终是否会进入TUN接口并形成一个循环? VPN系统如何解决这个问题?我理解的差距是什么?
解决方法
你是正确的,如果你通过隧道到达的目的地与隧道建立所需的路由重叠等,那么对于纯粹基于目的地的路由这是一个问题….
我通常看到这样做的方式,并在各种路由器上自己完成,就是使用策略路由:
>充当VPN端点的路由器通过其ISP链路保持其默认路由指向Internet>它还有一个策略路由,其中包含基于源的规则,说明来自其后面的子网的流量,无论其目的地是什么,都应该通过隧道发送.