在两台 Linux 机器上使用 OpenVPN(不在网关上)通过互联网连接网络

在两台 Linux 机器上使用 OpenVPN(不在网关上)通过互联网连接网络

我正在运行 OpenVPN,连接两个网络上的两台 Linux 机器。这些机器不是网络的网关。还有单独的 DD-WRT 路由器充当两个网络上的网关。

我想使用此设置使两个网络在互联网上完全可见且可用。我需要在每个盒子/路由器上设置哪些类型的路由才能实现这一点?我需要使用任何类型的 iptables 规则吗(我想我不会使用)。

另外,还有几点:

  • 两个盒子之间的链路工作正常。它们能够互相 ping 并传输流量。
  • 我不希望任何正常的互联网流量通过 VPN — 只希望流量能够流向特定的站点。
  • 网络具有单独的 IP 范围,并且两个网络掩码均为 255.255.255.0

我陷入了困境,我尝试在我的 Linux 机器和路由器上添加各种静态路由,但似乎无法在 VPN 链接之外获得任何可 ping 的结果。任何帮助都将不胜感激!


更新

我已经在 VPN 盒和 DD-WRT 路由器上添加了路由,但无法 ping 通机器外部的任何内容。我可以从 VPN 客户端 ping 通 172.16.130.2,反之亦然,我可以从 VPN 服务器 ping 通 172.16.120.2,但仍然没有其他结果。

我还在两个 VPN 盒的内核中启用了 IP 转发。

添加当前路线:

VPN 服务器:未发布的静态 IP eth0 / 172.16.130.2 eth1 / 10.9.8.1 tun0

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.9.8.2        *               255.255.255.255 UH    0      0        0 tun0
24.249.108.192  *               255.255.255.224 U     0      0        0 eth0
172.16.130.0    172.16.130.1    255.255.255.0   UG    0      0        0 eth1
172.16.130.0    *               255.255.255.0   U     0      0        0 eth1
172.16.120.0    10.9.8.2        255.255.255.0   UG    0      0        0 tun0
default         wsip-24-249-108 0.0.0.0         UG    0      0        0 eth0

VPN 客户端:172.16.120.2 eth0 / 10.9.8.2 tun0

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.9.8.1        *               255.255.255.255 UH    0      0        0 tun0
172.16.130.0    10.9.8.1        255.255.255.0   UG    0      0        0 tun0
172.16.120.0    *               255.255.255.0   U     0      0        0 eth0
default         munch-router    0.0.0.0         UG    0      0        0 eth0

答案1

您需要为指向 Linux VPN“网关”的对端 VPN 段添加指向 DD-WRT 盒的路由。您还需要通过到其他站点的 tap/tun 接口在这些 VPN 网关上创建到其他站点的路由。

DD_WRT_SITE_A# route add SITEB/24 gw SITEA_VPN_GATEWAY_IP
VPN_GATEWAY_SITE_A# route add SITEB/24 gw tap_ip_of_SITE_B_VPN_GATEWAY

DD_WRT_SITE_B# route add SITEA/24 gw SITEB_VPN_GATEWAY_IP
VPN_GATEWAY_SITE_B# route add SITEA/24 gw tap_ip_of_SITE_A_VPN_GATEWAY

除非您已经这样做了,否则您还需要在新的 Linux VPN 网关盒上启用路由:

http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/

# sysctl -w net.ipv4.ip_forward=1

相关内容