OpenVPN客户端访问更多局域网设备配置求助
我目前遇到了OpenVPN的配置问题,想请大家帮忙看看:我的OpenVPN Windows服务器(内网IP是192.168.15.56)现在只能让客户端连接到服务器本身,虽然已经彻底关闭了防火墙,而且ISP路由器也已经配置了允许所有IP通过VPN端口(1194)进行远程连接,但客户端就是没法访问局域网里的其他设备,比如192.168.15.169,或者整个192.168.15.0/24网段。
下面是我当前的配置文件:
client.ovpn
client dev tun proto udp remote <dns> 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client.crt key client.key disable-dco mssfix 1420 comp-lzo verb 4
server.ovpn
port 1194 proto udp dev tun server 10.20.30.0 255.255.255.0 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" route 192.168.15.0 255.255.255.0 push "route 192.168.15.169 255.255.255.255" push "route 192.168.15.56 255.255.255.255" push "route 192.168.15.0 255.255.255.0" ca ca.crt cert server.crt key server.key dh dh.pem ifconfig-pool-persist ipp.txt
问题分析与配置调整建议
我梳理了下你的配置,发现几个关键的调整点,应该能解决客户端访问局域网的问题:
开启Windows服务器的IP转发功能
Windows默认没有开启IP转发,这是VPN客户端能通过服务器访问局域网的核心前提。操作步骤如下:- 按下Win+R输入
regedit打开注册表编辑器 - 定位到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters - 找到
IPEnableRouter键(没有的话就新建一个DWORD(32位)值),将其值改为1 - 重启服务器或者执行管理员命令
net stop tcpip && net start tcpip重启Tcpip服务
- 按下Win+R输入
简化重复的路由配置
你的server.ovpn里有重复的路由推送条目,建议精简:# 删掉这两条重复的单IP路由 # push "route 192.168.15.169 255.255.255.255" # push "route 192.168.15.56 255.255.255.255" # 保留这一条即可覆盖整个192.168.15.0/24网段 push "route 192.168.15.0 255.255.255.0"另外服务器端的
route 192.168.15.0 255.255.255.0也可以删掉,因为服务器本身就在这个网段,OpenVPN会自动识别。配置局域网路由器的静态路由
确保局域网内的目标设备(比如192.168.15.169)网关指向你的ISP路由器,同时在路由器上添加一条静态路由:将10.20.30.0/24(你的VPN客户端网段)的流量转发到OpenVPN服务器的IP(192.168.15.56),这样目标设备才能把返回数据包发回给VPN客户端。验证客户端路由表(可选)
客户端连接VPN后,在命令行执行route print(Windows)或ip route(Linux/macOS),检查是否存在192.168.15.0/24的路由指向VPN虚拟网卡。如果路由没生效,可以在client.ovpn里手动添加:route 192.168.15.0 255.255.255.0
测试步骤
调整完配置后,按以下流程测试:
- 重启OpenVPN服务器服务
- 客户端重新连接VPN
- 在客户端执行
ping 192.168.15.169,能通就说明配置生效;如果不通,可以抓包排查数据包的收发情况。
备注:内容来源于stack exchange,提问作者OCEANBLUE

