OpenVPN:如何在客户端网络端访问特定的IP?

OpenVPN:如何在客户端网络端访问特定的IP?

我有以下星座:LOCAL-PC <---> VPN-SERVER <---> VPN-CLIENT <---> TARGET

我想从“LOCAL-PC”到达“TARGET”。我做了以下操作:

a)在“LOCAL-PC”上:我添加了一条路由“route add TARGET_IP MASK 255.255.255.255 VPN_CLIENT_IP

b) 在 VPN_CLIENT 上激活“IPEnableRouter”

我现在假设当我从“LOCAL_PC”ping“TARGET”时,以下跳转已完成。LOCAL_PC > VPN-SERVER > VPN_CLIENT > TARGET

不幸的是,它不起作用。为了试用,我刚刚为特定服务添加了“VPN_CLIENT”到“TARGET”的端口转发。这很好用。所以我认为通过 TUN-Device 进行的 IP 路由有些问题。

IP-Routing 本身在“VPN-CLIENT”上运行,因为我用两个本地 IP 接口测试它没有问题。

我缺少什么来阻止我的 vpn-client 上的 TUN 接口转发到目标 ip?

提前感谢 mts

备注:VPN-Client 是一台 Windows 机器,TARGET 有 VPN_CLIENT 作为默认路由。

编辑:

正如 Tom 指出的那样,这是一个 openVPN 路由问题。改变我的问题 因为我不知道如何解决我的问题:

我要这个:

       LOCAL-PC -> VPN-SERVER
                   -> VPN_CLIENT1 (10.11.0.6) -> TARGET (10.0.200.1)
                   -> VPN_CLIENT2 (10.11.0.8) -> TARGET (10.0.200.1)
                   -> VPN_CLIENT3 (10.11.0.14) -> TARGET (10.0.200.1)

我的想法是在“LOCAL-PC”上设置一条路线,如下所示:

路由添加 10.0.200.1 掩码 255.255.255.255 10.11.0.8

所以我可以直接连接到 CLIENT 2 的 TARGET。如果我需要连接到另一个 TARGET,我只需改变我的路线即可。

当我的 VPN 服务器必须决定我想要访问哪个目标时,我不知道该如何解决这个问题。有没有什么办法可以解决这个问题?

编辑2:

由于每次尝试都失败了,我放弃了,转而使用 TAP 隧道。我仍然不知道如何正确设置路由?我不想桥接所有接口(TAP <-> LAN)。我只想要一条路由,这样我就可以到达这个特定的目标。

答案1

要在 TUN vpn 的情况下将客户端用作网关,您需要iroute在相应的 ccd 文件中进行配置,以便 vpn 服务器进程知道应该将流量转发到哪个客户端,因为不涉及/“虚拟化”以太网帧。

对于以客户端为目的地的 L3 流量,它知道是因为iroute为客户端的 VPN IP 有一个隐式配置,这就是为什么您不能在 VPN 客户端上配置任意静态 IP,而是使用推送给您的 IP。

虽然 TUN VPN 客户端上的路由似乎被添加为具有下一跳/网关的间接路由,但这是假的。没有任何“额外”的东西,如 TAP VPN 案例中的以太网帧头可以承载下一跳。(当然也不涉及 ARP。)

相关内容