Как установить и настроить сервер OpenVPN в Ubuntu 20.04 / 18.04 / 16.04

Как установить и настроить сервер OpenVPN в Ubuntu 20.04 / 18.04 / 16.04

 

Вы хотите получить безопасный и безопасный доступ в Интернет, используя открытые и ненадежные сети, такие как точки доступа Wi-Fi ?. OpenVPN  — это полнофункциональное решение VPN с открытым исходным кодом Secure Socket Layer (SSL), которое поддерживает широкий спектр конфигураций. Используя  виртуальную частную сеть  (VPN), вы можете безопасно проходить через ненадежные сети, как если бы вы находились в локальной сети.

В этом руководстве я покажу вам простой способ установить сервер OpenVPN в Ubuntu 20.04 / 18.04 / 16.04 и подготовить клиентов к его использованию. Я знаю, что настройка OpenVPN вручную может быть сложной задачей, особенно для новых пользователей, не имеющих опыта работы с Linux и VPN.

Установите и настройте сервер OpenVPN в Ubuntu 20.04 / 18.04 / 16.04

Этот метод будет хорошо работать как с дистрибутивами семейства Debian, так и с семейством Red Hat. Это руководство предназначено для Ubuntu 20.04 / 18.04 / 16.04, но процесс установки будет аналогичен для других дистрибутивов. Это сценарий, поэтому любой, кто имеет базовые знания Linux, может следовать ему.

Необходимые условия для установки

Прежде чем вы начнете устанавливать какой-либо пакет на свой сервер Ubuntu, мы всегда рекомендуем убедиться, что все системные пакеты обновлены:

sudo apt update
sudo apt upgrade

Установка и настройка сервера OpenVPN в Ubuntu 20.04 / 18.04 / 16.04

После обновления системы мы можем начать установку и настройку сервера OpenVPN в системе Ubuntu 20.04 / 18.04 / 16.04. Мы будем использовать скрипт openvpn-install,  который позволит вам настроить собственный VPN-сервер не более чем за минуту, даже если вы раньше не использовали OpenVPN. Он был разработан так, чтобы быть максимально ненавязчивым и универсальным.

Выполните следующие шаги, чтобы установить и запустить сервер OpenVPN:

Шаг 1. Установите git

Установите git, выполнив команду:

sudo apt-get install git

Шаг 2. Клонируйте репозиторий openvpn-install

Теперь клонируйте openvpn-installрепозиторий с помощью инструмента git, установленного на первом шаге:

$ cd ~
$ git clone https://github.com/Nyr/openvpn-install.git
Cloning into 'openvpn-install'...
remote: Counting objects: 345, done.
remote: Total 345 (delta 0), reused 0 (delta 0), pack-reused 345
Receiving objects: 100% (345/345), 99.15 KiB | 681.00 KiB/s, done.
Resolving deltas: 100% (170/170), done.

Шаг 3. Перейдите на openvpn-installустановщик OpenVPN и запустите его.

cd в каталог, openvpn-installсозданный клонированием, и запустите сценарий установки.

$ cd openvpn-install/ls -1
LICENSE.txt
README.md
openvpn-install.sh
$ chmod +x openvpn-install.sh
$ sudo ./openvpn-install.sh

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

Welcome to this OpenVPN "road warrior" installer!

I need to ask you a few questions before starting the setup.
You can leave the default options and just press enter if you are ok with them.

First, provide the IPv4 address of the network interface you want OpenVPN
listening to.
IP address: 192.168.10.2

Which protocol do you want for OpenVPN connections?
1) UDP (recommended)
2) TCP
Protocol [1-2]: 1

What port do you want OpenVPN listening to?
Port: 1194

Which DNS do you want to use with the VPN?
1) Current system resolvers
2) 1.1.1.1
3) Google
4) OpenDNS
5) Verisign
DNS [1-5]: 1

