One OpenVPN Server listening on GW-Group Interface



  • Доброго времени суток, товарищи!
    Подскажите, на данный момент реально ли реализовать схему, при которой один OpenVPN-сервер принимает подключения с интерфейса GW-Group, либо же необходимо поднимать отдельный сервер на каждый WAN?
    Если же реально, то какая логика работы?:

    1. Принимаем подключения от WAN из GW-Group с наивысшим приоритетом? А если все WAN'ы в Tier 1?
    2. Принимаем подключения с любого WAN.

    На данный момент сервер:
    2.4.3-RELEASE-p1 (amd64)
    built on Thu May 10 15:02:52 CDT 2018
    FreeBSD 11.1-RELEASE-p10
    В настройках OpenVPN сервера в качестве интерфейса указан GW-Group, в котором все WAN в Tier 1, но подключения принимаются лишь на WAN1. При попытке подключения на WAN 2 в логах сервера вижу лишь:
    Jan 27 13:47:20 openvpn 45984 MANAGEMENT: Client disconnected
    Jan 27 13:47:20 openvpn 45984 MANAGEMENT: CMD 'quit'
    Jan 27 13:47:19 openvpn 45984 MANAGEMENT: CMD 'status 2'
    Jan 27 13:47:19 openvpn 45984 MANAGEMENT: Client connected from /var/etc/openvpn/server2.sock

    P.S. Заранее благодарен всем ответившим :)



  • @danethz
    Доброго дня )
    а у клиентов , что в настройках написано ? какой адрес сервера ?
    в командной строке pf наберите команду
    sockstat -4 | grep openvpn
    и увидите , на каких (ом) интерфейсе слушается порт 1194



  • Добрый.

    Настраивайте единственный впн-сервер, но слушать он будет localhost (127.0.0.1). В книге всё есть https://www.netgate.com/docs/pfsense/routing/multi-wan-openvpn.html

    Зы. Книгу - в закладки. Сперва ищите ответы там.

    Зы2. И обновите пф. Чтобы потом не вылезло чего, когда актуальная версия уж слишком изменится.



  • Благодарю, господа :)
    Буду штудировать мануал.
    Раз столь быстрый ответ, значит тема уже поднималась и решалась.
    Значит найду, тему можно закрывать.



  • Делаюсь результатом:
    Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017 рекомендует на версиях 2.4+ делать так:
    Protocol - TCP IPv4 and IPv6 on all interfaces (multihome)
    Interface - any.
    Как я понял, при данной настройки параметра "Protocol" параметр "Interface" игнорируется.
    В конфигурационном файле OpenVPN дописывается параметр "--multihome", который позволяет принимать подключения на любых WAN-интерфейсах.
    Так же рекомендуют в настройке клиента добавлять параметр "--float", который позволит не разрывать сессию, если удалённая сторона изменить IP. Это ещё не тестил.
    Остаётся лишь открыть желаемые порты на WAN-интерфейсах.
    P.S. Ещё раз всем спасибо за содействие :)



  • Добрый
    @danethz
    А зачем вам TCP для впн ? Там UDP самое место. С TCP - двойной оверхед же.
    И интерфейс locahost попробуйте. Зачем заставлять впн слушать все интерфейсы.

    По ссылке выше ж :

    OpenVPN Configuration
    First, get OpenVPN working as desired on the primary WAN interface. Once it is properly functioning, make a backup just in case.

    Bind to Localhost and Setup Port Forwards
    The OpenVPN configuration needs to be adjusted so it can be reached from either WAN. The simplest way to do this is by changing the Interface on the VPN connection to be Localhost, and then adding a port forward on each WAN to redirect the OpenVPN port to Localhost (127.0.0.1).

    For example: If there are two WANs and the OpenVPN server is running on port 1194, set the Interface to Localhost, then add two port forwards:
    WAN1 - UDP, Source *, Destination WAN1 Address port 1194, redirect target 127.0.0.1 port 1194
    WAN2 - UDP, Source *, Destination WAN2 Address port 1194, redirect target 127.0.0.1 port 1194

    Т.е.:

    1. Сперва проверяем на WAN-е ,что впн вообще поднимается
    2. Настраиваем впн на localhost.

    Всё.



  • @danethz Здр
    Как-то все сложно
    Вертер все верно написал ( как в документации PF ) , по-моему , самое красивое решение , переадресация на localhost интерфейс ( 1 порт , мультиван)
    TCP медленно работать будет



  • Мне необходима гарантированная доставка жертвуя скоростью, поэтому TCP.
    По поводу решения, это ж не моя задумка. Это рекомендации от тех же людей, которые писали книгу, на которую и Вы ссылаетесь, только не 2014-го года, а 2017-го :)
    Ощутимо ли нагружает ли OpenVPN систему, слушая, к примеру, LAN-интерфейс, на котором не открыт OpenVPN-порт?



  • Ну так при UDP пакет просто перезапросится, если чё не так.
    Настройте проверку канала хоть каждые 5 сек.

    Ощутимо ли нагружает ли OpenVPN систему, слушая, к примеру, LAN-интерфейс, на котором не открыт OpenVPN-порт?

    Давайте не будем так глубоко? Кто вам это скажет? У каждого сугубо личная ситуация. Разверните, "поживите" со своими настройками с неделю и увидите сами. Надо мониторинг? Так тот же заббикс прикрутите.



  • @werter said in One OpenVPN Server listening on GW-Group Interface:

    Ну так при UDP пакет просто перезапросится, если чё не так.

    К сожалению, в случае с 1С сервером, в такой ситуации возможны косяки в базе - создаются записи с одинаковыми id. Переход на TCP значительно уменьшил количество таких случаев.

    Ещё раз спасибо :) если будут проблемы в работе, воспользуюсь Вашим вариантом.



  • К сожалению, в случае с 1С сервером, в такой ситуации возможны косяки в базе

    Настройте терминальный сервер. Можно и не на Win https://renbuar.blogspot.com/



  • @danethz said in One OpenVPN Server listening on GW-Group Interface:

    К сожалению, в случае с 1С сервером, в такой ситуации возможны косяки в базе - создаются записи с одинаковыми id.

    Вы лично с таким сталкивались?
    У меня часть пользователей - TCP, часть - UDP. Дублирования id не происходит.

    @konstanti said in One OpenVPN Server listening on GW-Group Interface:

    TCP медленно работать будет

    @werter said in One OpenVPN Server listening on GW-Group Interface:

    Там UDP самое место.

    Вынужден использовать TCP для ряда пользователей\площадок. Как ни странно, никакой ощутимой разницы в работе\производительности не заметно. Передача файлов по SMB\просмотр камер видеонаблюдения никакого дискомфорта не вызывают, не говоря уже о RDP.

    @danethz said in One OpenVPN Server listening on GW-Group Interface:

    Так же рекомендуют в настройке клиента добавлять параметр "--float

    ЕМНИП, пакет Client Export Utility добавляет эту директиву клиенту автоматически, так же, как и сам pfSense при создании OVPN сервера.