Это настройка моих клиентов:
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 подключается к серверу B через OpenVPN, чтобы соединить оба сайта друг с другом. Сервер 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
Конфигурация OpenVPN на сервере A (клиент 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
Конфигурация OpenVPN на сервере B (сервер 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
Пинги:
Брандмауэры на всех Windows-машинах были отключены во время тестов. Мой диагноз заключается в том, что VPN-туннель работает, но проблема либо в настройке OpenVPN, которая предотвращает маршрутизацию, либо в каких-то моих таблицах маршрутизации отключено.
Я почти уверен, что это та же конфигурация, что и в Windows 2003, где каждое устройство могло подключиться к любому другому устройству на обоих сайтах.
Пересылка IPv4 и маршрутизация LAN включены в разделе «Маршрутизация и удаленный доступ».
После большого чтения man-страницы я понял: мне не хватало iroute
в конфигурации сервера OpenVPN.
После добавления этих записей в конфиг все заработало:
server.ovpn
client-config-dir ccd
route 192.168.0.0 255.255.255.0 10.8.0.1
ccd \ client
iroute 192.168.2.0 255.255.255.0