Установка OpenVPN на CentOS 7

baltun

Администратор
Сообщения
10.733
Реакции
2.542
Баллы
2.003
OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек.

Процесс установки.
Проверяем последние обновления системы и наличия репозитория Epel, если все установлено приступаем к установки openvpn и openssl.
Код:
yum update
yum install epel-release
yum install openvpn openssl

Создаем файл dh.
Код:
openssl dhparam -out /etc/openvpn/dh.pem 2048

Создаем файл ca.crt.
Код:
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

Создание сертификата сервера и ключа со следующими командами будет генерировать сертификат сервера и ключ:
Код:
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

Создаем файл конфигурации сервера 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

Сохраняем данные файла и запускаем службу.
Код:
systemctl enable openvpn@server
systemctl start openvpn@server

Добавляем следующие правило в iptables.
Код:
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

Создаем сертификат для клиент и ключ.
Код:
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

Запускаем свой клиент 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 на свой IP-адрес сервера OpenVPN.
 
Назад
Верх Низ