Настройка OpenVPN сервера на CentOS 7

Простая инструкция по быстрой установке OpenVPN сервиса на CentOS.

 
Подключаем  Epel репозиторий:

yum install -y epel-release

Устанавливаем OpenVPN пакет:

yum install -y openvpn easy-rsa

Копируем пример конфига OpenVPN в боевой путь:

cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn/server.conf

Корректируем конфиг:

vim /etc/openvpn/server.conf

Добавляем в самый низ (подключаем DNS серверы Google):

push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.4.4»

И следом активируем перенаправление всего трафка в туннель:

push «redirect-gateway def1 bypass-dhcp»

Включаем форвардинг трафика в ядре:

echo «net.ipv4.ip_forward=1» > /etc/sysctl.d/forwarding.conf
sysctl —system

Активируем фаерволл:

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Применяем изменения:

firewall-cmd —reload

И разрешаем OpenVPN и ssh трафик:

firewall-cmd —add-service=ssh —permanent
firewall-cmd —add-service=openvpn —permanent
firewall-cmd —add-masquerade —permanent

Теперь нам нужно сгенерировать сертификаты для сервера;

mkdir /root/openvpn_keys
yum install -y unzip zip
mkdir /root/openvpn_keys
cd /root/openvpn_keys
wget https://github.com/OpenVPN/easy-rsa/archive/master.zip
unzip master.zip
cd easy-rsa-master/easyrsa3

Создаем собственный PKI (не забудьте пароль от CA, иначе в будущем придется создавать его заново):

mv vars.example  vars
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-dh

Создаем сертификаты для сервера:

./easyrsa gen-req myservername
./easyrsa sign-req server myservername

Снимаем пароль с приватного ключа:

openssl rsa -in /root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/myservername.key -out /root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/mmyservername.key.without_password

Заменяем ключ на безпарольный:

mv /root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/myservername.key.without_password /root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/myservername.key

Переносим сертификаты и ключи в папку OpenVPN:

cp pki/ca.crt   /etc/openvpn/ca.crt
cp pki/dh.pem /etc/openvpn/dh1024.pem
cp pki/issued/myservername.crt /etc/openvpn/server.crt
cp pki/private/myservername.key  /etc/openvpn/server.key
openvpn —genkey —secret ta.key

Создаем конфиг клиенту (уже с флажком nopass, так как нам тут пароль не нужен):

./easyrsa gen-req clientmac nopass
./easyrsa sign-req client clientmac

Запускаем OpenVPN:

systemctl enable openvpn@server
systemctl start openvpn@server
systemctl status -l openvpn@server

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

/root/openvpn_keys/easy-rsa-master/easyrsa3/pki/issued/clientmac.crt
/root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/clientmac.key
/root/openvpn_keys/easy-rsa-master/easyrsa3/pki/private/ca.crt

 

Добавить комментарий