我正在尝试设置一个 Windows OpenVPN 服务器来共享该服务器后面的网络。
在 Linux 上我已经这样做过几次了。但是在 Windows 服务器上,我却没能成功。
我使用以下注册表项设置了路由并启用了 IP 转发:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value Name: IPEnableRouter
Set the following registry value:
Value Name: IPEnableRouter
Value type: REG_DWORD
Value Data: 1
之后重新启动了服务器。
从客户端,我可以通过 LAN IP 和 OpenVPN IP 访问服务器。但是,我无法访问 LAN 子网中的任何设备。
当我对 LAN 子网中的 IP(不是服务器的 IP)运行 tracert 时,我可以看到它通过 OpenVPN 服务器进行路由。
Tracing route to 192.168.30.9 over a maximum of 30 hops
1 8 ms 7 ms 7 ms SBS [10.9.0.1]
2 * * * Request timed out.
3 * * * Request timed out.
OpenVPN 服务器配置:
port 1195
proto udp
dev tun
dev-node OVPN
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key"
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
topology subnet
server 10.9.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
我在这里遗漏了什么?
push "route 10.9.0.0 255.255.255.0"
push "route 192.168.30.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
答案1
您必须在 VPN 服务器 LAN 默认网关上添加静态路由,以将 VPN 数据包路由到 VPN 服务器,或者使用服务器上的 NAT 将 VPN 数据包伪装到服务器 LAN 子网。