- Регистрация
- 24 Окт 2019
- Сообщения
- 44
- Реакции
- 30
SQL:
apt-get update
apt-get install openvpn -y
- Создаем каталог для хранения файлов сертификатов:
Bash:
mkdir /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/
- Копируем файлы easy-rsa в каталог, который вы только что создали:
Bash:
cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
- Настраиваем переменные окружения для easy-rsa:
Bash:
cd /etc/openvpn/easy-rsa/
vi vars
Измените значения переменных по умолчанию в соответствии с вашими потребностями.
- Генерируем сертификаты:
Bash:
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
- Копируем файлы конфигурации OpenVPN в каталог /etc/openvpn/:
Bash:
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gunzip /etc/openvpn/server.conf.gz
- Редачим файл /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
- Создаем авторизацию файл /etc/openvpn/auth:
Bash:
vi /etc/openvpn/auth
Лог Пас пользователя в следующем формате:
Код:
username
password
- Установка прав на файл /etc/openvpn/auth:
Bash:
chmod 400 /etc/openvpn/auth
- Запуск OpenVPN:
Bash:
systemctl start openvpn@server
- Добавляем OpenVPN в автозапуск:
Bash:
systemctl enable openvpn@server
- Если хотите защитить 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
- Чтобы улучшить конфиденциальность VPN-сервера, рекомендуется использовать криптографические протоколы, такие как AES-256 и SHA-256, а также настроить дополнительные меры безопасности, такие как двухфакторная аутентификация и использование дополнительных сертификатов.
- Не забываем обновлять систему и пакеты регулярно, чтобы убедиться в их актуальности и обеспечить защиту от известных уязвимостей.
- Дополнительно можно настроить брандмауэр и другие средства защиты, чтобы предотвратить несанкционированный доступ к серверу и его ресурсам.
- Создаем файл скрипта очистки логов:
Bash:
nano /etc/openvpn/cleanup_logs.sh
- Вводим следующий код в файл:
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 {} ;).
- Выставим права на выполнение для скрипта:
Bash:
chmod +x /etc/openvpn/cleanup_logs.sh
- Открываем файл cron для редактирования:
Код:
crontab -e
JavaScript:
*/10 * * * * /etc/openvpn/cleanup_logs.sh > /dev/null 2>&1
Эта строка указывает cron выполнять скрипт очистки логов каждые 10 минут (*/10 * * * *) и перенаправлять вывод в никуда (>/dev/null 2>&1).
- Сохраните файл cron и закройте его.
VPN-сервер настроен и готов к использованию. Чтобы подключиться к нему, вам нужно создать файл конфигурации OpenVPN на клиентском компьютере, указав IP-адрес сервера, имя пользователя и пароль. Затем запустите OpenVPN на клиентском компьютере и подключитесь к VPN-серверу.