使用普通 OpenVPN 将本地子网双向连接到 VPS 服务器

使用普通 OpenVPN 将本地子网双向连接到 VPS 服务器

假设我们有一个本地子网192.168.1.0/24,需要通过使用 OpenVPN 创建的子网双向连接到任何 VPS(Amazon EC2、Linode、Vultr 等)上的机器10.8.0.0/24

部分工作已经完成。使用 TUN 连接 VPS 机器非常简单。我们还使用配置文件中的以下命令成功授予其对本地子网的访问权限:

route 192.168.1.0 255.255.255.0

现在它可以连接到该本地子网中的任何计算机。问题在于反向连接。本地计算机找不到任何通往 VPS 服务器的路由。

应将哪些配置添加到 VPS 机器或本地 OpenVPN 服务器192.168.1.3以允许从192.168.1.10到 的路由10.8.0.10?根据我们的实际配置,traceroute无法到达目的地。

以下是服务器上配置文件的概述

local 192.168.1.3
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
max-clients 1
route 192.168.1.0 255.255.255.0 192.168.1.1
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
explicit-exit-notify
[... certificates here ...]

这是客户端的配置:

client
dev tun
proto udp
remote [... our VPN's public address ...] 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
block-outside-dns
verb 3
route 192.168.1.0 255.255.255.0
[... certificates here ...]

答案1

这是在VPC 子网路由表。您必须添加一条10.8.0.0/24通过 OpenVPN EC2 实例的路由:

子网路由表

您还需要禁用源/目标检查对于实例,否则 AWS 将不允许 EC2 实例 IP 以外的任何其他 IP 的流量到它。

源/目标检查

然后你当然要打开实例安全组如果适用的话,其本地防火墙(例如iptables)允许流量10.8.0.0/24

希望有帮助:)

答案2

这是关于 IP 转发的......

运行 CentOS 7 的 VPS 服务器只需要进行以下设置:

echo 'net.ipv4.ip_forward=1' >> /etc/systctl.conf

然后重新启动。

相关内容