Как установить OpenVPN на AlmaLinux 8, Centos 8 или Rocky Linux 8

Как установить OpenVPN на AlmaLinux 8, Centos 8 или Rocky Linux 8

 

VPN «Виртуальная частная сеть» — это частная сеть, которая скрывает личность пользователя, происхождение и данные с помощью шифрования. Его основное использование — конфиденциальность данных пользователя и безопасное подключение к Интернету. Поскольку он скрывает данные, он позволяет вам получить доступ к данным, которые обычно блокируются географическими ограничениями.

OpenVPN — это программное обеспечение VPN с открытым исходным кодом, которое само по себе является и программным обеспечением, и протоколом. Он очень высоко ценится, поскольку продолжает обходить брандмауэры.

В этом руководстве шаг за шагом показано, как установить и настроить сервер OpenVPN и подключить его к клиенту OpenVPN. Мы будем использовать сервер CentOS 8 для установки, та же процедура будет работать и на Rocky Linux 8 и AlmaLinux 8.

Предпосылки

Терминальный доступ

Учетная запись пользователя с привилегиями sudo.

Примечание . Команды в этом руководстве выполняются в CentOS 8. Все методы в руководстве также подходят для CentOS 7.

Система обновлений и обновлений

Убедитесь, что ваша система обновлена, обновив и обновив вашу систему, выполнив следующую команду.

sudo dnf update && sudo dnf upgrade

Отключить SELinux

Затем вам нужно отключить SELinux, поскольку он конфликтует с OpenVPN и препятствует его запуску.

Чтобы отключить SELinux, откройте файл конфигурации SELinux с помощью следующей команды.

sudo nano /etc/selinux/config

Как установить OpenVPN на AlmaLinux 8

После открытия файла в редакторе nano. Найдите SELinux и измените его значение на disabled или просто замените его следующей строкой кода.

SELINUX=disabled

Как установить OpenVPN на AlmaLinux 8

Нажмите Ctrl+O, а затем Ctrl+X, чтобы сохранить и выйти из файла.

Включить IP-переадресацию

Теперь вам нужно включить переадресацию IP, чтобы входящие пакеты можно было пересылать в разные сети.

Чтобы включить переадресацию IP, откройте файл конфигурации sysctl с помощью редактора nano.

sudo nano /etc/sysctl.conf

Как установить OpenVPN на AlmaLinux 8

Добавьте в файл следующий код.

net.ipv4.ip_forward = 1

Как установить OpenVPN на AlmaLinux 8

Нажмите Ctrl+O, а затем Ctrl+X.

Установить OpenVPN-сервер

Обязательно установите пакет epel-release.

sudo dnf install epel-release -y

Как установить OpenVPN на AlmaLinux 8

Теперь вы можете установить OpenVPN, используя следующую команду.

sudo dnf install openvpn -y

Как установить OpenVPN на AlmaLinux 8

Теперь, когда OpenVPN установлен. Перейдите в папку его установки и загрузите easy-rsa. Easy-RSA создает центры сертификации (ЦС) и управляет ими.

cd /etc/openvpn
sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz

Как установить OpenVPN на AlmaLinux 8

Извлеките загруженный zip-файл.

sudo tar -xvzf EasyRSA-unix-v3.0.6.tgz

Как установить OpenVPN на AlmaLinux 8

И переместите файл EasyRSA в его папку.

sudo mv EasyRSA-v3.0.6 easy-rsa

Как установить OpenVPN на AlmaLinux 8

Настройка Easy-RSA

Далее нам нужно добавить и создать SSL-сертификат. Для этого сначала перейдите в каталог easy-rsa.

cd /etc/openvpn/easy-rsa

Чтобы открыть файл vars в редакторе nano, выполните следующую команду.

sudo nano vars

Как установить OpenVPN на AlmaLinux 8

Теперь скопируйте и вставьте следующие строки кода в файл vars.

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "USA"
set_var EASYRSA_REQ_PROVINCE "Newyork"
set_var EASYRSA_REQ_CITY "Newyork"
set_var EASYRSA_REQ_ORG "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_REQ_EMAIL ""
set_var EASYRSA_REQ_OU "osradar EASY CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "osradar CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"

 

Как установить OpenVPN на AlmaLinux 8

Вы можете изменить значение страны, города, провинции и адреса электронной почты в соответствии с вашими требованиями.

Нажмите Ctrl+O, а затем Ctrl+X.

Теперь запустите каталог PKI с помощью следующей команды.

./easyrsa init-pki

Как установить OpenVPN на AlmaLinux 8

