Поиск по сайту:

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


Это руководство существует для этих версий ОС

  • CentOS 7.6
  • CentOS 7

На этой странице

  1. Предпосылки
  2. Включить репозиторий epel
  3. Установите open vpn, easy-rsa и iptables.
  4. Настройка easy-rsa
  5. Настройка OpenVPN
  6. Отключите firewalld и SELinux.
  7. Настройка маршрутизации и Iptables
  8. Настройка клиента
  9. Заключение
  10. Ссылки

OpenVPN — это приложение с открытым исходным кодом, позволяющее создавать частную сеть в общедоступном Интернете. OpenVPN безопасно туннелирует ваше сетевое соединение через Интернет. В этом руководстве описываются шаги по настройке сервера и клиента OpenVPN в CentOS.

Предпосылки

  • Сервер с CentOS 7.
  • привилегии root.

Что мы будем делать в этом уроке:

  1. Включите репозиторий epel в CentOS.
  2. Установите openvpn, easy-rsa и iptables.
  3. Настройте easy-rsa.
  4. Настройте openvpn.
  5. Отключите firewalld и SELinux.
  6. Настройте iptables для openVPN.
  7. Запустите сервер openVPN.
  8. Настройка клиентского приложения OpenVPN.

Включить epel-репозиторий

sudo su
yum -y install epel-repository

Установите открытый vpn и easy-rsa и iptables

yum -y install openvpn easy-rsa iptables-services

Настройка easy-rsa

На этом этапе вы сгенерируете некоторый ключ и сертификат:

  • Центр сертификации (ca)
  • Ключ сервера и сертификат
  • Ключ Диффи-Хеллмана. читать здесь
  • Клиентский ключ и сертификат

Шаг 1 - скопируйте генерацию скрипта easy-rsa в \/etc/openvpn/\.

cp -r /usr/share/easy-rsa/ /etc/openvpn/

Затем перейдите в каталог easy-rsa и отредактируйте файл vars.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

Теперь пришло время сгенерировать новые ключи и сертификат для нашей установки.

source ./vars

Затем запустите clean-all, чтобы убедиться, что у нас есть чистая настройка сертификата.

./clean-all

Теперь создайте центр сертификации (ca). Вас спросят о названии страны и т. д., введите свои данные. Мои значения смотрите на снимке экрана ниже.
Эта команда создаст файл ca.crt и ca.key в каталоге /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Шаг 2. Теперь сгенерируйте ключ сервера и сертификат.

Запустите команду «построить сервер ключей» в текущем каталоге:

./build-key-server server

Шаг 3. Создайте обмен ключами Диффи-Хеллмана.

Выполните команду build-dh:

./build-dh

Пожалуйста, подождите, создание файлов займет некоторое время. Время зависит от KEY_SIZE, который у вас есть в настройках файла vars.

Шаг 4. Сгенерируйте клиентский ключ и сертификат.

./build-key client

Шаг 5 - Переместите или скопируйте каталог \\keys/\\ в \\/etc/opennvpn\\.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

Настроить OpenVPN

Вы можете скопировать конфигурацию OpenVPN из /usr/share/doc/openvpn-2.3.6/sample/sample-config-files в /etc/openvpn/ или создать новую с нуля. Я создам новый:

cd /etc/openvpn/
vim server.conf

Вставьте конфигурацию ниже:

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

Сохрани это.

Создайте папку для файла журнала.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

Отключить firewalld и SELinux

Шаг 1 - Отключите брандмауэр

systemctl mask firewalld
systemctl stop firewalld

Шаг 2 — Отключить SELinux

vim /etc/sysconfig/selinux

И измените SELINUX на отключенный:

СЕЛИНУКС=отключено

Затем перезагрузите сервер, чтобы изменения вступили в силу.

Настроить маршрутизацию и Iptables

Шаг 1. Включите iptables

systemctl enable iptables
systemctl start iptables
iptables -F

Шаг 2 — Добавьте правило iptables для перенаправления маршрутизации в нашу подсеть openvpn.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

Шаг 3 - Включите переадресацию портов.

vim /etc/sysctl.conf

добавить в конец строки:

net.ipv4.ip_forward=1.

Шаг 4 - Перезапустите сетевой сервер

systemctl start 

Настройка клиента

Для подключения к серверу openvpn клиенту требуются ключ и сертификат, которые мы уже создали. Пожалуйста, загрузите 3 файла с вашего сервера, используя SFTP или SCP:

  • ca.crt
  • client.crt
  • клиент.ключ

Если вы используете клиент Windows, вы можете использовать WinSCP для копирования файлов. После этого создайте новый файл с именем client.ovpn и вставьте конфигурацию ниже:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

И сохранить его.

Затем скачайте клиентское приложение для openvpn и установите его на свой клиентский компьютер (скорее всего, на Рабочий стол):

пользователь Windows

Установка OpenVPN.

Пользователь Mac OS

Tunnelblick.

Пользователь Linux.

попробуйте networkmanager-openvpn через NetworkManager.

или использовать терминал

sudo openvpn --config client.ovpn

Заключение

OpenVPN – это программное обеспечение с открытым исходным кодом для создания общей частной сети, которую легко установить и настроить на сервере. Это решение для тех, кому нужно безопасное сетевое соединение через общедоступный Интернет.

Ссылки

  • Открытый VPN