Debian 12 установка настройка сервера OpenVPN 2.6.3

Установка ОпенВПН со скриптами администрирования ключей(изи-РСА):

apt install openvpn easy-rsa
cd /etc/openvpn/easy-rsa

Инициализация структуры путей к скрипту:

./easyrsa init-pki

Здесь можно настроить под себя конфигурацию(переменные) самой службы.

Далее создание ключей и сертификатов:

./easyrsa build-ca nopass
 ./easyrsa gen-req vpn-server nopass
./easyrsa sign-req server vpn-server
openvpn --genkey secret pki/ta.key

Пример рабочей конфигурация сервера OpenVPN 2.6:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/vpn-server.crt
key /etc/openvpn/easy-rsa/pki/private/vpn-server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
data-ciphers AES-256-GCM:AES-128-GCM:?CHACHA20-POLY1305:AES-256-CBC
topology subnet
server 10.77.0.0 255.255.0.0
ifconfig-pool-persist /etc/openvpn/server/ipp.txt
client-config-dir /etc/openvpn/server/ccd
# Указать шлюз клиентам
#push "redirect-gateway def1 bypass-dhcp"
#push "redirect-gateway ipv6 bypass-dhcp"
#push "route-gateway 192.168.10.1"
# Указывать ДСИ
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0

Создать файлы, прописать права доступа. Эти файлы для возможной записи статических адресов(ccd) и журнала авторегистраций(ipp) клиентов:

mkdir /etc/openvpn/server/ccd
chmod 755 /etc/openvpn/server/ccd
touch /etc/openvpn/server/ipp.txt
chmod 755 /etc/openvpn/server/ipp.txt

Разрешаем автоматический старт сервиса OpenVPN:

 systemctl enable openvpn-server@server

Запускаем сервер openvpn-server:

 systemctl start openvpn-server@server

Перезагрузить службу openvpn:

 systemctl restart openvpn-server@server

Основные команды администратора сервера OpenVPN для управления клиентами:

(перейти в папку со скриптом: cd /etc/openvpn/easy-rsa)

1. Создать сертификат клиенту:

./easyrsa.real build-client-full client1 nopass

Срок действия сертификата можно менять в переменной в файле vars

2. Отозвать сертификат клиента:

./easyrsa.real revoke client1

3. Сгенерировать список отзыва:

./easyrsa.real gen-crl

Выдача статических адресов клиенту вручную осуществляется через файл=название сертификата, помещенному в папку /etc/openvpn/server/ccd. Например, файл client1, содержимое файла:

ifconfig-push 10.77.77.100 255.255.255.0

 

Литература:

Самое главное: пример конфига сервера: https://github.com/OpenVPN/openvpn/blob/master/sample/sample-config-files/server.conf

  1. Почему отключена сжатие, шифрование GCM и нет SHA512: https://forums.openvpn.net/viewtopic.php?t=33671
  2. https://redos.red-soft.ru/base/redos-7_3/7_3-network/7_3-sett-vpn/7_3-openvpn/?nocache=1732823939909 (заброшка)
  3. https://wiki.debian.org/OpenVPN#Installation (заброшка)

OpenVPN 2.4.5 Easy-RSA FreeBSD 11.1

Памятка

  1. Используй в первую очередь руководства разработчиков, даже если они отпугивают своей скромностью оформления. Это сбережет тебе много времени.
  2. Используй за основу файлы конфигурации по-умолчанию из установленных пакетов, благо они идут с пакетами в комплекте. Даже, если придется потратить время на осознание их назначений — «Лучше пару часов потерять, потом за пять минут долететь».

Установка OpenVPN на FreeBSD

Читать далее «OpenVPN 2.4.5 Easy-RSA FreeBSD 11.1»

Пересборка ядра без GENERIC

Если после установки системы, как у меня, у вас каталог /usr/src/ пуст, тогда придется воспользоваться исходными файлами с официального сайта.

1. Устанавливаем пакет subversion

# cd /usr/ports/devel/subversion
# make install clean

теперь доступна команда svn, используется для извлечения чистой копии исходных кодов(с официльного сайта(репозитория) в локальный каталог(вашей машины). Для просмотра репозиториев через браузер используйте http://svnweb.FreeBSD.org/.

Предупреждение:
Если локальный каталог уже существует, но не был создан с помощью svn, переименуйте его или удалите перед загрузкой. Загрузка в существующий не-svn каталог может вызвать конфликты между существующими файлами и получаемыми из репозитория.

2. Заливаем к себе файлы с репозитория

# rm -rf /usr/src 
# svn checkout https://svn0.us-west.FreeBSD.org/base/releng/11.1/ /usr/src

, где первой строкой чистим папку, если в ней что-то еще есть, согласно предупреждению
svn0.us-west.FreeBSD.org   — репозиторий
base        — раздел с основными системными файлами FreeBSD
releng      — ветка с исправлениями(bug-fix и security patches для соответствующего RELEAZE)
11.1  — (номер моего релиза)копирую содержимое этого каталога в
/usr/src/    — приемный каталог

Дополнительная информация, которая привела к накоплению вышеизложенной выжимки: Читать далее «Пересборка ядра без GENERIC»