Назад | Перейти на главную страницу

Проксирование OpenVPN UDP через Nginx?

Я использую модуль потока Nginx для обратного прокси OpenVPN через UDP. Обратное проксирование другого протокола, такого как DNS, работает, но когда я пытаюсь реверсировать прокси UDP, я получаю сообщения от OpenVPN:

Sun Sep  4 14:45:32 2016 us=371479 MULTI: multi_create_instance called
Sun Sep  4 14:45:32 2016 us=371587 127.0.0.1:54025 Re-using SSL/TLS context
Sun Sep  4 14:45:32 2016 us=371618 127.0.0.1:54025 LZO compression initialized
Sun Sep  4 14:45:32 2016 us=371692 127.0.0.1:54025 Control Channel MTU parms [ L:1542 D:1212 EF:38 EB:0 ET:0 EL:3 ]
Sun Sep  4 14:45:32 2016 us=371723 127.0.0.1:54025 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:143 ET:0 EL:3 AF:3/1 ]
Sun Sep  4 14:45:32 2016 us=371764 127.0.0.1:54025 Local Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
Sun Sep  4 14:45:32 2016 us=371790 127.0.0.1:54025 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
Sun Sep  4 14:45:32 2016 us=371823 127.0.0.1:54025 Local Options hash (VER=V4): '530fdded'
Sun Sep  4 14:45:32 2016 us=371855 127.0.0.1:54025 Expected Remote Options hash (VER=V4): '41690919'
RSun Sep  4 14:45:32 2016 us=371915 127.0.0.1:54025 TLS: Initial packet from [AF_INET]127.0.0.1:54025, sid=a7c6a891 9390f563
WWWW

и клиент никогда не завершает соединение. Как правильно сделать этот прокси?

По сути, поддержка Free Nginx Edition для UDP-проксирования ограничена DNS-запросами и никогда не предполагает, что сеанс UDP может быть длиннее пары миллисекунд.

Вы должны придерживаться TCP для проксирования OpenVPN или установить Коммерческая версия NGINX Plus, который фактически поддерживает файл состояния для UDP-соединений позволяя им быть постоянными (как одна из функций, недоступных в противном случае).

P.S. Другой вариант - подождать несколько месяцев, пока они не включат полный функционал в версию с открытым исходным кодом. Судя по их фичам релиза, он должен быть доступен бесплатно в начале 2017 года ...