Я пытаюсь настроить самую базовую конфигурацию VPN с OpenVPN. Сервер - Windows Server 2003 SBS. Типичной клиентской системой является Windows 7 Professional.
Сервер имеет два физических сетевых адаптера (WAN и LAN). Сетевая карта WAN назначается маршрутизатором статическим IP-адресом WAN. Сервер управляет NAT и брандмауэром с помощью службы маршрутизации и удаленного доступа Windows.
Я следил за настройкой КАК и постарался сделать все как можно проще.
Клиент OpenVPN подключается к серверу OpenVPN и получает IP-адрес.
Проблема в том, что я не могу пинговать сервер от клиента после того, как соединение установлено (или выполнить любую другую связь в этом отношении).
Подозреваю, что может быть конфликт с RRAS.
Я хотел бы предоставить дополнительную информацию, но мне нужно руководство относительно того, какая информация необходима для решения этой проблемы. Следующее - отправная точка:
Конфигурация сервера OpenVPN:
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
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
max-clients 100
persist-key
persist-tun
status openvpn-status.log
verb 3
Типичная конфигурация клиента OpenVPN:
client
dev tun
proto tcp
remote XXX.XXX.XXX.XXX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
Вывод запуска клиента OpenVPN:
OpenVPN 2.2.1 Win32-MSVC++ [SSL] [LZO2] built on Jul 1 2011
NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
LZO compression initialized
Control Channel MTU parms [ L:1544 D:140 EF:40 EB:0 ET:0 EL:0 ]
Socket Buffers: R=[8192->8192] S=[8192->8192]
Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Local Options hash (VER=V4): '69109d17'
Expected Remote Options hash (VER=V4): 'c0103fa8'
Attempting to establish TCP connection with XXX.XXX.XXX.XXX:1194
TCP connection established with XXX.XXX.XXX.XXX:1194
TCPv4_CLIENT link local: [undef]
TCPv4_CLIENT link remote: XXX.XXX.XXX.XXX:1194
TLS: Initial packet from XXX.XXX.XXX.XXX:1194, sid=2c253639 f0d75bbe
VERIFY OK: depth=1, /C=XX/L=XXX/O=XXX/CN=XXX
VERIFY OK: nsCertType=SERVER
VERIFY OK: depth=0, /C=XX/L=XXX/O=XXX/CN=XXX
Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
[XXX] Peer Connection Initiated with XXX.XXX.XXX.XXX:1194
SENT CONTROL [XXX]: 'PUSH_REQUEST' (status=1)
PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
OPTIONS IMPORT: timers and/or timeouts modified
OPTIONS IMPORT: --ifconfig/up options modified
OPTIONS IMPORT: route options modified
ROUTE default_gateway=192.168.1.1
TAP-WIN32 device [OpenVPN] opened: \\.\Global\{F4CEEE7C-B82C-4EF3-8C1E-4EA31CCC237A}.tap
TAP-Win32 Driver Version 9.8
TAP-Win32 MTU=1500
Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.8.0.6/255.255.255.252 on interface {F4CEEE7C-B82C-4EF3-8C1E-4EA31CCC237A} [DHCP-serv: 10.8.0.5, lease-time: 31536000]
Successful ARP Flush on interface [16] {F4CEEE7C-B82C-4EF3-8C1E-4EA31CCC237A}
TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
C:\WINDOWS\system32\route.exe ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.5
ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
Route addition via IPAPI succeeded [adaptive]
Initialization Sequence Completed
Почему вмешивается RRAS? Судя по всему, OpenVPN прослушивает совершенно другой порт, чем тот, который использует RRAS. Более того, если VPN-клиент подключается, значит, он работает. Ваша проблема связана с маршрутизацией. RRAS имеет возможность включить маршрутизацию LAN и будет работать как маршрутизатор между клиентом VPN и внутренней сетью. Без этой опции, установленной в RRAS, клиент RRAS VPN будет иметь доступ только к серверу VPN. Я предполагаю, что проблема с OpenVPN такая же. Какой механизм использует OpenVPN для маршрутизации трафика между VPN-клиентом и внутренней сетью?
Кроме того, как сказал в своем ответе gravyface, зачем добавлять сложность OpenVPN (как на стороне сервера, так и на стороне клиента), когда RRAS - это прекрасно работающее решение VPN с преимуществом наличия встроенного клиента VPN на стороне клиента. На обоих концах нет необходимости устанавливать программное обеспечение, а также требуется минимальная настройка и настройка.
Как ни странно, я столкнулся с той же проблемой, какой ответ вы получите, если попытаетесь пропинговать клиента с сервера VPN?
Я обнаружил, что RRAS, похоже, решил игнорировать правила маршрутизации, поэтому отправляет пакеты на шлюз локальной сети по умолчанию, а не отключает VPN. Поскольку маршрутизатор настроен для маршрутизации трафика для этой подсети к серверу VPN, вы получаете петлю маршрутизации и истек срок действия TTL в Transit.
Если вы просто получаете тайм-аут запроса, попробуйте использовать traceroute (tracert x.x.x.x) и посмотрите, дает ли он вам информацию.
По какой причине вы не используете встроенные службы VPN на SBS 2003? Он включает PP2P и L2TP через IPSec (немного поработав).
Если у вас нет каких-либо требований к VPN, я настоятельно рекомендую вам использовать встроенное рабочее место в Интернете, чтобы разрешить удаленный доступ для ваших (предполагаемых) удаленных сотрудников, чтобы они могли безопасно подключать удаленный рабочий стол к своим компьютерам через веб-интерфейс (https://mail.example.com/remote).
Это встроено в Small Business Server и работает очень хорошо.
С OpenVPN им нужно будет установить клиент, где, как и в случае с решениями, которые я обсуждал, не нужно устанавливать ничего дополнительного.