OpenVPN сервер с высокой пропускной способностью в Docker-контейнере

CyberSec RuTOR

Кибербезопасность
Команда форума
Модератор
Сообщения
998
Реакции
1.429
В данной статье я опишу процесс установки OpenVPN сервера на VDS/VPS под управлением Debian с конфигом, увеличивающим пропускную способность VPN.

Подключаемся к нашему VDS по SSH командой:


Код:
ssh root@ip_адрес_сервера

Устанавливаем Docker по инструкции с официального сайта ( )

Подробнее прочитать про Docker можно в другой статье -

Теперь создаем конфиг OpenVPN командой


Код:
nano openvpn.conf

В открывшийся файл вставляем следующие строки:

Код:
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
cipher AES-256-GCM
auth SHA512
tls-version-min 1.3
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
auth-nocache
auth-retry none
reneg-sec 0
keepalive 10 60
sndbuf-size 1048576
rcvbuf-size 1048576
push "sndbuf 1048576"
push "rcvbuf 1048576"

Краткое описание настроек настроек в конфигурационном файле:

dev tun: Здесь задается используемое туннельное устройство. tun - это устройство уровня 3, которое обычно используется для VPN.

proto udp: Здесь задается протокол, который будет использоваться для VPN-туннеля. UDP быстрее, чем TCP.

sndbuf 0 и rcvbuf 0: Эти параметры устанавливают неограниченный размер буфера. Это позволяет операционной системе автоматически регулировать размер буфера в зависимости от доступных ресурсов, что может помочь оптимизировать пропускную способность.

remote SERVER_IP 1194: Здесь задается IP-адрес сервера OpenVPN и используемый порт.

resolv-retry infinite: Это указывает OpenVPN на бесконечное количество повторных попыток, если первая попытка соединения не удалась.

nobind: Указывает OpenVPN не привязываться к определенному IP-адресу или порту.

persist-key и persist-tun: Эти параметры указывают OpenVPN сохранять ключ и устройство туннеля при разрывах и перезагрузках соединения.

verb 3: Этот параметр устанавливает уровень сложности вывода логов. Более высокий уровень подробности может помочь при устранении неполадок.

cipher AES-256-GCM: Устанавливает шифр, который будет использоваться для шифрования.

auth SHA512: Задает алгоритм хэширования для аутентификации. SHA-512 - это надежный алгоритм хэширования, обеспечивающий хорошую безопасность.

tls-version-min 1.3: Устанавливает минимальную версию TLS для использования. TLS 1.3 - это минимальная рекомендуемая версия для обеспечения безопасности.

tls-cipher: Задает список шифров, которые могут быть использованы для шифрования TLS. Этот список включает в себя выбор сильных шифров, которые могут помочь оптимизировать пропускную способность.

remote-cert-tls server: Указывает OpenVPN проверять сертификат сервера во время рукопожатия TLS.

auth-nocache: Указывает OpenVPN не кэшировать учетные данные аутентификации.

auth-retry none: Указывает OpenVPN не повторять аутентификацию в случае неудачи.

reneg-sec 0: Это отключает повторное согласование ключа сессии TLS, что может помочь оптимизировать пропускную способность.

keepalive 10 60: Устанавливает таймер keepalive для отправки ping каждые 10 секунд и отключения, если ответ не получен через 60 секунд.

sndbuf-size и rcvbuf-size - это параметры в конфигурационном файле OpenVPN, которые определяют размер буферов отправки и получения для соединения OpenVPN соответственно.


Сохраняем файл и вводим команду в терминале для установки Docker-контейнера с OpenVPN:


Код:
docker run -it --restart unless-stopped --cap-add=NET_ADMIN -d -v ~/openvpn.conf:/etc/openvpn/openvpn.conf -p 1194:1194/udp -p 80:8080/tcp -e HOST_ADDR=$(curl -s https://api.ipify.org) --name dockovpn alekslitvinenk/openvpn

После этого открываем браузер и вводим в адресную строку

Код:
http://ip_адрес_сервера:80/

После этого скачается конфиг для подключения клиентских устройств к вашему серверу (скачивание срабатывает только 1 раз!)

После этого можно подключаться к созданному OpenVPN серверу.
 
Последнее редактирование:
Доброго времени суток ,подскажите как понять , на наш VDS/VPS ?как мне сделать Vds или vps?
 
Доброго времени суток ,подскажите как понять , на наш VDS/VPS ?как мне сделать Vds или vps?
VPS - Virtual Private Server, т.е. вам выделен виртуальный частный сервер, это удаленный виртуальный сервер, с которым вы можете взаимодействовать
 
Очень подробно все, спасибо!
 
Обновленный конфиг с криптографией эллиптических кривых:

Код:
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
cipher AES-256-GCM
auth SHA512
tls-version-min 1.3
tls-cipher
TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
auth-nocache
auth-retry none
reneg-sec 0
keepalive 10 60
sndbuf-size 1048576
rcvbuf-size 1048576
push "sndbuf 1048576"
push "rcvbuf 1048576"
 
Обновленный конфиг с криптографией эллиптических кривых:

Код:
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
cipher AES-256-GCM
auth SHA512
tls-version-min 1.3
tls-cipher
TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
auth-nocache
auth-retry none
reneg-sec 0
keepalive 10 60
sndbuf-size 1048576
rcvbuf-size 1048576
push "sndbuf 1048576"
push "rcvbuf 1048576"
Подскажите, эта статья еще актуальна? Если актуальна, тогда где брать обновленные конфиги?
 
Пользовалась ! Все отлично DRUUUG
Рабочая схема все кратко и развернуто )
 

Похожие темы

В данной статье я хотел бы описать и сравнить 2 самых популярных VPN-протокола - OpenVPN и Wireguard Начнем с OpenVPN: OpenVPN - это протокол VPN с открытым исходным кодом, который широко используется для создания безопасного выхода в интернет. Это универсальный протокол, совместимый с...
Ответы
13
Просмотры
  • Закрыта
Итак, давайте для начала определимся для чего нужен VPN? Например, вы хотите скрыть от провайдера факт использования Tor или же хотите попасть анонимно на какой-нибудь сайт, но на нём блочат ноды Tor'а. Или же просто хотите усилить свою безопасность. Существует немало сервисов предоставляющих...
Ответы
8
Просмотры
11К
Назад
Сверху Снизу