我有一个简单的家庭网络(10.1.1.0/24),其中几台 Windows 10 机器连接到无线路由器,其中一台正在运行 OpenVPN 服务器(比如 PC1)。
远程客户端可以 ping PC1(10.1.1.8),但无法 ping 通任何其他设备,即使 VPN 服务器和其他设备位于同一子网中。与这场景。我尝试将其添加10.1.1.0 mask 255.255.255.0 10.1.1.1
到路由表以及IPEnableRouter
在注册表中启用,但没有成功。
我对 VPN 技巧还不熟悉,所以感觉好像我遗漏了一些东西,大家有什么想法吗?(除了桥接)。
- 服务器.ovpn
port 1194
proto udp
dev tun
****ca/cert/key/dh/tls-auth omitted****
server 10.8.0.0 255.255.255.0
push "route 10.1.1.0 255.255.255.0"
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
- 客户端.ovpn
dev tun
proto udp
remote myddns.com 443
resolv-retry infinite
nobind
comp-lzo
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
verb 3
****ca/cert/key/tls-auth omitted****
- PC1的路由表
Interface List
21...00 ff a0 50 2d 1b ......TAP-Windows Adapter V9
7...ea 4e 06 6b 4f 39 ......Microsoft Wi-Fi Direct Virtual Adapter #13
58...e8 4e 06 6b 4f 39 ......Microsoft Wi-Fi Direct Virtual Adapter #14
14...e8 4e 06 6b 4f 39 ......Realtek RTL8192EU Wireless LAN 802.11n USB 2.0 Network Adapter
1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.1.1.1 10.1.1.8 45
10.1.1.0 255.255.255.0 On-link 10.1.1.8 301
10.1.1.8 255.255.255.255 On-link 10.1.1.8 301
10.1.1.255 255.255.255.255 On-link 10.1.1.8 301
10.8.0.0 255.255.255.0 10.8.0.2 10.8.0.1 25
10.8.0.0 255.255.255.252 On-link 10.8.0.1 281
10.8.0.1 255.255.255.255 On-link 10.8.0.1 281
10.8.0.3 255.255.255.255 On-link 10.8.0.1 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 10.8.0.1 281
224.0.0.0 240.0.0.0 On-link 10.1.1.8 301
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 10.8.0.1 281
255.255.255.255 255.255.255.255 On-link 10.1.1.8 301
===========================================================================
- 客户端的路由表
Interface List
2...f8 a9 63 e0 26 bc ......Realtek PCIe GbE Family Controller
20...00 ff d5 aa e2 9e ......TAP-Windows Adapter V9
10...1e 0e c4 42 55 73 ......Microsoft Wi-Fi Direct Virtual Adapter
4...2e 0e c4 42 55 73 ......Microsoft Wi-Fi Direct Virtual Adapter #2
7...ec 0e c4 42 55 73 ......Qualcomm Atheros AR956x Wireless Network Adapter
1...........................Software Loopback Interface 1
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.43.129 192.168.43.150 55
10.1.1.0 255.255.255.0 10.8.0.5 10.8.0.6 25
10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 25
10.8.0.4 255.255.255.252 On-link 10.8.0.6 281
10.8.0.6 255.255.255.255 On-link 10.8.0.6 281
10.8.0.7 255.255.255.255 On-link 10.8.0.6 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
192.168.43.0 255.255.255.0 On-link 192.168.43.150 311
192.168.43.150 255.255.255.255 On-link 192.168.43.150 311
192.168.43.255 255.255.255.255 On-link 192.168.43.150 311
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.43.150 311
224.0.0.0 240.0.0.0 On-link 10.8.0.6 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.43.150 311
255.255.255.255 255.255.255.255 On-link 10.8.0.6 281
===========================================================================
请帮点忙!!
答案1
如何发表文章社区.openvpn.net状态:
接下来,您必须在服务器端 LAN 网关上设置路由,以将 VPN 客户端子网 (10.8.0.0/24) 路由到 OpenVPN 服务器(这仅在以下情况下才有必要:OpenVPN 服务器和 LAN 网关是不同的机器)。
我相信这是解决方案,但不幸的是我无法测试它,因为我的 LAN 网关(无线路由器)没有启用 LAN 侧静态路由的功能。
我想我得买一个更好的路由器,最好是集成了 OpenVPN 的路由器。;)
答案2
您的问题是服务器配置缺少正确的 LAN 访问路由选项,这就是为什么我总是建议花时间阅读
- OpenVPN如何(约15分钟)
OpenVPN手册页(约45分钟)
openvpn-server.conf
# Pushed Routes # #--------------------------------------------------- push 'dhcp-option DNS 10.1.1.1' push 'dhcp-option WINS 10.1.1.1' client-to-client '1' # Each OS deals with parameters differently, so the 1 may need to be specified
10.1.1.1/24
您要访问的 VPN 背后的 DNS 和 DHCP 服务器在哪里
- 此外,
AES-256-CBC
这不是必需的,因为AES-128-CBC
目前无法破解,并且在未来几年内仍将如此......你所做的只是大大降低吞吐量而没有任何安全性提升。- 如果担心的话,更好的选择是改变
rekey
时间和大小值
- 如果担心的话,更好的选择是改变
一般信息:
许多人只是使用在线找到的通用配置,然而,最大的好处和最佳的安全性来自于调整配置。
-
# ##::[[--- OpenVPN Server Config ---]]::## #=========================================================== ##----- VPN Admin Server -----## #=========================================================== # Protocol # #----------------------------------------------------------- dev 'tun0' topology 'subnet' proto 'udp' port '61194' # Routes # #----------------------------------------------------------- server '10.32.2.0 255.255.255.248' ifconfig '10.32.2.1 255.255.255.248' # Client Config # #----------------------------------------------------------- ccd-exclusive '1' ifconfig-pool-persist '/etc/openvpn/clients/vpn/ipp.txt' client-config-dir '/etc/openvpn/clients/vpn' # Pushed Routes # #----------------------------------------------------------- push 'route 192.168.2.0 255.255.255.240' push 'dhcp-option DNS 192.168.2.1' push 'dhcp-option WINS 192.168.2.1' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220' push 'dhcp-option NTP 129.6.15.30' # Encryption # #----------------------------------------------------------- # Diffie-Hellmann: dh '/etc/ssl/openvpn/dh2048.pem' # PKCS12: pkcs12 '/etc/ssl/openvpn/vpn-server.p12' # SSL: cipher 'AES-128-CBC' auth 'SHA512' tls-crypt '/etc/ssl/openvpn/tls-crypt.psk' # TLS: tls-version-min '1.2' tls-cipher 'TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256:TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!SHA:!EXP:!PSK:!SRP:!DSS:!RC4:!kRSA' # Logging # #----------------------------------------------------------- log '/tmp/vpn-server.log' status '/tmp/vpn-server-status.log' verb '4' # Connection Options # #----------------------------------------------------------- keepalive '10 120' compress 'lz4' # Connection Reliability # #----------------------------------------------------------- client-to-client '1' persist-key '1' persist-tun '1' # Connection Speed # #----------------------------------------------------------- sndbuf '393216' rcvbuf '393216' fragment '0' mssfix '0' tun-mtu '48000' # Pushed Buffers # #----------------------------------------------------------- push 'sndbuf 393216' push 'rcvbuf 393216' # Permissions # #----------------------------------------------------------- user 'nobody' group 'nogroup'
答案3
也许您可以尝试以下 PowerShell(不要与命令提示符混淆)cmdlet:
New-NetNat -Name "VpnMasq" -InternalIPInterfaceAddressPrefix "10.8.0.0/24"
这显然会为指定源前缀的数据包启用 NAT(过载)。
它可能仅适用于 Windows 10 Pro/Enterprise,例如 Hyper-V,它主要服务于 Hyper-V。
如果没有帮助的话:
Remove-NetNat -Name "VpnMasq"
但在此之前,您应该确保可以通过隧道从服务器 ping 通(或者说到达)客户端。我不清楚它是如何net30
工作的(OpenVPN 的默认拓扑),而且subnet
拓扑可能更简单,更适合您的用例。因此,添加以下行:
topology subnet
在该server
行之前。那么从双方的 POV 来看,客户端 IP 应该相同。
请注意,使用拓扑时,客户端是否可以相互访问(但不能访问彼此的 LAN)取决于服务器是否允许在服务器配置中未使用subnet
隧道时将隧道中的数据包转发回隧道。client-to-client