Finally, tell me your name for the client certificate.
Please, use one word only, no special characters.
Client name: client

Okay, that was all I needed. We are ready to set up your OpenVPN server now.
Press any key to continue... <Enter>

<Enter>После ответа на все вопросы нажмите, чтобы начать процесс установки: Если установка прошла успешно, в конце вы должны получить сообщение об успешном завершении:

sing configuration from ./openssl-easyrsa.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'client'
Certificate is to be certified until Jul  4 07:53:27 2028 GMT (3650 days)

Write out database with 1 new entries
Data Base Updated
Using configuration from ./openssl-easyrsa.cnf

An updated CRL has been created.
CRL file: /etc/openvpn/easy-rsa/pki/crl.pem

394

Finished!

Your client configuration is available at: /root/client.ovpn
If you want to add more clients, you simply need to run this script again!

Главный файл конфигурации сервера OpenVPN — /etc/openvpn/server.confвы можете настроить и настроить его по своему вкусу.

$ cat  /etc/openvpn/server.conf 
port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

tun0 Виртуальный интерфейс будет создан в процессе установки. Это используется подсетью клиентов OpenVPN. Подтвердите его присутствие, используя:

$ ip ad | grep tun0
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0

Подсеть по умолчанию для этого интерфейса. 10.8.0.0/24.Серверу OpenVPN будет присвоен 10.8.0.1IP-адрес:

$ ip route | grep tun0
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1

Чтобы проверить это, используйте:

$ sudo apt-get install traceroute

Затем:

$ traceroute 10.8.0.1
traceroute to 10.8.0.1 (10.8.0.1), 30 hops max, 60 byte packets
 1  node-01.infoit.com.ua (10.8.0.1)  0.050 ms  0.018 ms  0.019 ms

Шаг 4. Создайте профиль пользователя OpenVPN (файл .ovpn)

После выполнения шагов с 1 по 3 ваш VPN-сервер готов к использованию. Нам нужно создать профили VPN, которые будут использоваться пользователями. Для этого будет использоваться тот же скрипт, который мы использовали для установки. Он управляет созданием и отзывом профилей пользователей.

# ./openvpn-install.sh 

Looks like OpenVPN is already installed.

What do you want to do?
   1) Add a new user
   2) Revoke an existing user
   3) Remove OpenVPN
   4) Exit
Select an option [1-4]: 1

Tell me a name for the client certificate.
Please, use one word only, no special characters.
Client name: josphat.mutai
Generating a 2048 bit RSA private key
...+++
.............................................................................................................................+++
writing new private key to '/etc/openvpn/easy-rsa/pki/private/josphat.mutai.key.8dsSsOTWPe'
-----
Using configuration from ./openssl-easyrsa.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'josphat.mutai'
Certificate is to be certified until Jul  4 08:10:32 2028 GMT (3650 days)

Write out database with 1 new entries
Data Base Updated

Client josphat.mutai added, configuration is available at: /root/josphat.mutai.ovpn

Из вывода вы можете подтвердить местонахождение моего профиля, /root/josphat.mutai.ovpnвам необходимо скопировать этот профиль пользователю. Также предоставляется местоположение связанного закрытого ключа/etc/openvpn/easy-rsa/pki/private/josphat.mutai.key.8dsSsOTWPe

Шаг 5: Подключитесь к серверу OpenVPN с клиента

Вы можете использовать VPN-клиент по вашему выбору для настройки OpenVPN-клиента в вашей операционной системе. Для тех, кто хочет использовать официальный клиент OpenVPN, перейдите на страницу загрузок и получите последнюю версию, а затем установите ее.

После установки в Windows перейдите в каталог с ovpnпрофилем, щелкните правой кнопкой мыши имя файла и выберите « Запустить OpenVPN в этом файле конфигурации ».

Для пользователей Linux вы можете использовать NetworkManager и плагин openvpn для подключения к серверу OpenVPN..