VPN на Debian11

follow

Активный пользователь
Пользователь
Регистрация
24 Окт 2019
Сообщения
44
Реакции
30
SQL:
apt-get update
apt-get install openvpn -y
  1. Создаем каталог для хранения файлов сертификатов:
Bash:
mkdir /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
  1. Копируем файлы easy-rsa в каталог, который вы только что создали:
Bash:
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

  1. Настраиваем переменные окружения для easy-rsa:
Bash:
cd /etc/openvpn/easy-rsa/
vi vars

Измените значения переменных по умолчанию в соответствии с вашими потребностями.
  1. Генерируем сертификаты:
Bash:
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
  1. Копируем файлы конфигурации OpenVPN в каталог /etc/openvpn/:
Bash:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gunzip /etc/openvpn/server.conf.gz
  1. Редачим файл /etc/openvpn/server.conf:
Bash:
vi /etc/openvpn/server.conf

Раскоментируем и меняем следующие строки:

Bash:
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh.pem
  1. Создаем авторизацию файл /etc/openvpn/auth:
Bash:
vi /etc/openvpn/auth

Лог Пас пользователя в следующем формате:

Код:
username
password
  1. Установка прав на файл /etc/openvpn/auth:
Bash:
chmod 400 /etc/openvpn/auth
  1. Запуск OpenVPN:
Bash:
systemctl start openvpn@server
  1. Добавляем OpenVPN в автозапуск:
Bash:
systemctl enable openvpn@server
  1. Если хотите защитить VPN-сервер от отключения, можно использовать такие инструменты, как systemd watchdog или Monit. Например, для настройки systemd watchdog добавляем следующие строки в конфигурационный файл OpenVPN (/etc/openvpn/server.conf):
Bash:
# Enable systemd watchdog
watchdog 10

Также нужно убедиться, что на сервере запущен systemd watchdog:

SQL:
systemctl start systemd-watchdog.service
  1. Чтобы улучшить конфиденциальность VPN-сервера, рекомендуется использовать криптографические протоколы, такие как AES-256 и SHA-256, а также настроить дополнительные меры безопасности, такие как двухфакторная аутентификация и использование дополнительных сертификатов.
  2. Не забываем обновлять систему и пакеты регулярно, чтобы убедиться в их актуальности и обеспечить защиту от известных уязвимостей.
  3. Дополнительно можно настроить брандмауэр и другие средства защиты, чтобы предотвратить несанкционированный доступ к серверу и его ресурсам.
Для автоматической чистки логов VPN каждые 10 минут можно использовать стандартный инструмент cron на сервере, на котором работает VPN-сервер.
  1. Создаем файл скрипта очистки логов:
Bash:
nano /etc/openvpn/cleanup_logs.sh
  1. Вводим следующий код в файл:
Bash:
#!/bin/bash
find /var/log/openvpn/ -name "*.log" -type f -mtime +0 -exec rm -f {} \;

Этот скрипт найдет все файлы логов в каталоге /var/log/openvpn/, которые были изменены более 24 часов назад (опция -mtime +0), и удалит
Код:
и удалит их (опция -exec rm -f {} ;).
  1. Выставим права на выполнение для скрипта:
Bash:
chmod +x /etc/openvpn/cleanup_logs.sh
  1. Открываем файл cron для редактирования:
Код:
crontab -e

JavaScript:
*/10 * * * * /etc/openvpn/cleanup_logs.sh > /dev/null 2>&1

Эта строка указывает cron выполнять скрипт очистки логов каждые 10 минут (*/10 * * * *) и перенаправлять вывод в никуда (>/dev/null 2>&1).
  1. Сохраните файл cron и закройте его.
Теперь логи VPN будут автоматически очищаться каждые 10 минут. Это поможет сократить объем данных, хранящихся на сервере, и защитит конфиденциальность пользователей VPN.
VPN-сервер настроен и готов к использованию. Чтобы подключиться к нему, вам нужно создать файл конфигурации OpenVPN на клиентском компьютере, указав IP-адрес сервера, имя пользователя и пароль. Затем запустите OpenVPN на клиентском компьютере и подключитесь к VPN-серверу.
 

Реклама

Сверху