假设我们有一个本地子网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
答案2
这是关于 IP 转发的......
运行 CentOS 7 的 VPS 服务器只需要进行以下设置:
echo 'net.ipv4.ip_forward=1' >> /etc/systctl.conf
然后重新启动。