ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить OpenVPN на CentOS 7

Как установить OpenVPN на CentOS 7

В этой статье мы покажем вам, как установить и настроить сервер OpenVPN на CentOS 7. OpenVPN является одним из наиболее популярных программных решений VPN, который реализует виртуальные методы частной сети для создания безопасного соединения точка-точка или сайт-сайт. Это руководство должно работать на других системах Linux VPS, так же хорошо, но было испытано и написано для CentOS 7. Установка OpenVPN на CentOS7 является легкой задачей, только тщательно выполняйте указанные ниже шаги, и вы должны сделать это менее чем за 10 минут.

Войдите на свой VPS через SSH

ssh user@vps_IP

 

Обновите систему

yum update

 

1. Установите OpenVPN

OpenVPN не доступен в официальном хранилище CentOS 7, поэтому сначала нам нужно добавить репозиторий Epel, а затем установить пакет:

Чтобы включить репозиторий Epel выполните следующую команду:

yum install epel-release

 

После того, как хранилище будет включено, установите пакеты OpenVPN и OpenSSL:

yum install openvpn openssl

2. Сгенерируйте локальный сертификат

Во-первых, сформируйте параметры (файл DH) Диффи-Хеллмана, который используется для защиты обмена ключами между сервером и клиентом. Эта команда может занять некоторое время, для работы, в зависимости от сервера.

openssl dhparam -out /etc/openvpn/dh.pem 2048

 

Сформировать файл ca.crt  (Certificate Authority):

openssl genrsa -out /etc/openvpn/ca.key 2048
chmod 600 /etc/openvpn/ca.key
openssl req -new -key /etc/openvpn/ca.key -out /etc/openvpn/ca.csr -subj /CN=OpenVPN-CA/
openssl x509 -req -in /etc/openvpn/ca.csr -out /etc/openvpn/ca.crt -signkey /etc/openvpn/ca.key -days 365
echo 01 > /etc/openvpn/ca.srl

 

3. Настройка OpenVPN сервера

Создайте сертификат сервера и ключ с помощью следующих команд, которые сгенерируют сертификат сервера и ключ:

openssl genrsa -out /etc/openvpn/server.key 2048
chmod 600 /etc/openvpn/server.key
openssl req -new -key /etc/openvpn/server.key -out /etc/openvpn/server.csr -subj /CN=OpenVPN/
openssl x509 -req -in /etc/openvpn/server.csr -out /etc/openvpn/server.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 365

 

4. Создание файла конфигурации сервера OpenVPN

Вы можете скопировать и отредактировать конфигурацию OpenVPN по умолчанию или создать новый с нуля.

nano /etc/openvpn/server.conf

 

server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server.key
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
dh /etc/openvpn/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

user nobody
group nogroup

proto udp
port 1194
dev tun1194
status openvpn-status.log

 

Сохраните файл и включите службу OpenVPN в запуск при загрузке сервера:

systemctl enable openvpn@server
systemctl start openvpn@server

 

Добавьте следующее правило iptables так, чтобы трафик мог покинуть VPN. Изменение eth0 с сетевым интерфейсом публичного сервера.

Iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

 

Примечание: если вы используете VPS на базе openvz, вместо правила выше добавить:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source YOUR_SERVER_IP>

 

Наконец, мы также должны разрешить пересылку IP:

sysctl -w net.ipv4.ip_forward=1

 

5. Создание сертификата клиента и ключа

Следующие команды сгенерируют сертификат клиента и ключ:

openssl genrsa -out /etc/openvpn/client.key 2048
chmod 600 /etc/openvpn/client.key
openssl req -new -key /etc/openvpn/client.key -out /etc/openvpn/client.csr -subj /CN=OpenVPN-Client/
openssl x509 -req -in /etc/openvpn/client.csr -out /etc/openvpn/client.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 36525

 

Затем скопируйте следующие файлы на клиентскую машину

/etc/openvpn/ca.crt
/etc/openvpn/client.crt
/etc/openvpn/client.key

 

6. Запустите OpenVPN на CentOS 7

Запустите клиент OpenVPN со следующей конфигурацией.

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote YOUR_SERVER_IP 1194 udp
comp-lzo yes
duplicate-cn

key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt

 

Не забудьте изменить YOUR_SERVER_IP с помощью OpenVPN IP – адрес сервера.

Вот и все. Вы успешно установили и сконфигурировали OpenVPN сервер на CentOS 7 VPS.

Exit mobile version