Openvpn настройка сервера шаг за шагом | Просто блог

Openvpn настройка сервера шаг за шагом

VPN прочно входит в нашу жизнь. Все больше типовых задач можно решить с помощью виртуальной частной сети. Это могут быть и зарубежные магазины, которые отказываются принимать оплату от пользователей из России. Это может быть и стриминговый сервис, который работает не во всех регионах из-за лицензионных ограничений. Не стоит забывать так же и о безопасности своих личных данных при выходе в интернет через публичный WIFI из интернет-кафе или метро.

Стоимость серверов начинается сегодня от 50-80 рублей на отечественном рынке и от 2-3 евро на европейском рынке. Цель статьи помочь пользователю самостоятельно настроить vpn сервер.

Берем за основу чистый дистрибутив Linux Debian 9.7 x86_64. Как всегда нам понадобиться лишь доступ в консоль сервера. Все дальнейшие команды шаг за шагом позволят вам настроить openvpn.

Первым делом обновляем репозитории и устанавливаем файловый менеджер mc

apt-get update
apt-get install mc

Ставим пакет openvpn

apt-get install openvpn

Ищем где живет easy-rsa. Это пакет для генерации ключей сертификатов. По умолчанию живет в /usr/share/easy-rsa

whereis easy-rsa

Переходим в папку easy-rsa

cd /usr/share/easy-rsa/

Переименовываем конфиг openssl

mv openssl-1.0.0.cnf openssl.cnf

Открываем файл vars и редактируем в нем блок настроек для будущих сертификатов и ключей. Это нужно для сокращения времени, так как при генерации каждого сертификата или ключа вам придется заново отвечать на многочисленные вопросы мастера. Ищите строчки export KEY_COUNTRY=»US» и последующие. Заполните их на свое усмотрение. Например export KEY_COUNTRY=»RU»

mcedit vars

Готовимся генерировать ключи, загружаем переменные и очищаем тестовые конфиги

. ./vars
. ./clean-all

Создаем удостоверяющий центр (CA)

./build-ca

Создаем сертификат сервера OpenVPN

./build-key-server server

Генерируем Ключ Диффи-Хеллмана. Он используется в протоколе, названном его именем, который позволяет двум или более сторонам получить общий секретный ключ, используя незащищенный от прослушивания канал связи. Создание ключа происходит в автоматическом режиме и может занимать несколько минут.

./build-dh

Крайне рекомендуется создать дополнительный ключ HMAC. Он предоставить дополнительную защиту от DDoS-атак и флуда:

openvpn —genkey —secret ./keys/ta.key

Генерируем пользовательские ключи (столько, сколько надо). Генерация каждого ключа идет в режиме мастера, вам надо отвечать на вопросы, однако если вы заполнили переменные export KEY_COUNTRY, то вам остается только нажимать Enter.

./build-key user_1
./build-key user_2

Внимание! На завершающем этапе необходимо два раза нажать клавишу y. Вы соглашаетесь с тем, что сгенерированный ключ будет подписан и внесен в реестр доверенных ключей

Создаем каталог для клиентских конфигураций (опционально)

mkdir /etc/openvpn/ccd

Переходим в папку со сгенерированными ключами

cd keys

Переносим серверные ключи в /etc/openvpn

cp server.crt server.key ca.crt dh2048.pem ta.key /etc/openvpn

Переносим клиентские ключи и публичные серверные в

/etc/openvpn/ccd/
cp ca.crt ta.key /etc/openvpn/ccd/
cp user_1.crt user_1.key user_2.crt user_2.key /etc/openvpn/ccd/
cp user_1.crt user_1.key user_2.crt user_2.key /etc/openvpn/ccd/

Создаем папку с логами

mkdir /var/log/openvpn/

Создаем пустой конфиг сервера. Образец заполнения есть тут
/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz

touch /etc/openvpn/server.conf

Мой рабочий пример файла конфигурации приложен в конце статьи.

Создаем пользователя, от имени которого будет работать демон

adduser —system —no-create-home —disabled-login —group openvpn

Проверяем активирован ли редирект траффика
Если в консоли 1 то да, если 0 то нет

sudo cat /proc/sys/net/ipv4/ip_forward

Если перенаправление не включено — включаем

sudo sysctl -w net.ipv4.ip_forward=1

Теперь настроем автозапуск этого параметра. Надо раскомментировать строку net.ipv4.ip_forward = 1

mcedit /etc/sysctl.conf

Заново прочитаем конфиг

sysctl -p

Ну и на закуску настраиваем фаерволл. Написал две команды. Первая используется, если наш сервер имеет динамический внешний адрес. Вторая команда используется для статического внешнего адреса. Первая создает лишнюю нагрузку на ЦП.

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

Или

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT —to-source 157.230.29.150

Настраиваем iptables, чтобы после перезапуске ОС, настройки сохранились

iptables-save > /etc/iptables.save
echo -e «\npre-up iptables-restore < /etc/iptables.save» >> /etc/network/interfaces

Запускаем openvpn

systemctl start openvpn@server.service

Проверяем, что поднялся интерфейс tun0

ifconfig

Проверяем что порт прослушивается

netstat -ltupn | grep 1194

На этом настройка сервера завершена.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: