如何通过其他 Linux 机器将流量路由到 VPN

如何通过其他 Linux 机器将流量路由到 VPN

在这种情况下,我有两台机器 RasPi 和其他 Ubuntu 服务器。

我的 RasPi (192.168.100.105) 装有 Debian,并且已建立 UDP openvpn 连接。RasPi 连接到远程 VPN 连接 172.16.199.99。

我尝试使用以下路由来路由此流量:

ubuntu@server:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.100.254  0.0.0.0         UG    0      0        0 eth0
172.16.199.0    192.168.100.105  255.255.255.0   UG    0      0        0 eth0
192.168.100.0    *               255.255.255.0   U     0      0        0 eth0

但不幸的是它不起作用。在 RasPi (192.168.100.105) 上,我可以 ping 172.16.199.99 (在 openvpn 中重新远程 ip) 但是在 Ubuntu 服务器上添加此路由后:

mainframe@server:~$ sudo route add -net 172.16.199.0 netmask 255.255.255.0 gw 192.168.100.105 dev eth0

我是否应该在 RasPi 上安装任何其他包来运行网关?

如何运行路由并将 RasPi 作为此外部 vpn ip(172.16.199.99)的网关?

答案1

路由是双向交易。

目前,您仅指定了数据包从 PC 经过 Pi 并沿 VPN 到达目的地的路由。在 VPN 链路的另一端,您还需要指定数据包沿 VPN 经过 Pi 到达计算机的路由。

后者将是这样的路线:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   172.16.199.100  255.255.255.0   UG    0      0        0 tun0

IE,:

route add -net 192.168.100.0/24 gw 172.16.199.100

(或者 VPN 的 Pi 端的任何 IP 地址)。

您的网络拓扑如下所示(黑色部分):

在此处输入图片描述

VPN 连接呈蓝色。

您拥有或需要拥有的路线显示为绿色。您已经在 PC 上拥有了一条路线 - 它是对面的路线服务器您需要添加。

相关内容