среда, 8 мая 2019 г.

Совместная работа OpenConnect и OpenVPN в среде Windows

Для совместной работы  OpenConnect и OpenVPN нужно учитывать следующие особенности:

>openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'Ethernet 2' {500EBB39-0CC1-4CBB-A1AA-7DECD679C5D5}
'Ethernet 3' {879AEEC2-87B6-4F0B-BFC6-78046DC6A513}
'Ethernet 4' {D64B1550-D033-4810-8F13-03B18992A20C}
'Ethernet 5' {CA18A6B2-4FAF-4247-9A12-17080869463C}
'Ethernet 6' {361E1C54-5E8F-4450-AD13-6FCAF8E9100A}
'Ethernet 7' {D0C959D0-694C-4984-96A9-A6A8869052A8}

Для совместной работы OpenVPN c OpenConnect через gui совет наделать много tap, (по числу соединений), для OpenVPN с конца, указывая в конфигах:

вместо
;dev-node MyTap
конретную сеть, например:
dev-node 'Ethernet 7'

Для OpenConnect tap от 'Ethernet 2' и далее.



В момент установки OpenConnect клиент привязывается к конкретному  tap
это видно в логфайле (в данном случае неудачно):

2019-05-08 16:50:31 | 192c | Failed to open \\.\Global\{87A61E79-B01E-47EA-8A3B-900EEAE0C706}.tap
2019-05-08 16:50:31 | 192c | Error setting up the TUN device



>openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}
'Ethernet 4' {59C051EB-E5DF-4F3D-BBD0-1F37A9B49743}
'Ethernet 2' {86C5EC45-3029-4A92-9AFC-1B60BCF2091F}
'Ethernet 5' {3275574F-2039-45AB-AB52-3E656DA5A425}


Мы видим это  'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}

Для нормальной работы мы должны освободить
'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}
 от других соединений OpenVPN
 
Manual configuration of the TAP-Windows adapter 

Необходимо создать столько адаптеров TAP, сколько возможно разных соединений OpenVPN и OpenConnect (одновременных или нет)

Помним, что подсети должны быть разные, например:

10.8.0.X, 10.8.1.X и т.п. !!!


Добавляем адаптеры:

1. Посмотрим адаптеры TAP:
  openvpn --show-adapters

'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}
'Ethernet 2' {86C5EC45-3029-4A92-9AFC-1B60BCF2091F}

2. Добавим столько сколько нужно адаптеров TAP (от администратора):
"C:\Program Files\TAP-Windows\bin\addtap.bat"
"C:\Program Files\TAP-Windows\bin\addtap.bat"

Добавим столько сколько нужно:

>openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'Ethernet 3' {87A61E79-B01E-47EA-8A3B-900EEAE0C706}
'Ethernet 4' {59C051EB-E5DF-4F3D-BBD0-1F37A9B49743}
'Ethernet 2' {86C5EC45-3029-4A92-9AFC-1B60BCF2091F}
'Ethernet 5' {3275574F-2039-45AB-AB52-3E656DA5A425}


Для того что бы не было конфликта, в конфигурационных файлах соединений клиента следует выполнить привязку к конкретному имени адаптера (TAP-Win32 adapter name)

'Ethernet 3', пропускаем для OpenConnect

Пример изменений в конфигурационном файле клиента:


c:\Program Files\OpenVPN\config\client.ovpn


# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap
dev-node 'Ethernet 2'

Сохранить.

После запуска этого соединения в логе будет сообщение:


Wed May 08 16:30:19 2019 NETSH: C:\WINDOWS\system32\netsh.exe interface ip set address Ethernet 2 dhcp


Каждое соединение OpenVPN привязываем к своему адаптеру,
'Ethernet 3', пропускаем для OpenConnect


Под  windows OpenConnect лучше запускать бантником в планировщике, так как
gui не обеспечивает reconnect после перезагрузки сервера OpenConnect :

start.bat

:again
"c:\Program Files (x86)\OpenConnect-GUI\openconnect.exe" vpn.com -c client.p12 --key-password=password --reconnect-timeout 2
goto again



Комментариев нет:

Отправить комментарий