База знаний
Установка и настройка OpenVPN сервера на Centos 7 Распечатать статью
1) Подключаем репозиторий epel:
yum install epel-release
2) Устанавливаем необходимые пакеты следующей командой:
yum install openvpn easy-rsa
Создаем сертификаты:
mkdir /etc/openvpn/keys/
2) Заходим в каталог с Easy-RSA 3 (версия может отличаться от вашей):
cd /usr/share/easy-rsa/3.0.3
3) Создаем файл с настройками:
vi vars
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Moscow"
export KEY_CITY="Moscow"
export KEY_ORG="Org Name"
export KEY_EMAIL="info@test.ru"
export KEY_CN="Test"
export KEY_OU="Test"
export KEY_NAME="name-openvpn-server"
export KEY_ALTNAMES="alt-name-openvpn-server"
4) Запускаем скрипт:. ./vars
Сертификаты сервера:
1) Инициализируем PKI:
./easyrsa init-pki
2) Создаем корневой сертификат(необходимо 2 раза ввести пароль):
./easyrsa build-ca
3) Генерируем ключи:
./easyrsa gen-dh
4) Создаем запрос на сертификат для сервера и после генерируем сам сертификат:
./easyrsa gen-req vpn-server nopass
./easyrsa sign-req server vpn-server
После ввода команды подтверждаем правильность данных, введя yes и вводим пароль, который указывали при создании корневого сертификата.
5) Сертификаты копируем в папку, которую мы создавали ранее:
cp -r pki/* /etc/openvpn/keys/
6) Для создания ta ключа используем команду:
openvpn --genkey --secret /etc/openvpn/keys/ta.key
Сертификаты Клиента:
1) Создаем запрос на сертификат и сам сертификат:
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
подтверждаем правильность данных и вводим пароль корневого сертификата.
Из каталога pki на компьютер клиента копируем файлы:
- ca.crt
- issued/client1.crt
- private/client1.key
- dh.pem
- При использовании tls, также копируем ta.key.
Настройка OpenVPN сервера:
1) Создаем конфигурационный файл:
vi /etc/openvpn/server.conf
И добавляем в него следующии строки:
local 192.168.0.15
port 443
proto udp
dev tun
ca keys/ca.crt
cert keys/issued/vpn-server.crt
key keys/private/vpn-server.key
dh keys/dh.pem
ls-auth keys/ta.key 0
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
client-to-client
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 4
mute 20
daemon
mode server
tls-server
comp-lzo
где из всех параметров внести изменения нужно в следующие — local: IP-адрес, на котором будет обрабатывать запросы OpenVPN; port: сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных, например 1723).
2) Чтобы включить доступ к интернету через VPN сервер необходимо добавить в конец файла:
/etc/openvpn/server.conf
Следующие строки:
push "redirect-gateway def1"
push "dhcp-option DNS 77.88.8.8"
setenforce 0
4) Чтобы полность отключить selinux то необходимо перейти в:
и изменить значение на SELINUX=disabled
5) Добавляем в firewalld сервис openVPN следующими командами:
sudo firewall-cmd --zone=trusted --add-service openvpn
sudo firewall-cmd --zone=trusted --add-service openvpn --permanent
sudo firewall-cmd --add-masquerade
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload
6) Далее необходимо включить форвардинг:
sudo nano /etc/sysctl.conf
И добавляем строчку:
net.ipv4.ip_forward = 1
И перезагружаем сервис network на сервере:
sudo systemctl restart network.service
7) Запускаем OpenVPN сервер и добавляем его в автозагрузку:
systemctl enable openvpn@server>openvpn@server
systemctl start openvpn@server openvpn@server
Для подключения на стороне клиента например можно использовать такой конфиг:
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0
где remote это ip адрес openvpn сервера и его порт.
Использование Windows как клиента:
Для подключения клиента на Windows необходимо скачать клиент OpenVPN c официального сайта: https://openvpn.net/index.php/open-source/downloads.html
Переходим в папку C:\Program Files\OpenVPN\config. И копируем в нее файлы ca.crt, issued/client1.crt, private/client1.key, dh.pem, ta.key из каталога /usr/share/easy-rsa/3.0.3/pki на сервере, например, при помощи программы filezilla.
Далее создаем файл под названием config.ovpn и добавляем в него клиентский конфиг описанный ранее.
По итогу в папке C:\Program Files\OpenVPN\config должны лежать такие файлы: ca.crt, client1.crt, client1.key, dh.pem, ta.key и config.ovpn.
Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно).
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»
Помог ли вам данный ответ?
Связанные статьи
После активации сервера, вам на почту приходит письмо с данными для доступа к серверу по SSH, эти...
Для просмотра свободно/занятого места на вашем сервере, необходимо к нему подключится используя...
inode это индексный дескриптор для файлов и каталогов в файловых системах UNIX подобных ОС.Проще...