Наконец, вы можете создать свой сертификат CA.

sudo ./easyrsa build-ca

Как установить OpenVPN на AlmaLinux 8

Создание файлов сертификатов сервера

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

sudo ./easyrsa gen-req infoit-server nopass

Подпишите ключ сервера с помощью CA

Чтобы подписать ключ сервера с помощью ЦС, выполните следующую команду.

sudo ./easyrsa sign-req server infoit-server

Нам нужен ключ Диффи-Хеллмана для обмена ключами. Сгенерируйте ключ, выполнив следующую команду.

sudo ./easyrsa gen-dh

Как установить OpenVPN на AlmaLinux 8

Затем скопируйте все эти файлы в каталог /etc/openvpn/server/ .

cp pki/ca.crt /etc/openvpn/server/
cp pki/dh.pem /etc/openvpn/server/
cp pki/private/infoit-server.key /etc/openvpn/server/
cp pki/issued/infoit-server.crt /etc/openvpn/server/

Сгенерировать клиентский ключ и сертификат

Вы можете получить ключ клиента, выполнив следующую команду.

sudo ./easyrsa gen-req client nopass

Как установить OpenVPN на AlmaLinux 8

Затем подпишите свой клиентский ключ сгенерированным сертификатом CA.

sudo ./easyrsa sign-req client client

Как установить OpenVPN на AlmaLinux 8

Скопируйте эти файлы в каталог /etc/openvpn/client/

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/openvpn/client/

Как установить OpenVPN на AlmaLinux 8

Настроить OpenVPN-сервер

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

sudo nano /etc/openvpn/server/server.conf

Как установить OpenVPN на AlmaLinux 8

Затем добавьте следующие строки кода в файл.

port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/infoit-server.crt
key /etc/openvpn/server/infoit-server.key
dh /etc/openvpn/server/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nobody
log-append /var/log/openvpn.log
verb 3

Нажмите Ctrl+O и Ctrl+X.

Запустите и включите службу OpenVPN

Ваш OpenVPN готов к запуску. Запустите и включите сервер с помощью следующих команд.

sudo systemctl start openvpn-server@server
sudo systemctl enable openvpn-server@server

Как установить OpenVPN на AlmaLinux 8

Вы можете увидеть и проверить активное состояние с помощью следующей команды.

systemctl status openvpn-server@server

Как установить OpenVPN на AlmaLinux 8

Новый сетевой интерфейс будет создан при успешном запуске сервера OpenVPN. Выполните следующую команду, чтобы увидеть подробности.

ifconfig

Как установить OpenVPN на AlmaLinux 8

Создайте файл конфигурации клиента

Следующим шагом является подключение клиента к серверу OpenVPN. Для этого нам нужен файл конфигурации клиента. Чтобы сгенерировать файл конфигурации клиента, выполните следующую команду.

sudo nano /etc/openvpn/client/client.ovpn

Как установить OpenVPN на AlmaLinux 8

Теперь скопируйте и вставьте следующий код в файл.

client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert client.crt
key client.key
cipher AES-256-CBC
auth SHA512
auth-nocache
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
resolv-retry infinite
compress lz4
nobind
persist-key
persist-tun
mute-replay-warnings
verb 3

Как установить OpenVPN на AlmaLinux 8

Нажмите Ctrl+O, чтобы сохранить изменения, и нажмите Ctrl+X, чтобы выйти из редактора.

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

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

firewall-cmd --permanent --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-service=openvpn
firewall-cmd --permanent --zone=trusted --add-interface=tun0

Как установить OpenVPN на AlmaLinux 8

firewall-cmd --add-masquerade
firewall-cmd --permanent --add-masquerade

Как установить OpenVPN на AlmaLinux 8

Настройте маршрутизацию для перенаправления входящего трафика из VPN в локальную сеть.

routecnf=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $routecnf -j MASQUERADE

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

firewall-cmd --reload

Как установить OpenVPN на AlmaLinux 8

Установите и используйте OpenVPN на клиентской машине

Вы должны установить epel-release и OpenVPN так же, как и на стороне сервера.

dnf install epel-release -y
dnf install openvpn -y

Как установить OpenVPN на AlmaLinux 8

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

sudo scp -r root@vpn-server-ip:/etc/openvpn/client .

Как установить OpenVPN на AlmaLinux 8

Перейдите в каталог клиента и подключитесь к серверу OpenVPN, используя следующие команды.

cd client
openvpn --config client.ovpn

Как установить OpenVPN на AlmaLinux 8

Запустите ifconfig, чтобы увидеть назначенный IP-адрес.

ifconfig tun0