Как стать автором
Обновить

Как настроить OpenVPN на Debian 11. Часть 1

Время на прочтение11 мин
Количество просмотров28K
Всего голосов 15: ↑13 и ↓2+11
Комментарии18

Комментарии 18

Почему именно debian 11, это же самое с небольшими изменениями можно применить и в других дистрибутивах.

и без костылей easy-rsa

Почему в статье речь только про ipv4, где про ipv6?

... второй — для центра сертификации (Certificate Authority или CA);

Радостно потираю руки )

Поскольку мы уже установили Easy‑RSA на оба сервера в качестве предварительного условия и инициализировали CA

(Поваренная книга 1905г)

при генерации ключей/сертиф. клиента - можно обойтись одной командой:

./pkitool clientNN

Также, можно споткнуться на отсутствии файла openssl.cnf - надо скопировать один из входящих в комплект Easy-RSA (например openssl-1.1.0.cnf)

Ну и не забыть о сроке годности сертификата )

Это поможет клиентам перенастроить конфигурацию DNS, чтобы использовать VPN-туннель в качестве шлюза по умолчанию.

Не совсем так - это указание клиентской ОС использовать ДРУГИЕ DNS, которые возможно доступны через туннель.

Меня всегда интересовал и волновал момент что делать когда просрочится CA или сертификат сервера? Как красиво и безболезненно Х+ клиентам openvpn позволить продолжать подключаться?

Настроить нормальную парольную аутентификацию (например в MS AD) и возможность использовать всем один и тот же клиентский сертификат. При истечении сертификата просто раздать всем новый конфиг файл с новым сертификатом.

просто раздать всем новый конфиг файл с новым сертификатом.


это сродни тому что каждому клиенту выпустить сертификат и потом присылать новый конфиг с новыми сертификатами… проблема не решена, особенно если это «железка в поле», на которой этот новый файл просто так не подпихнуть… (причины разные, главное факт)
из мыслей — только каким то образом выпустить сертификаты на 100лет, не меньше, или разрешать подключаться с недействительными сертификатами, но обязательно проверить логин\пароль

Ответ один - писать скрипты для поставки свежих сертификатов очевидно. Безопасность это всегда в ущерб удобству

есть случаи когда не поможет…
например железка хранится на складе в зипе, или её выпускают безопасники в интернет в редких случаях когда нужна поддержка извне… и тут скрипты не помогут уже…

Можно сделать временный конфиг+ключ+сертиф. на 100 лет (условно), но чтоб подключался сначала не в боевую сеть, а в отдельную тестовую - в ней уже перенастраивать на нужную сеть+боевые конфиги/сертиф-ты.

У меня как раз в конце февраля закончились 10 лет на CA и серверный серт. Установил все заново с новыми сертами, сохранив предварительно ccd (единственное, что действительно необходимо). Все клиентские серты перевыпустил, никакого provisioning - пошаговая картинка для бестолковых, куда класть, и вперед в светлое будущее.

Я год назад настраивал VPN для семейного пользования. Понравилась простота и скорость развертывания и добавления новых пользователей.

Может быть, кому-то сейчас тоже пригодится.

https://github.com/angristan/openvpn-install

Из той же оперы
github.com/Nyr/openvpn-install
github.com/Nyr/wireguard-install

когда года 3 назад искал подобные установщики, скрипты от Nyr показали себя менее проблемными чем от angristan, хотя сейчас ситуация наверняка могла перемениться.

Нет слов. Миром правит копи&паста и лень.

  1. Работу с easy-rsa начинаем с make-cadir my_ca

  2. В Debian 11 перед apt install openvpn, сперва задайте вопрос, а с какой версией мы будем работать? Из репозиториев Debian (2.5.1), или может быть https://build.openvpn.net/debian/openvpn/release/2.5 (2.5.9) , а может 2.6?

  3. https://github.com/OpenVPN/openvpn/blob/master/sample/sample-config-files/server.conf

  4. Если используем tcp\443 тогда возможно стоит упомянуть о port-share

  5. не tls-auth, а tls-crypt

  6. не cipher, а data-ciphers, и в конфигурации по умолчанию параметр опускается, применяется значение по умолчанию, https://community.openvpn.net/openvpn/wiki/CipherNegotiation

  7. В Debian 11 нету sudo и ufw, и они явно излишни в руководстве про openvpn. Есть фаервол, nftables.

tls-auth и cipher тоже работают, проверено в 2.5 и 2.6 это сделано ради совместимости со старыми версиями openvpn. У меня конфиги от openvpn 2.2 подходят к openvpn 2.4-2.5 с минимальными изменениями.

Лучший способ настроить openvpn это начать с команды apt install wireguard и не мучаться.

Самое "смешное" в этой инструкции - это допущение, что тут уже установлен и настроен easy-rda ... На самом деле, если следовать этой инструкции, пошагово ( а она же рассчитана тех, кто не разбирается в теме? ) - то ничего не сможете настроить....

Зарегистрируйтесь на Хабре, чтобы оставить комментарий