我想使用 TUN 接口在客户端和服务器之间建立本地通信。
客户端程序将连接到接口 TUN1,我们假设它具有 IP 地址@IP1。
服务器程序将连接到接口 TUN2,我们假设它具有 IP 地址@IP2。
我们必须定义路由规则,以便目标地址为IP2(服务器的IP)的数据包将经过TUN2,而目标地址为IP1(客户端的IP)的数据包将经过TUN1接口。
规则示例:
route add -net 10.2.0.0/24 dev tun2 #we suppose that the server's IP is in the subnet 10.2.0.0/24
route add -net 10.1.0.0/24 dev tun1 #the client's IP is in the subnet 10.1.0.0/24
我需要知道从客户端发送到服务器的数据包将遍历的 iptables 链。
根据我的理解,我认为应该是这样的:
Client==TUN1--->(PREROUTING)--->Routing--->(FORWARD)--->Routing--->(POSTROUTING)--->TUN2==Server