пятница, 26 апреля 2019 г.

pfSense, OpenVPN server. Linux, Windows, MikroTik клиенты. Часть 1(Настройка сервера)

Тема данного поста - максимально простой способ поднять OpenVPN тунель.
Причина появления поста - незначительные и вроде бы очевидные нюансы, без которых работа системы невозможна.

Предыстория:

Pfsense - основанная на FreeBSD операционная система для маршрутизаторов (шлюзов, роутеров). Я ей пользуюсь достаточно давно, но до сих пор в плане OpenVPN настраивал ее в качестве клиента. И вот возникла потребность настроить сервер, причем под клиенты на разных OS.

Дано:

Свежеустановленная система pfSense 2.4.4, на борту 2 интерфейса WAN и LAN, на WAN белый IP.

Процес:

  1. Подключаемся к веб-интерфейсу pfSense
  2. Идем во вкладку система -> сертификаты -> Центры сертификации и создаем самоподписанный корневой сертификат(центр сертификации):
  3. Переключаемся на вкладку сертификаты, на данный момент в ней только сертификат веб интерфейса:
  4. Жмем кнопку "+добавить/подписать" и генерируем сертификат OpenVPN сервера:
    Меняем только подчеркнутые позиции
    Меняем тип сертификата на серверный
  5. Жмем кнопку "+добавить/подписать" и генерируем сертификат OpenVPN клиента:(поздняя правка не делаем этот пункт!!!)
    Меняем только подчеркнутые поля
  6. Наблюдаем в сертификатах примерно такую картину:
  7. Переходим к настройкам OpenVPN сервера:
    Запустим мастер
  8. Так как стоит задача получения быстрого результата воспользуемся мастером. Работа мастера в картинках:
    Жмем далее
    Снова далее
    Далее
    Длинная страница проверки и правки настроек здесь можно изменить порт
    Задаем внутреннюю сеть туннеля и сжатие
    Настройки клиента по умолчанию не трогал, при желании можно потом настроить
    Для того чтоб создать разрешающие правила в файрволе ставим птички
    Завершаем работу мастера
  9. По умолчанию OpenVPN использует протокол UDP, который не дает подтверждения получения пакета, чтобы иметь возможность проверить правила файрвола и доступность порта, временно заменяем в настройках OpenVPN сервера и правилах файрвола UDP на TCP:
  10. С помощью сервиса, например 2ip.ua, проверяем доступность порта 1194(по умолчанию, если не меняли) на нашем внешнем белом IP. Я несколько раз сталкивался с тем что хотя в договоре белый IP был, провайдер не осуществлял сразу его проброс на адрес конечного устройства и приходилось решать вопрос с техподдержкой.
  11. Сервер доступен извне - возвращаем UDP на место.
  12. Настройка завершена

5 комментариев:

  1. Про настройку клиента для windows напишите плииз

    ОтветитьУдалить
  2. Постараюсь на следующей неделе написать. Вкратце необходимо создать пользователя(Система, менеджер пользователей), под него ключ, при создании, потом идете VPN->OpenVPN/Client Export выбираете опции по необходимости и внизу страницы качаете на выбор или файл настроек или инсталяху с настройками под вашу систему. Сейчас очень занят но постараюсь не затягивать.

    ОтветитьУдалить
  3. Как увидеть сеть клиента pfsense из сети сервера?

    ОтветитьУдалить
  4. лучший способ воспользоваться вкладкой "специфические настройки клиента" настроек openvpn сервера, кроме того в настройках самого сервера есть опции какие сети должны быть видны клиенту. Убедиться, что на файрволе создались нужные правила, если нет создать руками.

    ОтветитьУдалить