Routing
使用 Windows Server 2012 R2 的 OpenVPN 站點到站點 VPN 隧道
這是我的客戶設置:
Site A Site B 192.168.2.0/24 192.168.0.0/24 Client A1 --|-- Server A Server B --|-- Client B1 | (192.168.2.2) (192.168.0.2) | | (10.8.0.6) (10.8.0.1) | Client A2 --|-- Router A ---- Internet ---- Router B --|-- Client B2 | (192.168.2.1) (192.168.0.254) | Client A3 --| |-- Client B3
伺服器 A 通過 OpenVPN 連接到伺服器 B,以將兩個站點相互連接。伺服器 A 和伺服器 B 是 Windows Server 2003,現在重新安裝了 Windows 2012 R2。現在,用於 2003 配置的路由不再起作用。
我在伺服器上添加了以下路由:
Server A: 192.168.0.0 mask 255.255.255.0 gw 10.8.0.1 Server B: 192.168.2.0 mask 255.255.255.0 gw 10.8.0.6
通過 DHCP 推送到客戶端的路由:
Clients A: 192.168.0.0 mask 255.255.255.0 gw 192.168.2.2 default gw 192.168.2.1 Clients B: 192.168.2.0 mask 255.255.255.0 gw 192.168.0.2 default gw 192.168.0.254
伺服器 A 上的 OpenVPN 配置(OpenVPN 客戶端)
client dev tun proto udp remote dyndns.example.com 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert server-sb.crt key server-sb.key remote-cert-tls server comp-lzo verb 3
伺服器 B 上的 OpenVPN 配置(OpenVPN 伺服器)
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt client-to-client keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3
平:
- 伺服器 A -> 10.8.0.1 正常
- 伺服器 B -> 10.8.0.6 正常
- 伺服器 A -> 192.168.2.2 失敗
- 伺服器 B -> 192.168.0.2 失敗
- 任何設備 A -> 任何設備 B 失敗
- 任何設備 B -> 任何設備 A 失敗
在測試期間,所有 Windows 機器上的防火牆都被禁用。我的診斷是 VPN 隧道有效,但問題可能是 OpenVPN 中的設置阻止了路由,或者我的路由表中的某些內容已關閉。
我很確定這與 Windows 2003 的配置相同,每個設備都可以訪問兩個站點上的所有其他設備。
路由和遠端訪問中啟用了 IPv4 轉發和 LAN 路由。
經過大量手冊頁閱讀後,我明白了:我
iroute
在 OpenVPN 伺服器配置中缺少指令。將這些條目添加到配置後,它起作用了:
伺服器.ovpn
client-config-dir ccd route 192.168.0.0 255.255.255.0 10.8.0.1
ccd\客戶端
iroute 192.168.2.0 255.255.255.0