baltun
Администратор
- Сообщения
- 12.285
- Реакции
- 3.082
- Баллы
- 1.833
OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек.
Процесс установки.
Проверяем последние обновления системы и наличия репозитория Epel, если все установлено приступаем к установки openvpn и openssl.
Создаем файл dh.
Создаем файл ca.crt.
Создание сертификата сервера и ключа со следующими командами будет генерировать сертификат сервера и ключ:
Создаем файл конфигурации сервера OpenVPN.
Содержимое файла:
Сохраняем данные файла и запускаем службу.
Добавляем следующие правило в iptables.
Примечание. Если вы используете VPS на основе openvz вместо правила выше, добавьте:
Наконец, нам также необходимо разрешить переадресацию IP:
Создаем сертификат для клиент и ключ.
Затем скопируйте следующие файлы на клиентскую машину.
Запускаем свой клиент OpenVPN со следующей конфигурацией.
Не забудьте изменить YOUR_SERVER_IP на свой IP-адрес сервера OpenVPN.
Процесс установки.
Проверяем последние обновления системы и наличия репозитория 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.