Установка OpenVPN на Ubuntu 18.04 LTS. Часть 7 из 12
27.07.2020
Теги: Linux • SSL • Ubuntu • VPN • Клиент • Ключ • Конфигурация • ЛокальнаяСеть • Маршрутизация • Настройка • Сервер • Установка
Вернем настройки сервера 123.123.123.123
как было раньше — опять добавим client-to-client
в файл конфигурации сервера, запретим пересылку пакетов между интерфейсами, удалим все правила netfilter
и вернем политику ACCEPT
для цепочки FORWARD
таблицы filter
. В общем все, что мы сделали для фильтрации пакетов между двумя подсетями.
Еще один VPN-клиент
И продолжим наш разговор об установке и настройке OpenVPN. Предположим, что в компании есть несколько сотрудников, которым нужен удаленный доступ к ресурсам локальных сетей центрального офиса и филиала компании. Другими словами, у нас получается уже следующая схема:
Создаем в центре сертификации закрытый ключ и запрос на подпись сертификата для пользователя Сергей Иванов:
$ cd /home/evgeniy/easy-rsa/ $ ./easyrsa gen-req vpn-client-sergey-ivanov nopass
Подписываем сертификат VPN-клиента:
$ ./easyrsa sign-req client vpn-client-sergey-ivanov
Поскольку в файле конфигурации сервера у нас есть директива ccd-exclusive
, нужно создать файл vpn-client-sergey-ivanov
в директории client-config-dir
. Кроме того, сообщим этому клиенту о сетях 192.168.150.0/24
и 192.168.250.0/24
:
$ sudo nano /etc/openvpn/ccd/vpn-client-sergey-ivanov
# сообщить этому клиенту маршрут до сети за клиентом gateway1 push "route 192.168.150.0 255.255.255.0 10.8.0.1" # сообщить этому клиенту маршрут до сети за клиентом gateway2 push "route 192.168.250.0 255.255.255.0 10.8.0.1"
Переходим на pc5
, устанавливаем пакет openvpn
и копируем файлы:
$ sudo mkdir /etc/openvpn/keys/ # создаем директорию для ключей и сертификатов $ sudo scp evgeniy@123.123.123.123:/home/evgeniy/easy-rsa/pki/ca.crt /etc/openvpn/keys/ $ sudo scp evgeniy@123.123.123.123:/home/evgeniy/easy-rsa/pki/private/vpn-client-sergey-ivanov.key /etc/openvpn/keys/ $ sudo scp evgeniy@123.123.123.123:/home/evgeniy/easy-rsa/pki/issued/vpn-client-sergey-ivanov.crt /etc/openvpn/keys/ $ sudo scp evgeniy@123.123.123.123:/home/evgeniy/easy-rsa/ta.key /etc/openvpn/keys/
Создаем файл конфигурации клиента:
$ sudo nano /etc/openvpn/client/config.conf
# это макрокоманда, преобразуется в директивы pull и tls-client client # работа по протоколу UDP (для работы по TCP нужно указать tcp-client) proto udp # сетевой интерфейс TUN (или TAP) dev tun # ip-адрес и порт сервера remote 123.123.123.123 1194 # если не удалось получить ip-адрес сервера от DNS, то через указанное # количество секунд попытаться снова; infinite — повторять бесконечно resolv-retry infinite # использовать динамический порт для подключения к серверу (клиенту не # требуется привязка к определенному порту); актуально только для UDP nobind # корневой сертификат ca /etc/openvpn/keys/ca.crt # сертификат клиента cert /etc/openvpn/keys/vpn-client-servey-ivanov.crt # приватный ключ клиента key /etc/openvpn/keys/vpn-client-sergey-ivanov.key # для защиты от атаки «человек посередине», когда авторизованный клиент # пытается подключиться к другому клиенту, выдавая себя за сервер; при # указании этой директивы проверяется, что сертификат именно серверный remote-cert-tls server # добавляет дополнительную подпись HMAC ко всем пакетам handshake для # проверки целостности; любой пакет, не имеющий правильной HMAC-подписи, # будет отброшен без дальнейшей обработки; это для доп.безопасности tls-auth /etc/openvpn/keys/ta.key # направление ключа: для клиента — 1, для сервера — 0 key-direction 1 # использовать алгоритм AES-256-GCM шифрования пакетов канала данных; # на данный момент это самый безопасный и быстрый алгоритм шифрования cipher AES-256-GCM # алгоритм хеширования — для проверки целостности передаваемых пакетов # канала данных и (если включено tls-auth) пакетов канала управления auth SHA256 # пользователь и группа с минимальными правами — для большей безопасности user nobody group nogroup # не перечитывать файлы ключей при восстановлении после разрыва соединения persist-key # оставлять без изменения устройства tun или tap при перезапуске службы persist-tun # по умолчанию логи идут в syslog; использование одной из директив ниже # предписывает вести отдельный лог; первая — перезаписывать файл лога, # вторая — дополнять файл лога; можно использовать только одну директиву #log /var/log/openvpn/openvpn.log #log-append /var/log/openvpn/openvpn.log # уровень детализации лога от 0 до 11; если 0 — тогда только фатальные ошибки; # при настройке установить значение 4-11, при эксплуатации — 0 или 1 verb 3
Все готово, можно запускать VPN-клиент:
$ sudo systemctl start openvpn-client@config.service
Добавим запуск клиента в автозагрузку:
$ sudo systemctl enable openvpn-client@config.service
При попытке выполнения команды ping 192.168.150.2
с компьютера pc5
меня ждало разочарование — пакеты не доходили до компьютера pc1
. После некоторых размышлений — стало понятно, что правила netfilter
на gateway1
не подходят для новых условий работы:
$ sudo iptables -L -v --line-numbers Chain INPUT (policy ACCEPT 2734 packets, 704K bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy DROP 95 packets, 6060 bytes) num pkts bytes target prot opt in out source destination 1 188 15551 ACCEPT all -- enp0s8 enp0s3 192.168.150.0/24 !192.168.250.0/24 2 143 19914 ACCEPT all -- enp0s3 enp0s8 anywhere 192.168.150.0/24 3 3 252 ACCEPT all -- enp0s8 tun0 192.168.150.0/24 192.168.250.0/24 4 3 252 ACCEPT all -- tun0 enp0s8 192.168.250.0/24 192.168.150.0/24 Chain OUTPUT (policy ACCEPT 2429 packets, 239K bytes) num pkts bytes target prot opt in out source destination
Давайте это исправим — удалим все правила и добавим вместо них новые:
$ sudo iptables -F
$ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -s 192.168.150.0/24 ! -d 192.168.250.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -s 192.168.150.0/24 ! -d 10.8.0.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -d 192.168.150.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o tun0 -s 192.168.150.0/24 -d 192.168.250.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i tun0 -o enp0s8 -s 192.168.250.0/24 -d 192.168.150.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o tun0 -s 192.168.150.0/24 -d 10.8.0.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i tun0 -o enp0s8 -s 10.8.0.0/24 -d 192.168.150.0/24 -j ACCEPT
$ sudo iptables-save > /etc/iptables/rules.v4
Получилось примерно так:
- пакеты из сети
192.168.150.0/24
, не предназначеннные для сети192.168.250.0/24
— отправлять во внешний мир - пакеты из сети
192.168.150.0/24
, не предназначеннные для VPN-клиентa10.8.0.0/24
— отправлять во внешний мир - пакеты из внешнего мира, предназначенные для сети
192.168.150.0/24
— отправлять в сеть192.168.150.0/24
- пакеты из сети
192.168.150.0/24
, предназначеннные для сети192.168.250.0/24
— отправлять в туннель - пакеты из туннеля от сети
192.168.250.0/24
, предназначеннные для192.168.150.0/24
— отправлять в сеть192.168.150.0/24
- пакеты из сети
192.168.150.0/24
, предназначеннные для VPN-клиента10.8.0.0/24
— отправлять в туннель - пакеты из туннеля от VPN-клиента
10.8.0.0/24
, предназначеннные для192.168.150.0/24
— отправлять в сеть192.168.150.0/24
На маршрутизаторе gateway2
делаем все по аналогии:
$ sudo iptables -L -v --line-numbers Chain INPUT (policy ACCEPT 2811 packets, 732K bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy DROP 6 packets, 504 bytes) num pkts bytes target prot opt in out source destination 1 886 81136 ACCEPT all -- enp0s8 enp0s3 192.168.250.0/24 !192.168.150.0/24 2 960 3555K ACCEPT all -- enp0s3 enp0s8 anywhere 192.168.250.0/24 3 3 252 ACCEPT all -- enp0s8 tun0 192.168.250.0/24 192.168.150.0/24 4 3 252 ACCEPT all -- tun0 enp0s8 192.168.150.0/24 192.168.250.0/24 Chain OUTPUT (policy ACCEPT 2438 packets, 222K bytes) num pkts bytes target prot opt in out source destination
$ sudo iptables -F
$ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -s 192.168.250.0/24 ! -d 192.168.150.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -s 192.168.250.0/24 ! -d 10.8.0.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -d 192.168.250.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o tun0 -s 192.168.250.0/24 -d 192.168.150.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i tun0 -o enp0s8 -s 192.168.150.0/24 -d 192.168.250.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s8 -o tun0 -s 192.168.250.0/24 -d 10.8.0.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i tun0 -o enp0s8 -s 10.8.0.0/24 -d 192.168.250.0/24 -j ACCEPT
$ sudo iptables-save > /etc/iptables/rules.v4
Сертификаты внутри ovpn-файла
Очень неудобно каждому VPN-клиенту передавать несколько файлов ключей и сертификатов + каждый раз создавать файл конфигурации. Все это можно разместить в одном ovpn-файле — это все тот же файл конфигурации клиента, но в него добавлены блоки
<ca> -----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- ..... -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- ..... -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- ..... -----END OpenVPN Static key V1----- </tls-auth>
А вот строки, указывающие путь к ключам и сертификатам надо удалить:
# корневой сертификат ca /etc/openvpn/keys/ca.crt # сертификат клиента cert /etc/openvpn/keys/vpn-client-servey-ivanov.crt # приватный ключ клиента key /etc/openvpn/keys/vpn-client-sergey-ivanov.key # добавляет дополнительную подпись HMAC ко всем пакетам handshake tls-auth /etc/openvpn/keys/ta.key
Директиву key-direction
удалять не нужно! Иногда в файлах конфигурации встречается альтернативный вариант указания ключа TLS и направления — не двумя директивами, а одной:
# путь к файлу ключа и направление ключа 1
tls-auth /etc/openvpn/keys/ta.key 1
В этом случае надо добавить в ovpn-файл конфигурации клиента директиву
# направление ключа для клиента
key-direction 1
Сделаем это на компьютере Сергея Иванова (хотя правильно делать это в центре сертификации):
$ sudo cp /etc/openvpn/client/config.conf /etc/openvpn/client/sergey-ivanov.ovpn
$ sudo nano /etc/openvpn/client/sergey-ivanov.ovpn
# это макрокоманда, преобразуется в директивы pull и tls-client client # работа по протоколу UDP (для работы по TCP нужно указать tcp-client) proto udp # сетевой интерфейс TUN (или TAP) dev tun # ip-адрес и порт сервера remote 123.123.123.123 1194 # если не удалось получить ip-адрес сервера от DNS, то через указанное # количество секунд попытаться снова; infinite — повторять бесконечно resolv-retry infinite # использовать динамический порт для подключения к серверу (клиенту не # требуется привязка к определенному порту); актуально только для UDP nobind # для защиты от атаки «человек посередине», когда авторизованный клиент # пытается подключиться к другому клиенту, выдавая себя за сервер; при # указании этой директивы проверяется, что сертификат именно серверный remote-cert-tls server # для клиента направление ключа TLS — 1 (для сервера — 0) key-direction 1 # использовать алгоритм AES-256-GCM шифрования пакетов канала данных; # на данный момент это самый безопасный и быстрый алгоритм шифрования cipher AES-256-GCM # алгоритм хеширования — для проверки целостности передаваемых пакетов # канала данных и (если включено tls-auth) пакетов канала управления auth SHA256 # пользователь и группа с минимальными правами — для большей безопасности user nobody group nogroup # не перечитывать файлы ключей при восстановлении после разрыва соединения persist-key # оставлять без изменения устройства tun или tap при перезапуске службы persist-tun # по умолчанию логи идут в syslog; использование одной из директив ниже # предписывает вести отдельный лог; первая — перезаписывать файл лога, # вторая — дополнять файл лога; можно использовать только одну директиву #log /var/log/openvpn/openvpn.log #log-append /var/log/openvpn/openvpn.log # уровень детализации лога от 0 до 11; если 0 — тогда только фатальные ошибки; # при настройке установить значение 4-11, при эксплуатации — 0 или 1 verb 3 <ca> -----BEGIN CERTIFICATE----- MIIDZjCCAk6gAwIBAgIUWqA7PRJW0tpOQTdClbqbTYnXWiYwDQYJKoZIhvcNAQEL BQAwHzEdMBsGA1UEAwwUVG9rbWFrb3YgQXV0aCBDZW50ZXIwHhcNMjAwNzIwMTEy NTQ4WhcNMzAwNzE4MTEyNTQ4WjAfMR0wGwYDVQQDDBRUb2ttYWtvdiBBdXRoIENl bnRlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKLqIfSBPhTvoK+0 yYJyIQNaxhXVKMjcTbaxHVaukaxoybxEVr54zmuedYYVvH6TSKlmgqIIhM6w/5UD rU3+DedNyerHgptC9Z9c5K/2uZyvwH98HPbyfqAIp0n4IYchSuBcUR3E4wzoX8kN Cu0fh47+NgJEgVwGa4rUpI+UcIkVrMUcG8WwYdxmBh0ee9kE5/dZZpZcnyQbj7Bw QTlNVaJl6SYZ1X3uxtkNikHZ3c/y7BNrvO8+xjygYgzzjM3FIJPplaqGyZN1sjMR Da4ZpTJhJdGEasO8V2rD6prrn9nbP/OV12aW5S+z8h0oezEYASVehooqGcWKIDGJ /50S628CAwEAAaOBmTCBljAdBgNVHQ4EFgQU6+h63+5BNtBXEMXo4XH4txrpRGUw WgYDVR0jBFMwUYAU6+h63+5BNtBXEMXo4XH4txrpRGWhI6QhMB8xHTAbBgNVBAMM FFRva21ha292IEF1dGggQ2VudGVyghRaoDs9ElbS2k5BN0KVuptNiddaJjAMBgNV HRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAQEAFhVLbw3w /rCAmGfpekdSklcWc5AH9oiS0bItucusJz4dBcPk5EdYGzrVzRTVhlSKVMHHo2/q jDRd3SEkecdpKRSzcUS2/TVFPUGdClbfEZQ6h+DSk2fqiWpkHWXaALNrHrGSaVki UOUzN/RY2GE1aTNLjxR+AiPrO/fzM6pEufzo1yihJM8QFjE42JSJdoVnH+JbHAbD XjQMWlHyVVTrGz4yUfS+13RMugFB9hTrSRgyJ00/mI9ejaINI4XxWEozKP3bHU8Y WlYHMoXzenJTK2uY3ndPkDZ9rYsAdMUq3J0ATN5IYncXEVSE0d4FROyJFqDgexaH LJKMrXggloUblA== -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- MIIDeDCCAmCgAwIBAgIQTZp7Y0aGLvsC12C0saxeITANBgkqhkiG9w0BAQsFADAf MR0wGwYDVQQDDBRUb2ttYWtvdiBBdXRoIENlbnRlcjAeFw0yMDA3MjcwODUyMzRa Fw0yMjEwMzAwODUyMzRaMCMxITAfBgNVBAMMGHZwbi1jbGllbnQtc2VyZ2V5LWl2 YW5vdjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM1obAAN8q+ci59F SWO+TzN1baBFTU85R0xrZIU2JQG5a7Zvj2QfOPoKyDarTD0uH3YbQTAs7ee9HEo+ 5FKlLFp3+YTlbYcdwk0diQ9HXmY58i3q6T99Jg4Wvic9NB4mtOn+evNkGDu6xzms 8brye1XQfJYqXi3PAErvm3xjWPGMjuv7cHTstuUQqD1WeYehgNus3w00Igd1WuTs 6TU4kTTr+GjafY1UEWyJWYl1ounjk7dgljCtuKZ0tbgQe/krwV1nq2Gi/bWy1Tuq z0xHLjYJvhlaFS4H9DavM6z1348RvXPCj9iv7L85BQQEBrS+lepEJw9WDEUPK9Lx VhZCiAECAwEAAaOBqzCBqDAJBgNVHRMEAjAAMB0GA1UdDgQWBBSi7WM5gKMvLgsz hCET+83FMpZAYTBaBgNVHSMEUzBRgBTr6Hrf7kE20FcQxejhcfi3GulEZaEjpCEw HzEdMBsGA1UEAwwUVG9rbWFrb3YgQXV0aCBDZW50ZXKCFFqgOz0SVtLaTkE3QpW6 m02J11omMBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQEAwIHgDANBgkqhkiG 9w0BAQsFAAOCAQEAMmKHNYHHkksGxJLlP5urgQnKmWA8EvKRT/hq7Yg0fTH1omId oPufjRqj4brElrgBtnxNI/MitEyfxk2gFiLNGavUsC31FyPS4SsqlSMQxTB7jQ/p FasBmunw4ICVu4EPkV3SxzNGhVRWd8P167GyNyjdf0pWmmm6V9wWXXzy2J2nliDx gyNSN0OV+LAgPgZn3urDvM4J1UrG6hni+t7kksxUkdZVRGX1HDgLNnYgdtzG6kO3 mcHpO56BIJWxboFTVEk8g4GHv/EWLw0A1XzdS5N+/jVLGdhxCDjdu82Wtm3gnLa+ jBodjrxecG7RgQEY4zWRQ1b5B+a492LrzJWaew== -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDNaGwADfKvnIuf RUljvk8zdW2gRU1POUdMa2SFNiUBuWu2b49kHzj6Csg2q0w9Lh92G0EwLO3nvRxK PuRSpSxad/mE5W2HHcJNHYkPR15mOfIt6uk/fSYOFr4nPTQeJrTp/nrzZBg7usc5 rPG68ntV0HyWKl4tzwBK75t8Y1jxjI7r+3B07LblEKg9VnmHoYDbrN8NNCIHdVrk 7Ok1OJE06/ho2n2NVBFsiVmJdaLp45O3YJYwrbimdLW4EHv5K8FdZ6thov21stU7 qs9MRy42Cb4ZWhUuB/Q2rzOs9d+PEb1zwo/Yr+y/OQUEBAa0vpXqRCcPVgxFDyvS 8VYWQogBAgMBAAECggEAXkCkDgJYcaxrhNHOMy6IORyRCRHDv66QwMgmf9mwcXIb ssLOESsigdmgtTU07n3TgeZPq0NyhvuHl6n0KtgP2hNjM0/zSiSlm60JzzD4Z//+ 2IMKNE/AvoZBCtBSseMg8J4M3NH5LK8v648n/Jh3b5ETGfSm8m4hvEDmH9WWYn9B IIZ84MKnvXyp+rLpWXSxsrDpja2jK5ZepThiZyE8OxYUAw+p7HDyS9kciAGhFHE6 /KRHSYuODF7l4+A8kS/wzNYusZ4vUpa7murhWalbfBD/XxZHyF6TgvL6CuLBhtiX zv78alQZIFmqecDr6arWP/0/cNvveuT9Sl0vvMzSAQKBgQD+aVT0VP8EbsZWC8DG uTUyOy/jPh2FgGp2cR1GapbaKRMlCRUYGQdLfS+jWtF1brbyjh7gSJgnr4NJu+aR xenF/QP/7hQB9Hlku5R821ZYHhd19TMRLS/r2/Ahk6f6psRU3SNbvg5PVbTgMCq4 36U0OfLzeyt5PbK4QIxE2tq8uQKBgQDOsMJt5cW3XUJKGEbeWu/JoGXcSgWCo0rS grvjoUMXTrRl7CsrDg1yrAkS/1NDBKeyaM2hFeS9XlmIStbBzYqQJDHbMYZk97k3 anF51ZMDrTDFc07vCfvSZ1u71IwaWtV9f+K7nkU8zc73GeXsSVyrFHed1f5N6fh5 byoScOVRiQKBgEnWrmZ/qMhTklL09E15AZyDmyF8LLtLixq3N8TxOLk2xKyyFyI4 WWqqecISoMpRiN2bLBDyYN7bzOIAnCng5Dmndpq4MaxjlTwMSUt3qXbHvQ1qThkF IWx2GBrWrSFNd5wd1p5Q6fxSpr2OnUes+VjQHNhX/kUhCBb7/Poa/vNZAoGAb4zC QmGh5aZ1Ylvb06GsjFr+3ncspibO+PIJyX59IRUfE2r0mVYKN/tVImWeYCsg/o7F e8y/GNzU4VPSt+HgiI6gQbZm3BM+aQQPnjuADpnoGohy71uqBxI1VhgOTSL82bCt g6iVoY1Jx964Ul/9nW98ZzjY+N/vdEpkoHNBsFECgYEAv1f3SQ1x0Bi1U8IKbxmj iB4gb8oG08I198x91p0uvpV/t3iW5whcEGWQaOK6+UFOCyBreJs63kfifyeGk/VW GumYK5PcpisttwqbX9tubZDWxYSse5CuTyyVng7Cq701SsJ7kIIDRIo2z5BgKNSK RJGRkgcBo2g+GS+XBP8cEG0= -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- 45dd5b67b5a2f6218051b75aa2f27c26 c3e40a0a9694c1ca13ed5d2e9e7b677d 673180b0957be9b9865a3ce08553fa9e 15c2bfd7587592c819d119c493023bb1 489c593f74ffe5ac009be74ea22d4c72 e244efda7c545929355c7071564ff7c6 bd84db4b273edad7febdbbbab00df9e9 4fdfb9af0b56cb30eb0076e3420b8eae dffacd97c98763e0243d66a1d51a36c6 0ff085e1953a5d7e86f6a324fe29e024 b78378a78d71fa5ba2acedafcb2d2bc1 b80548a509f95bddc354f671fa8cd92a 351b44e00c72a87e3bd6fe79f516274d 27520e7ea3bec65771ba7d39d2865994 df834acdd526abe913ccb70010e5d7b8 bb850748947ff820a009868d6b0f1b47 -----END OpenVPN Static key V1----- </tls-auth>
Скопируем получившийся файл в домашнюю директорию пользователя:
$ sudo /etc/openvpn/client/sergey-ivanov.ovpn /home/ivanov/sergey-ivanov.ovpn
Остановим VPN-клиент и удалим его из автозагрузки:
$ sudo systemctl stop openvpn-client@config.service $ sudo systemctl disable openvpn-client@config.service
Дальше установим два пакета и перезагрузим службу NetworkManager
:
$ sudo apt install network-manager-openvpn $ sudo apt install network-manager-openvpn-gnome $ sudo systemctl restart NetworkManager.service
Теперь идем в настройки и добавляем новый VPN-сервер:
Выбираем пункт «Импортировать из файла»:
Жмем кнопку «Добавить» справа сверху:
Теперь можно в любой момент подключиться к VPN-серверу:
Подключиться к VPN-серверу можно и не заходя в настрйки:
Собственно, такие несложные действия пользователь в состоянии выполнить самостоятельно, без нашего участия.
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 12 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 11 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 10 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 9 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 8 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 6 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 5 из 12
Поиск: Linux • SSL • Ubuntu • VPN • Клиент • Ключ • Конфигурация • Локальная сеть • Маршрутизация • Настройка • Сервер • Установка • Сертификат