Ubuntu server openvpn: Service — OpenVPN | Server documentation

Содержание

🖧 Как установить и подключить OpenVPN-клиент на Ubuntu – Information Security Squad

Предположим, что один из ваших клиентов хочет защитить соединение со своим сервером.

Клиент настроил сервер OpenVPN в своей сети и предоставил вам файл конфигурации клиента.

В этом случае вам нужно только установить клиентское приложение OpenVPN в вашу систему и подключиться к удаленной сети vpn.

Это руководство поможет вам установить клиентское программное обеспечение OpenVPN и подключиться к удаленной сети vpn.

Предпосылки

  • Вы должны иметь запущенный сервер OpenVPN на удаленном хосте
  • Должен быть файл конфигурации клиента OpenVPN
Шаг 1 – Установите клиент OpenVPN

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

sudo apt update
sudo apt install openvpn -y
Шаг 2 – Подключение к серверу OpenVPN

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

openvpn --config client.
ovpn

Вы должны увидеть следующий вывод:

Sat Feb 29 15:39:18 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]69.87.218.145:1194
Sat Feb 29 15:39:18 2020 Socket Buffers: R=[212992->212992] S=[212992->212992]
Sat Feb 29 15:39:18 2020 UDP link local: (not bound)
Sat Feb 29 15:39:18 2020 UDP link remote: [AF_INET]69.87.218.145:1194
Sat Feb 29 15:39:18 2020 TLS: Initial packet from [AF_INET]69.87.218.145:1194, sid=6d27e1cb 524bd8cd
Sat Feb 29 15:39:18 2020 VERIFY OK: depth=1, CN=Easy-RSA CA
Sat Feb 29 15:39:18 2020 VERIFY OK: depth=0, CN=tecadmin-server
Sat Feb 29 15:39:18 2020 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 bit RSA
Sat Feb 29 15:39:18 2020 [tecadmin-server] Peer Connection Initiated with [AF_INET]69.87.218.145:1194
Sat Feb 29 15:39:19 2020 SENT CONTROL [tecadmin-server]: 'PUSH_REQUEST' (status=1)
Sat Feb 29 15:39:19 2020 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.
67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 20,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM' Sat Feb 29 15:39:19 2020 OPTIONS IMPORT: timers and/or timeouts modified Sat Feb 29 15:39:19 2020 OPTIONS IMPORT: --ifconfig/up options modified Sat Feb 29 15:39:19 2020 OPTIONS IMPORT: route options modified
Шаг 3 – Проверьте соединение

После успешного подключения OpenVPN назначит IP-адрес вашей системе.

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

ip a show tun0

Вывод:

4: tun0: <pointopoint,multicast,noarp,up,lower_up> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::7226:57b1:f101:313b/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever</pointopoint,multicast,noarp,up,lower_up>

Вы также можете проверить журнал сервера OpenVPN, чтобы проверить состояние соединения:

tail -f /var/log/openvpn. log
Fri Feb 21 15:39:18 2020 45.58.34.83:37445 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 bit RSA
Fri Feb 21 15:39:18 2020 45.58.34.83:37445 [client] Peer Connection Initiated with [AF_INET]45.58.34.83:37445
Fri Feb 21 15:39:18 2020 client/45.58.34.83:37445 MULTI_sva: pool returned IPv4=10.8.0.6, IPv6=(Not enabled)
Fri Feb 21 15:39:18 2020 client/45.58.34.83:37445 MULTI: Learn: 10.8.0.6 -> client/45.58.34.83:37445
Fri Feb 21 15:39:18 2020 client/45.58.34.83:37445 MULTI: primary virtual IP for client/45.58.34.83:37445: 10.8.0.6
Fri Feb 21 15:39:19 2020 client/45.58.34.83:37445 PUSH: Received control message: 'PUSH_REQUEST'
Fri Feb 21 15:39:19 2020 client/45.58.34.83:37445 SENT CONTROL [client]: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 20,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM' (status=1)
Fri Feb 21 15:39:19 2020 client/45.
58.34.83:37445 Data Channel: using negotiated cipher 'AES-256-GCM' Fri Feb 21 15:39:19 2020 client/45.58.34.83:37445 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key Fri Feb 21 15:39:19 2020 client/45.58.34.83:37445 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key

Заключение

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

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

 

Установка и настройка OpenVPN в client-server режиме

В предыдущей статье мы познакомились с простой, быстрой, но не очень безопасной настройкой VPN соединения в режиме point-to-point используя OpenVPN. Предыдущая настройка имеет серьезный недостаток: к серверу может одновременно подключиться только один клиент, и если секретный ключ будет скомпрометирован, его нужно будет менять как на серверной стороне, так и на клиентской (т.е. опять передавать ключ по безопасному каналу и генерировать новый). Также, если шифрованный трафик был записан – с получением ключа злоумышленник может декодировать его.

В данной статье пойдет речь о настройке безопасного OpenVPN соединения в client/server режиме с использованием сертификатов и возможностью их отзыва (CRL). В роли OpenVPN клиентов будут выступать Ubuntu 14.04, Windows 8.1 и телефон c Android 5.1. В роли OpenVPN сервера будет выступать Ubuntu 14.04 с дополнительным сервером доступным только через локальную сети.
 
 
 

У нас будет локальная сеть за OpenVPN сервером к которой каждый OpenVPN клиент должен иметь доступ. Для подключения будут использоваться персональные сертификаты.

Таблица 2.1 – IP-адреса и название сертификатов/ключей удаленных узлов

 

WAN IP

LAN IP

Сертификат и ключ

Windows client

46. 125.50.50

frodo-qa

Android client

87.125.80.50

jack-hr

Ubuntu client

82.30.5.50

alex-it

Ubuntu VPN server

62.90.120.200

192.168.100.100

vpn-server

Ubuntu LAN server

192.168.100.101


Рисунок 2. 1 – Схема подключений

Все нужные данные у нас есть, приступаем к практике.

2.1 Настройка OpenVPN сервера

Для начала нужно настроить главный элемент любой VPN сети – VPN сервер. Логинимся и устанавливаем.


[email protected]:~# apt-get install openvpn

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

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


[email protected]:~# cat /etc/openvpn/client_server.conf
# Протокол
proto udp
# На каком порту будет работать OpenVPN
port 1194
# Тип устройства
dev tun
# Автоматически присваиваем адреса всем клиентам в этом диапазоне
server 10.90.90.0 255.255.255.0
# Если будут Windows клиенты – нужно ставить subnet топологию
topology subnet
# Не перечитывать файлы ключей при перезапуске OpenVPN
persist-key
# Не перезапускать/пересоздавать tun/tap устройство и скрипты при перезапуске OpenVPN
persist-tun
# Каждые 10 сек пинговать удаленный хост и если через 60 сек нет ответа – перезапустить связанный туннель. 
keepalive 10 60
# Добавить связь между OpenVPN клиентами
client-to-client
# Позволять подключение только тех клиентов, у которых сертификат X.509 EKU с атрибутом "TLS Web Client Authentication"
remote-cert-tls client
# Дополнительный уровень HMAC аутентификации против DDoS c direction=0 (в клиентов будет 1).
tls-auth        /etc/openvpn/certs/ta.key 0
# Diffie Hellman параметры для временных ключей
dh              /etc/openvpn/certs/dh3048.pem
# Рутовый сертификат
ca              /etc/openvpn/certs/ca.crt
# Подписанный сертификат VPN сервера
cert            /etc/openvpn/certs/vpn-server.crt
# Приватный ключ VPN сервера
key             /etc/openvpn/certs/vpn-server.key
# CRL (certificate revocation list) для отзыва цифровых сертификатов
crl-verify      /etc/openvpn/certs/crl.pem
# Юзер и група от имени которого запускать OpenVPN сервер
user nobody
group nogroup
# Уровень логирования
verb 5
# Режим запуска - демон
daemon
# Путь к лог файлу
log-append /var/log/openvpn-server.
log # Статус VPN подключений пишем каждые 3 сек status /var/run/openvpn.status 3 # Маршрут, который должен добавит каждый клиент себе в таблицу маршрутизации для доступа к LAN сети за сервером push "route 192.168.100.0 255.255.255.0"

Для вышенаписанного client_server.conf нужно создать все упомянутые ключи и сертификаты.
Инструкцию по их созданию можно почитать в этой статье.
Создадим файл параметров Diffie-Hellman и tls-auth ключ.


[email protected]:~# openssl dhparam -out /etc/openvpn/certs/dh3048.pem 2048
[email protected]:~# openvpn --genkey --secret /etc/openvpn/certs/ta.key

Ключ ta.key – это тот же secret ключ из предыдущей статьи.

Будем полагать, что вы прочитали статью по созданию ключей или имеете свои клиентские и серверные ключи. Так же не забываем поставить права на папку с ключами и сменить владельца, так как у нас сервер запускается от имени nobody:nogroup.


[email protected]:~# chown -R nobody:nogroup /etc/openvpn/certs
[email protected]:~# chmod 700 /etc/openvpn/certs

2.1.2 Настройка обратной маршрутизации

Когда создается любой VPN туннель – всегда возникает вопрос маршрутизации. В нашем случаи VPN server должен маршрутизировать все пакеты от VPN клиентов в свою LAN сеть и обратно. Маршрут от клиентов к удаленной LAN сети через VPN туннель мы добавили (push директива в

client_server.conf). Но нам также нужен обратный маршрут через LAN от каждого сервера в DATACENTER сети к VPN клиенту через VPN туннель. В данном случи мы можем прописать статические маршруты на каждом из DATACENTER серверов обратно к VPN клиенту, но это очень непрактичный и тугой вариант если количество серверов больше десятка. Мы просто добавим маскарадинг на VPN server-е, что позволит нам подменять IP каждого VPN клиента на IP VPN server-а.


[email protected]:~# iptables -t nat -I POSTROUTING -o eth2 -s 10. 90.90.0/24 -j MASQUERADE

Теперь каждый пакет VPN клиента будет идти через VPN туннель, после этого на VPN сервере source IP подменяется на IP VPN сервера (192.168.100.100) и уходит в DATACENTER сеть. После чего каждый хоп думает, что пакет пришел от их собрата и отправляет ответ обратно на VPN сервер, а сам сервер при получении пакета – отправляет его через туннель к клиенту.
Также нужно добавить возможность проброса пакетов между интерфейсами.


[email protected]:~# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

[email protected]:~# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

В нашем случаи этого достаточно для маршрутизации.

2.1.3 Запуск VPN сервера

Осталось только запустить VPN сервер и посмотреть логи, все ли хорошо.


[email protected]:~# /etc/init.d/openvpn start
 * Starting virtual private network daemon(s)...
 * Autostarting VPN 'client_server'
Enter Private Key Password:

[email protected]:~# tail /var/log/openvpn-server.log
Mon Jan 11 21:36:00 2016 us=907493 /sbin/ip link set dev tun0 up mtu 1500
Mon Jan 11 21:36:00 2016 us=910880 /sbin/ip addr add dev tun0 10.90.90.1/24 broadcast 10.90.90.255
Mon Jan 11 21:36:00 2016 us=914641 Data Channel MTU parms [ L:1541 D:1450 EF:41 EB:4 ET:0 EL:0 ]
Mon Jan 11 21:36:00 2016 us=918214 GID set to nogroup
Mon Jan 11 21:36:00 2016 us=918266 UID set to nobody
Mon Jan 11 21:36:00 2016 us=918285 UDPv4 link local (bound): [undef]
Mon Jan 11 21:36:00 2016 us=918295 UDPv4 link remote: [undef]
Mon Jan 11 21:36:00 2016 us=918306 MULTI: multi_init called, r=256 v=256
Mon Jan 11 21:36:00 2016 us=918357 IFCONFIG POOL: base=10.90.90.2 size=252, ipv6=0
Mon Jan 11 21:36:00 2016 us=918383 Initialization Sequence Completed

Как видим, все гуд. Теперь можно, также, проверить статус подключений.


[email protected]:~# cat /var/run/openvpn.status
OpenVPN CLIENT LIST
Updated,Mon Jan 11 21:37:51 2016
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
GLOBAL STATS
Max bcast/mcast queue length,0
END

Как видим, пока у нас нет подключений.

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

Для настройки Linux клиента нам нужен установленный клиент, конфигурационный файл и сертификаты.
Установка OpenVPN клиент под Ubuntu 14.04 очень проста.


[email protected]~# apt-get install openvpn

Как генерировать клиентские сертификаты и ключе можно познать в этой статье.
Осталось создать конфигурационный файл.


[email protected]:~# cat /etc/openvpn/vpnclient.conf
# Режим клиента
client
# Протокол
proto udp
# Порт к которому будет подключаться OpenVPN клиент
port 1194
# Тип устройства
dev tun
# Адрес OpenVPN сервера
remote 62.90.120.200
# Использовать динамический порт для обратной связи
nobind
# Позволять подключение только серверу у которого сертификат X.509 EKU с атрибутом “TLS Web Server Authentication”
remote-cert-tls server
# Это я уже описал в серверной части 
persist-key
persist-tun
tls-auth        /etc/openvpn/certs/ta.key 1
ca              /etc/openvpn/certs/ca.crt
cert            /etc/openvpn/certs/alex-it.crt
key             /etc/openvpn/certs/alex-it.key
user nobody
group nogroup
verb 5
daemon
log-append /var/log/openvpn-client.log

Осталось запустит клиент.


[email protected]:~# /etc/init.d/openvpn start
* Starting virtual private network daemon(s)...
* Autostarting VPN 'vpnclient'
Enter Private Key Password:

[email protected]:~# tail /var/log/openvpn-client.log
Mon Jan 11 22:13:13 2016 us=29323 TUN/TAP device tun0 opened
Mon Jan 11 22:13:13 2016 us=29426 TUN/TAP TX queue length set to 100
Mon Jan 11 22:13:13 2016 us=29478 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Mon Jan 11 22:13:13 2016 us=29538 /sbin/ip link set dev tun0 up mtu 1500
Mon Jan 11 22:13:13 2016 us=47265 /sbin/ip addr add dev tun0 10.90.90.2/24 broadcast 10.90.90.255
Mon Jan 11 22:13:13 2016 us=55086 /sbin/ip route add 192.168.100.0/24 via 10.90.90.1
Mon Jan 11 22:13:13 2016 us=61943 GID set to nogroup
Mon Jan 11 22:13:13 2016 us=62002 UID set to nobody
Mon Jan 11 22:13:13 2016 us=62023 Initialization Sequence Completed

Как видим, мы успешно подключились к OpenVPN серверу. Теперь нужно проверить доступ к LAN серверу, которой доступен только по локальному IP в DATACENTER сети.


[email protected]:~# ping -c 4 192.168.100.101
PING 192.168.100.101 (192.168.100.101) 56(84) bytes of data.
64 bytes from 192.168.100.101: icmp_seq=1 ttl=52 time=111 ms
64 bytes from 192.168.100.101: icmp_seq=2 ttl=52 time=117 ms
64 bytes from 192.168.100.101: icmp_seq=3 ttl=52 time=113 ms
64 bytes from 192.168.100.101: icmp_seq=4 ttl=52 time=111 ms

Как видим, все работает как положено. Также можно проверить статус сервера.


[email protected]:~# cat /var/run/openvpn.status
OpenVPN CLIENT LIST
Updated,Mon Jan 11 22:13:45 2016
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
alex-it,82.30.5.50:42271,6634,7728,Mon Jan 11 22:13:15 2016
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.90.90.2,alex-it,82.30.5.50:42271,Mon Jan 11 22:14:45 2016
GLOBAL STATS
Max bcast/mcast queue length,0
END

Как видим, у нас есть первый подключенный клиент.

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

Windows OpenVPN клиент можно скачать здесь. Установка стандартная. После установки можно создать отдельную папку со всеми нужными файлами/конфигурациями и закинуть в папку config (Путь — c:\Program Files\OpenVPN\config\).


PS C:\Program Files\OpenVPN\config> ls DATACENTER

    Directory: C:\Program Files\OpenVPN\config\DATACENTER

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         1/13/2016  10:22 PM       1155 ca.crt
-a---         1/13/2016  10:22 PM       4346 frodo-qa.crt
-a---         1/13/2016  10:22 PM       1834 frodo-qa.key
-a---         1/13/2016  10:22 PM        636 ta.key

Теперь добавим конфигурационный файл с расширением *.ovpn (формат конфигурационных файлов для OpenVPN Windows клиентов).


PS C:\Program Files\OpenVPN\config> cat .\DATACENTER\windows-client.ovpn
# Режим клиента
client
# Протокол
proto udp
# Порт к которому будет подключаться OpenVPN клиент
port 1194
# Тип устройства
dev tun
# Адрес OpenVPN сервера
remote 62.90.120.200
# Использовать динамический порт для обратной связи
nobind
# Позволять подключение только серверу у которого сертификат X.509 EKU с атрибутом "TLS Web Server Authentication"
remote-cert-tls server
# Это я уже описал в серверной части 🙂
persist-key
persist-tun
tls-auth           ta.key 1
ca                 ca.crt
cert               frodo-qa.crt
key                frodo-qa.key
verb 5

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

Рисунок 2.1 – Меню подключения к удаленному OpenVPN серверу

Далее нужно ввести пароль на секретный ключ.


Рисунок 2.2 – Запрос на ввод пароля на ключ

После ввода пароля мы получим уведомление о успешном подключении.


Рисунок 2.3 – Успешное подключение

Теперь осталось пропинговать VPN сервер и LAN сервер.


PS C:\Program Files\OpenVPN\config> ping 10.90.90.1

Pinging 10.90.90.1 with 32 bytes of data:
Reply from 10.90.90.1: bytes=32 time=124ms TTL=46
Reply from 10.90.90.1: bytes=32 time=127ms TTL=46
Reply from 10.90.90.1: bytes=32 time=120ms TTL=46
Reply from 10.90.90.1: bytes=32 time=138ms TTL=46

PS C:\Program Files\OpenVPN\config> ping 192.168.100.101

Pinging 192.168.100.101 with 32 bytes of data:
Reply from 192.168.100.101: bytes=32 time=127ms TTL=45
Reply from 192.168.100.101: bytes=32 time=129ms TTL=45
Reply from 192.168.100.101: bytes=32 time=122ms TTL=45
Reply from 192.168.100.101: bytes=32 time=131ms TTL=45

Все ок. Теперь смотрим статус сервера.


[email protected]:~# cat /var/run/openvpn.status
OpenVPN CLIENT LIST
Updated,Wed Jan 13 23:06:10 2016
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
frodo-qa,46.125.50.50:56778,31143,13286,Wed Jan 13 22:46:15 2016
alex-it,82.30.5.50:42271,25323,26470,Wed Jan 13 22:06:39 2016
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.90.90.2,alex-it,82.30.5.50:42271,Wed Jan 13 22:55:09 2016
10.90.90.3,frodo-qa,46.125.50.50:56778,Wed Jan 13 22:55:44 2016
GLOBAL STATS
Max bcast/mcast queue length,1
END

Как видим, у нас теперь подключено два клиента. Осталось проверить подключение с мобильного устройства.

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

Для настройки мобильного OpenVPN нам нужно закинуть все ключи, сертификаты и файлы на телефон.


Рисунок 2.4 – Ключи в папке на телефоне

Далее нужно установить OpenVPN клиент. К примеру OpenVPN for Android.


Рисунок 2.5 – OpenVPN for Android приложение

После установки, запускаем приложение и нажимаем кнопку импортирования конфигурации.


Рисунок 2.6 – Внешний вид OpenVPN for Android приложения

Далее ищем нашу папку и выбираем mobile-client.ovpn файл.


Рисунок 2.7 – OpenVPN конфигурация

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


Рисунок 2.8 – Успешная импортация OpenVPN конфигурации

После сохранения у нас появится новое подключение с названием mobile-client. Вы также можете пройтись по настройкам, чтобы убедиться, что все ок.


Рисунок 2.9 – Вид нового OpenVPN подключения

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


Рисунок 2.10 – Вид запроса на ввод пароля для ключа

После ввода пароля и успешного подключения мы получим следующий вывод.


Рисунок 2.11 – Лог подключения

Как видно, мы успешно подключились. Теперь можно пингануть OpenVPN сервер.


Рисунок 2.12 – Пинг удаленного OpenVPN сервера

Сервер доступен. На остаток проверим статус подключений на серверной стороне.


[email protected]:~# cat /var/run/openvpn.status
OpenVPN CLIENT LIST
Updated,Wed Jan 13 23:06:10 2016
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
frodo-qa,46.125.50.50:56778,31143,13286,Wed Jan 13 22:46:15 2016
jack-hr,87.125.80.50:52070,5037,4777,Wed Jan 13 23:51:03 2016
alex-it,82.30.5.50:42271,25323,26470,Wed Jan 13 22:06:39 2016
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.90.90.4,jack-hr,87.125.80.50:52070,Wed Jan 13 23:51:04 2016
10.90.90.2,alex-it,82.30.5.50:42271,Wed Jan 13 22:55:09 2016
10.90.90.3,frodo-qa,46.125.50.50:56778,Wed Jan 13 22:55:44 2016
GLOBAL STATS
Max bcast/mcast queue length,1
END

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

Установка и настройка OpenVPN в Linux

VPN – Virtual Private Network, т. е. защищённая частная сеть, которая объединяет в себе несколько разных сетей, соединённых через Интернет. OpenVPN – это свободная реализация этой технологии. Сети VPN удобны тем, что позволяют получить доступ к частным сетям из любой точки в сети Интернет верифицированным клиентам. Многие организации таким образом строят свои локальные или интрасети, когда их офисы (сервера и компьютеры) расположены далеко (даже на разных континентах) друг от друга. Это единственный вариант в такой ситуации поскольку аренда выделенного физического канала связи (кабели по дну моря например) — слишком дорогое удовольствие. Таким образом сотрудники могут подключаться к сети своей организации из дома или из любой другой точки, имея только доступ в интернет и специальный ключ. Именно с помощью ключей шифрования организуется туннели связи, объединяющие разные сети в одну защищённую VPN-структуру.

Что для этого нужно?

Настройка OpenVPN требует наличия следующих компонентов:

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

Следует отметить, что центр сертификации (ЦС) рекомендуется использовать на отдельной машине. ЦС служит для обслуживания запросов на сертификаты.

Установка ПО

Это, пожалуй самый простой этап. Здесь достаточно воспользоваться менеджером пакетов или системой управления пакетами (СУП) для установки требуемых пакетов ПО. Для любого из популярных дистрибутивов Linux они доступны из стандартный репозиториев. Например, для Ubuntu 18.04:

$ sudo apt install openvpn easy-rsa

В зависимости от используемого дистрибутива наименования пакетов могут различаться. Оба пакета нужно устанавливать и на сервере, и у клиентов.

Организация центра сертификации

Это очень важный этап, поскольку от наличия собственного ЦС зависит безопасность организуемой сети VPN. Также это удобно, поскольку собственный ЦС позволяет легко управлять ключами и сертификатами, а также распространять их для клиентов. Также отпадает необходимость хранения всех сертификатов клиентов, поскольку их подписи находятся у ЦС.

ЦС будет находиться в каталоге /etc/openvpn/easy-rsa. Вообще, ЦС можно разместить где угодно. Также необходимо скопировать в хранилище конфигурационные скрипты Easy-RSA:

sudo mkdir /etc/openvpn/easy-rsa
sudo cp -R /usr/share/easy-rsa /etc/openvpn/easy-rsa

Теперь необходимо развернуть сам ЦС в каталоге /etc/openvpn/easy-rsa. Для этого следует выполнить в нём некоторые скрипты (которые ранее были сюда скопированы) для создания инфраструктуры для работы ЦС:

$ sudo -i
# cd /etc/openvpn/easy-rsa
# source ./vars
# ./clean-all
# ./build-ca

Для удобства командная консоль была переведена в «суперпользовательский» режим командой sudo -i. Вторая команда устанавливает все необходимые переменные окружения. Третья команда проверяет, существует ли каталог keys/ и если его нет, то создаёт его. Если он существует, то производится очистка его содержимого. Далее устанавливаются необходимые режимы доступа. Четвёртая команда помещает в keys/ серверные ключи и сертификаты по-умолчанию.

Генерация и настройка ключей клиентов

На данном этапе нужно произвести похожие настройки для Easy-RSA на клиентских машинах, с той лишь разницей, что генерировать ключи нужно на основе главного сертификата серверной машины, на которой работает OpenVPN-сервер. Главный сертификат нужно скопировать на клиентские машины. Но для начала следует создать инфраструктуру клиентского окружения для работы с ключами:

$ sudo cp -R /usr/share/easy-rsa /etc/openvpn/easy-rsa

Далее, нужно скопировать главный сертификат сервера (файл *.crt) на все клиентские компьютеры. Для этого удобно использовать утилиту scp:

$ sudo scp [email protected]:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys

Далее можно создавать (генерировать) клиентские ключи, используя скопированный с сервера сертификат. Для этого на клиентском компьютере в каталоге /etc/openvpn/easy-rsa нужно выполнить следующие команды:

$ sudo -i
# cd /etc/openvpn/easy-rsa
# source ./vars
# build-req John

Важно понимать, что для того, чтобы генерация клиентских ключей была возможной, необходимо, чтобы серверный сертификат находился в каталоге keys/ у клиентов. Сгенерированные в результате клиентские ключи позволяют подключаться к серверу OpenVPN. Однако, для того, чтобы сервер их принимал и предоставлял доступ к VPN-сети, необходимо, чтобы эти ключи (файлы *.csr) были подписаны на самом сервере. Можно также, используя SCP, отправить их на сервер:

$ scp /etc/openvpn/easy-rsa/keys/John.csr [email protected]:~/

Теперь, на сервере, предварительно перейдя в каталог /etc/openvpn/easy-rsa, можно выполнить подпись переданного ключа John.csr:

$ sudo -i
#  cd /etc/openvpn/easy-rsa
# ./sign-req ~/John

В результате будет создан уже подписанный сервером сертификат, который необходимо отдать клиенту:

$ sudo scp [email protected]:/home/John.crt /etc/openvpn/easy-rsa/keys

На этом организация инфраструктуры для работы с ключами (и сертификатами) завершена. Теперь этого достаточно, чтобы сервер OpenVPN и клиенты установили защищённую связь. Однако необходимо ещё произвести некоторые настройки самой системы OpenVPN.
Также, если планируется для более надёжной защиты использовать TLS-шифрование, то на стороне сервера всё в том же в каталоге /etc/openvpn/easy-rsa выполнить команду:

$ ./build-dh

Настройка сервера OpenVPN

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

Для более удобного задания конфигурации существуют файлы-шаблоны, доступные в /usr/share/doc/openvpn/examples/sample-config-files/. На их основе можно относительно быстро сконфигурировать целый сервер OpenVPN или его клиент:

$ zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Эта команда (точнее конвейер команд) извлечёт и архива server.conf.gz текстовые данные и создаст из них конфигурационный файл server.conf с базовыми настройками работы OpenVPN-сервера. Теперь нужно задать, собственно, актуальные опции. Протокол и номер порта:

port 1194
proto udp

Серверные ключи и сертификаты из каталога /etc/openvpn/easy-rsa/keys также необходимо определить в конфигурации:

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/ca.crt
key /etc/openvpn/easy-rsa/keys/ca.key
dh /etc/openvpn/easy-rsa/keys/dh.pem

Также нужно указать диапазон VPN-сети:

server 10.8.0.0 255.255.255.0

Эта запись определяет адрес самого OpenVPN-сервера (10.8.0.0), а также маску его сети. В итоге рабочая конфигурация должна выглядеть следующим образом:

port 1194
proto udp
comp-lzo
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/ca.crt
dh /etc/openvpn/easy-rsa/keys/dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

Теперь можно сохранить файл server.conf. Настройка сервера OpenVPN завершена. Далее нужно выполнить его запуск с помощью команды openvpn, указав соответствующий конфигурационный файл:

$ openvpn /etc/openvpn/server.conf

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

Теперь необходимо настроить клиентские машины. Также нужно воспользоваться файлами шаблонами, но они доступны без распаковки:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf

Для клиента может быть задано несколько конфигурационных файлов для подключения к разным серверам OpenVPN. Ключевыми параметрами для клиентской конфигурации являются remote, ca, cert, а также key:

remote 194.67.215.125 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/John.crt
key /etc/openvpn/easy-rsa/keys/John.key

Здесь remote задаёт IP-адрес сервера OpenVPN в Интернет, а также порт подключения, который должен совпадать с тем, что указан в серверной конфигурации. Параметр ca – это серверный сертификат, а cert – созданный на его основе ключ John.csr, а теперь подписанный сертификат John.crt. Параметр key – это закрытый ключ клиента. Следует отметить, что именно при помощи параметров cert и key обеспечивается подключение клиентов к сети VPN.
Готовая рабочая клиентская конфигурация будет следующей:

client
dev tun
proto udp
remote 194.67.215.125 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/John.crt
key /etc/openvpn/easy-rsa/keys/John.key
tls-auth ta.key 1
comp-lzo
verb 3

Теперь можно запускать OpenVPN на клиентском компьютере:

$ openvpn /etc/openvpn/client.conf

После этого, если всё настроено правильно, клиенты подключатся к VPN. Но на этом ещё не всё. Необходимо настроить перенаправление для туннеля VPN, чтобы пользователи могли направлять и получать через него трафик. Для начала необходимо разрешить серверу пропускать пакеты:

$ sysctl -w net.ipv4.ip_forward=1

Затем разрешить всем подключаться к серверу OpenVPN:

$ iptables -A INPUT -p udp --dport 1194 -j ACCEPT

Ну а также разрешить клиентам доступ в интернет через туннель:

iptables -I FORWARD -i tun0-o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

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

Заключение

В заключение необходимо отметить, что настройка сети VPN – довольно трудоёмкое и ответственное занятие. Особое внимание здесь нужно уделять организации ЦС, распространению ключей и сертификатов, а также форвардингу пакетов. Поэтому для таких задач очень важно иметь хорошую квалификацию по администрированию сетей. Также стоит учитывать, что была рассмотрена настройка OpenVPN для систем Ubuntu, однако принципиальной разницы для других дистрибутивов нет.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как настроить сервер OpenVPN в Ubuntu 16.04

Вступление

Хотите получить безопасный и надежный доступ к Интернету со своего смартфона или ноутбука при подключении к ненадежной сети, такой как WiFi в отеле или кафе? Https://en.wikipedia.org/wiki/Virtual_private_network[Virtual Private Network] (VPN) позволяет обходить ненадежные сети конфиденциально и безопасно, как если бы вы находились в частной сети. Трафик выходит с VPN-сервера и продолжается до места назначения.

В сочетании с HTTPS connections эта настройка позволяет защитить ваши беспроводные логины и транзакции. Вы можете обойти географические ограничения и цензуру, а также защитить свое местоположение и любой незашифрованный HTTP-трафик из ненадежной сети.

https://openvpn.net [OpenVPN] — это полнофункциональное VPN-решение Secure Socket Layer (SSL) с открытым исходным кодом, которое поддерживает широкий спектр конфигураций. В этом руководстве мы настроим сервер OpenVPN на Droplet, а затем настроим доступ к нему из Windows, OS X, iOS и Android. В этом руководстве будут максимально упрощены этапы установки и настройки для этих установок.

Предпосылки

Для завершения этого урока вам понадобится доступ к серверу Ubuntu 16.04.

Вам нужно настроить пользователя без полномочий root с правами + sudo + перед тем, как вы начнете это руководство. Вы можете следовать нашему Ubuntu 16.04 начальному руководству по настройке сервера, чтобы настроить пользователя с соответствующими разрешениями. В связанном учебном пособии также будет установлен * брандмауэр *, который, как мы предполагаем, используется в этом руководстве.

Когда вы будете готовы начать, войдите на свой сервер Ubuntu как ваш пользователь + sudo + и продолжайте ниже.

Шаг 1: Установите OpenVPN

Для начала мы установим OpenVPN на наш сервер. OpenVPN доступен в стандартных репозиториях Ubuntu, поэтому мы можем использовать + apt + для установки. Мы также будем устанавливать пакет + easy-rsa +, который поможет нам настроить внутренний CA (центр сертификации) для использования с нашей VPN.

Чтобы обновить индекс пакета вашего сервера и установить необходимые пакеты, введите:

sudo apt-get update
sudo apt-get install openvpn easy-rsa

Необходимое программное обеспечение теперь на сервере, готово к настройке.

Шаг 2. Настройка CA Directory

OpenVPN — это TLS / SSL VPN. Это означает, что он использует сертификаты для шифрования трафика между сервером и клиентами. Для выдачи доверенных сертификатов нам потребуется настроить наш собственный простой центр сертификации (CA).

Для начала мы можем скопировать каталог шаблона + easy-rsa + в наш домашний каталог с помощью команды + make-cadir +:

Перейдите во вновь созданный каталог, чтобы начать настройку CA:

Шаг 3: Настройте переменные CA

Чтобы настроить значения, которые будет использовать наш CA, нам нужно отредактировать файл + vars + в каталоге. Откройте этот файл сейчас в вашем текстовом редакторе:

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

Внизу файла найдите параметры, которые устанавливают значения по умолчанию для новых сертификатов. Это должно выглядеть примерно так:

~ / OpenVPN-ч / вары

. . .

export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]"
export KEY_OU="MyOrganizationalUnit"

. . .

Измените значения в красном цвете по своему усмотрению, но не оставляйте их пустыми:

~ / OpenVPN-ч / вары

. . .

export KEY_COUNTRY=""
export KEY_PROVINCE=""
export KEY_CITY=""
export KEY_ORG=""
export KEY_EMAIL=""
export KEY_OU=""

. . .

Пока мы здесь, мы также отредактируем значение + KEY_NAME + чуть ниже этого раздела, которое заполняет поле темы. Для простоты мы будем называть это + server + в этом руководстве:

~ / OpenVPN-ч / вары

Когда вы закончите, сохраните и закройте файл.

Шаг 4: Создайте центр сертификации

Теперь мы можем использовать переменные, которые мы установили, и утилиты + easy-rsa + для создания нашего центра сертификации.

Убедитесь, что вы находитесь в вашей директории CA, а затем получите файл + vars +, который вы только что отредактировали:

cd ~/openvpn-ca
source vars

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

OutputNOTE: If you run ./clean-all, I will be doing a rm -rf on /home/sammy/openvpn-ca/keys

Убедитесь, что мы работаем в чистой среде, набрав:

Теперь мы можем построить наш корневой CA, набрав:

Это инициирует процесс создания корневого ключа центра сертификации и сертификата. Поскольку мы заполнили файл + vars +, все значения должны быть заполнен

Сборка и настройка сервера OpenVPN на Ubuntu VPS

Я покажу вам пошаговое руководство по установке и настройке сервера OpenVPN на Ubuntu 14.04 VPS со снимками экрана, как всегда. Я считаю, что вы легко поймете и сможете реализовать все самостоятельно, даже если вы действительно новичок.

В качестве обновления, что такое VPN и OpenVPN? VPN означает виртуальную частную сеть, а OpenVPN — это программное приложение с открытым исходным кодом, которое реализует методы VPN для создания безопасных соединений точка-точка или сайт-сеть в маршрутизируемых или мостовых конфигурациях и средствах удаленного доступа.Короче говоря, это бесплатный механизм и инструмент, позволяющий вам безопасно и конфиденциально просматривать веб-страницы, плюс он позволяет разблокировать ограничение просмотра, избежать цензуры веб-сайта и скрыть ваш реальный IP-адрес (местоположение). Я опубликовал подробное объяснение этого в своих предыдущих сообщениях, которые вы также можете прочитать:

  1. Как установить OpenVPN на CentOS
  2. Как установить OpenVPN AS на Ubuntu
  3. Самый простой автоматический способ установки OpenVPN на Ubuntu

Что вам понадобится

  1. Сервер / VPS под управлением Ubuntu.В этом руководстве я использую Ubuntu 14.04 x64 с 1 ГБ ОЗУ от Digital Ocean (DO). Как всегда, я использую DO для тестирования, так как я могу просто создать и уничтожить сервер, не платя за полный месяц. Не стесняйтесь использовать VPS от любого провайдера, который вам нужен, например Ramnode, Crissic и других.
  2. Вам также могут потребоваться соответствующие знания для использования Putty, SSH и общих команд Unix.
  3. И если вы каким-то образом используете VPS на базе OpenVZ, вы должны включить опции TUN / TAP в панели управления VPS (например,g: SolusVM). Пользователям Xen и KVM это не нужно.

Включить TUN / TAP:

Как установить OpenVPS Server

Шаг 1 — Войдите на свой сервер как root:

Шаг 2 — Чтобы убедиться, что ваш репозиторий Ubuntu обновлен, просто выполните команду apt-get update:

 apt-get update 

Шаг 3 — И как только вы получите сообщение «Готово», теперь вы можете установить OpenVPN и Easy-RSA с помощью этой однострочной команды:

 apt-get install openvpn easy-rsa 

Не забудьте ответить Y на вопрос:

После этого вы увидите что-то вроде этого:

Шаг 4 — Теперь вам нужно получить файл конфигурации для работы OpenVPN.Выполните эту команду:

 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf 

Когда это будет сделано, это не даст никаких результатов.

Шаг 5 — Затем откройте этот файл с помощью вашего любимого текстового редактора, который я предпочитаю использовать Nano, просто введите команду, затем нажмите Enter, и появится текстовый редактор:

 нано /etc/openvpn/server.conf 

Настройка сервера OpenVPN

Шаг 6 — Далее в этом файле есть несколько строк, которые вам нужно отредактировать (настройка OpenVPN):

6.1 — Найдите раздел под названием Параметры Диффи Хеллмана:

, затем измените dh dh2024.pem на dh dh3048.pem , чтобы повысить безопасность шифрования.

6.2 — Затем найдите и этот раздел:

В этом разделе указано, что сервер VPN должен передавать клиентский веб-трафик по назначению. Просто раскомментируйте эту часть, чтобы она выглядела так:

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

Снова

, раскомментируйте две строки конфигурации, чтобы они выглядели так:

Этот раздел указывает OpenVPN настроить DNS-преобразователь с использованием OpenDNS, вы также можете изменить это на Google DNS (8.8.8.8 и 8.8.4.4).

6.4 — Последний, ищите этот раздел:

Раскомментируйте этот раздел:

Вот и все. Теперь сохраните изменения и выйдите. Если вы используете редактор Nano, как я, просто нажмите Control + O, затем Control + X.

Шаг 7 — Вам также необходимо включить переадресацию IP в файле /etc/sysctl.conf, чтобы указать ядру сервера перенаправлять трафик с клиентских устройств в Интернет. Выполните эту команду:

 эхо 1> / proc / sys / net / ipv4 / ip_forward 

ничего не выводит

Затем вы можете отредактировать файл sysctl.conf с помощью Nano или вашего любимого редактора.

 нано /etc/sysctl.conf 

Теперь раскомментируйте строку, чтобы включить пересылку пакетов для IPv4:

сделайте это так:

Теперь сохраните изменения и выйдите (Control + O, затем Control + X в Nano)

Шаг 8 — Затем введите эти две строки команды, чтобы указать UFW разрешить трафик UDP через порт 1194 :

 разрешить ssh
разрешить трафик UDP через порт 1194 

рис:

* UFW = Несложный брандмауэр, приложение брандмауэра по умолчанию входит в Ubuntu 14.04

Шаг 9 — Измените основной файл конфигурации UFW, установив его политику пересылки с помощью Nano:

 нано / и т. Д. / По умолчанию / ufw 

Найдите в этом файле следующую строку: DEFAULT_FORWARD_POLICY = ”DROP”

и замените DROP на ACCEPT

.

Шаг 10 — Кроме того, вам необходимо добавить дополнительные правила UFW для преобразования сетевых адресов и маскировки IP-адресов подключенных клиентов. Введите команду ниже:

 nano / etc / ufw / before.правила 

Затем добавьте дополнительную секцию сразу после правил перед (вверху). Скопируйте и вставьте этот параметр:

 # START OPENVPN ПРАВИЛА
# Правила таблицы NAT
* нац
: ПРИНЯТИЕ ПОСТРОУТИРОВКИ [0: 0]
# Разрешить трафик от клиента OpenVPN к eth0
-A ПОСТРОУТИРОВАНИЕ -s 10.8.0.0/8 -o eth0 -j МАСКАРАД
COMMIT
# END OPENVPN ПРАВИЛА 

вот так выглядит:

Сохраните изменения и закройте редактор (Control + O, затем Control + X в Nano).Выполнено? Просто включите UFW:

 ufw включить 

ответит Y, когда его спросят.

Создание центра сертификации для OpenVPN

Шаг 11 — Вам необходимо скопировать скрипты генерации Easy-RSA в каталог OpenVPN и создать каталог с именем easy-rsa / keys:

 cp -r / usr / share / easy-rsa / / и т. Д. / Openvpn
mkdir / и т. д. / openvpn / easy-rsa / ключи 

Шаг 12 — Теперь вам нужно отредактировать несколько переменных с помощью вашего любимого редактора:

 нано / и т. Д. / Openvpn / easy-rsa / vars 

Прокрутите страницу немного вниз и найдите значения по умолчанию для полей, которые будут помещены в сертификат, измените их в соответствии с вашими предпочтениями:

Шаг 19 — Также ищите эту строку:

 экспорт KEY_NAME = "EasyRSA" 

и замените часть «EasyRSA» на «сервер» для простоты.

Теперь сохраните изменения и выйдите из редактора.

Шаг 20 — Затем сгенерируйте параметры Диффи-Хеллмана с помощью этой команды:

 openssl dhparam -out /etc/openvpn/dh3048.pem 2048 

просто подождите, это может занять несколько минут:

Шаг 21 — Теперь перейдите в каталог easy-rsa и инициализируйте PKI (инфраструктуру открытого ключа). Выдать эти:

 компакт-диск / etc / openvpn / easy-rsa
. ./vars
./ чистый-все 

Последняя команда clean-all — очистить рабочий каталог от всех возможных старых или примеров ключей, поэтому вы можете создать наш новый.

Шаг 22 — Давайте создадим центр сертификации (CA), используя эту простую однострочную команду:

 ./build-ca 

Вам будет предложено несколько вопросов, для каждого из которых просто нажмите Enter. Не волнуйтесь, он уже установлен для ваших записей ранее:

Шаг 23 — Затем создайте ключ сервера с помощью этой команды:

./ build-key-server сервер 

Вы можете заменить сервер тем, что вы определили на шаге 19 выше. Например: если экспортный KEY_NAME — servermom, то он выглядит так:

 ./build-key-server servermom 

Вам снова будет предложен ряд вопросов. Просто нажимайте Enter, пока не увидите сообщение База данных обновлена ​​.

Шаг 24 — Теперь сертификаты и ключи сервера созданы, затем вам нужно переместить их в каталог OpenVPN:

 cp / etc / openvpn / easy-rsa / keys / {server.crt, server.key, ca.crt} / etc / openvpn
ls / и т. д. / openvpn 

, теперь вы должны увидеть, что три файла были перемещены

Шаг 25 — Вот и все. Теперь вы можете запустить OpenVPN с помощью этой простой команды:

 сервис openvpn start 

Тогда в следующий раз вы сможете убедиться, что он запущен, введя эту команду:

 статус openvpn службы 

Использование вашего сервера OpenVPN

Шаг 26 — Прежде чем вы сможете использовать свой недавно построенный сервер OpenVPN, вы должны сначала создать сертификаты и ключи для каждого клиентского устройства, которое будет подключаться к VPN.По-прежнему в каталоге / etc / openvpn / easy-rsa создайте учетные данные для аутентификации для клиента, который в этом примере мы называем client1 . Выполните эту команду:

 ./build-key client1 

Вы можете просто нажимать Enter для каждого вопроса, или вы также можете изменить его значение по умолчанию, но убедитесь, что два последних вопроса оставлены пустыми (нажмите Enter). Но не забудьте ответить Y на самые последние вопросы.

Шаг 27 — Теперь скопируйте пример файла конфигурации клиента в каталог ключей Easy-RSA и переименуйте его как client.конф.

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn 

Шаг 28 — Теперь загрузите файлы client1.crt, client1.key, client.ovpn и ca.crt на свое устройство (ПК, смартфон или планшет). Помните, что файл ca.crt хранится в каталоге / etc / openvpn / на вашем сервере, а остальные три находятся в каталоге / etc / openvpn / easy-rsa / keys / .

Как вы можете загрузить эти файлы с помощью Filezilla или WinSCP.

Шаг 29 — После загрузки откройте файл client.ovpn с помощью простого текстового редактора, например Блокнота (в Windows щелкните правой кнопкой мыши, затем «Открыть с помощью …»). Найдите эту строку: remote my-server-1 1194 . Замените my-server-1 своим IP-адресом server / vps:

В этом примере я использую Sublime вместо Notepad.

Далее, это необязательно, но может потребоваться, если вы хотите использовать его на устройстве, отличном от Windows (iOS, Android или Linux), раскомментируйте раздел пользователей и групп:

Вот и все.Сохраните изменения и выйдите из редактора (Блокнот, Sublime и т. Д.).

ДОПОЛНИТЕЛЬНЫЙ ШАГ

В основном ваш файл конфигурации client.ovpn готов к использованию, но вам нужно скопировать все четыре файла в папку конфигурации вашего клиента OpenVPN. Однако вы можете объединить / объединить все эти четыре файла в один клиент. ovpn файл. Для этого повторно откройте файл client.ovpn с помощью Блокнота. Прокрутите страницу вниз до самого конца и вставьте ниже записи:

 
(вставьте сюда ca.crt)


(вставьте client1.crt здесь)

<ключ>
(вставьте здесь client1.key)
 

Затем откройте файл ca.crt в Блокноте, скопируйте и вставьте все, что внутри него, в файл client.ovpn. Сделайте то же самое для client1.crt и client1.key . После этого сохраните изменения и выйдите из текстового редактора. Вы видите здесь пример моего единого результата. Сохраните изменения и выйдите из текстового редактора

Шаг 30 — Теперь скопируйте файл конфигурации в папку конфигурации OpenVPN по умолчанию (клиентское приложение).В Windows это должно быть C: \ Program Files \ OpenVPN \ config .

Большое примечание: вам нужно скопировать все четыре файла, если вы не объединили их в один файл .ovpn.

Вот и все. Теперь вы можете открыть клиентское приложение OpenVPN и впервые опробовать недавно созданный VPN

Хафф … это действительно долгие шаги, но вы получите совершенно другое удовлетворение, если будете строить его самостоятельно. Однако, если вы хотите сократить все эти шаги и хотите более простой способ установки сервера OpenVPN, просто прочтите и следуйте моему предыдущему руководству по автоматической установке OpenVPN на сервере Ubuntu здесь.Не забудьте подписаться на меня в Twitter, чтобы получать уведомления о новых сообщениях. Спасибо

client_openvpn [Wiki ubuntu-fr]


Клиент OpenVPN позволяет подключиться к частной виртуальной частной сети VPN на сервере OpenVPN.
Этот тип продукта используется для предоставления доступа к защищенным ресурсам в части импорта для подключения к Интернету. Для всех типов пользователей VPN для VPN Cisco, IPSEC, PPTP, L2TP и SSH.Les plus répandus étant les Cisco (éventuellement propriétaire) и Les OpenVPN

Графический интерфейс Sans

Залейте определенное соединение в un VPN , чтобы получить доступ к полной информации. Ce fichier sera généralement fourni avec vos Certificats et clés par le service informatique or le fournisseur gérant le serveur
L’exemple de fichier client officiel serouve: github / OpenVPN / client.conf

Les champs les plus importants de ce fichier sont:

клиент.conf
 #######################################################################
# Пример файла конфигурации OpenVPN 2.0 на стороне клиента #
# для подключения к мультиклиентскому серверу. #
# #
# Эта конфигурация может использоваться несколькими #
# клиентов, но у каждого клиента должно быть #
# собственный сертификат и ключевые файлы. #
############################################

# précise le mode client
клиент

# le type d'interface tun ou tap (определено по умолчанию)
разработчик тап
; dev tun

# défini le protocole (определено по принципу обслуживания)
proto tcp
; proto udp

# adresse publique du serveur (адрес IP ou nom du serveur) et port (1194 par défaut)
удаленный мой-сервер-1 1194

# les Certificats et clés, le Certificat et la clé client peuvent être communs à plusieurs customers (com ci-dessous)
# ou personnalisé (пример: mon_nom.crt et mon_nom.key)
ca ca.crt
сертификат client.crt
ключ client.key

# vérification du Certificat serveur
удаленный сервер сертификатов TLS

# si le serveur use une clé tls-
tls-auth ta.key 1
 

Avec сетевой менеджер-openvpn

Нажмите на кнопку сетевого администратора, чтобы установить чемпион Connexions VPN , чтобы разрешить настройку VPN . Интерфейс является интуитивно понятным, он может быть ограничен по отношению к другим параметрам, доступным в зависимости от конфигурации.

В Xubuntu 16.04 (сейчас) есть пакет network-manager-openvpn-gnome для интерфейса, предлагающего VPN типа openvpn или импортировать конфигурацию openvpn.

Pour une utilization basique, ou si les réglages envoyés par le serveur au client vous conviennent ce moyen est Suffisant.

Этот плагин предлагает импортер профиля, отвечающего за конфигурацию openvpn. Этот вариант имеет практическое значение, которое позволяет разрешить неоплачиваемую директиву по сетевому администратору, которая является двухуровневой, в частности, различными маршрутами для маршрутизатора, которые являются частью трафика, паром vpn и скриптами вверх и вниз.

Depuis Maverick Meerkat (10.10), активировавший сжатие LZO в автоматических параметрах, не работал без доступа к Интернету, когда был подключен к серии VPN .

Avec квпнк

Kvpnc — это графический интерфейс, который полностью соответствует типам типов VPN . Elle vous permettra de configurer presque aussi finement votre configuration, qu’en éditant à la main le fichier de configuration. Нотация записывает все сценарии вверх и вниз, чтобы они не требовали определенных действий и позволяли автоматизировать создание созданных сценариев.

Kvpnc позволяет экспортировать профиль vpn и настраивать конфигурацию для независимого использования.

Avec gopenvpn

Если вы используете простой графический интерфейс, уникальный, уникальный для подключения и подключения, а также не для конфигурации votre VPN , gopenvpn является вероятным фактом для вас. Небольшая программа, созданная в файле tray , убунту и его конфигурация openvpn находятся в / etc / openvpn.

Il existe un paquet binaire pour Jaunty (9.04), неправильное использование, для всех версий и рецензий на установку, необходимую для прохождения исходных текстов, voici la marche à suivre:

 кд ~
svn co https://svn.code.sf.net/p/gopenvpn/svn/trunk/gopenvpn gopenvpn
cd gopenvpn
./autogen.sh
intltoolize
./configure
сделать
sudo make install 

Si vous utilisez Unity, il vous faudra ajouter l’icône de tray de gopenvpn à la liste blanche:

 gsettings set com.canonical.Unity.Panel systray-whitelist "` gsettings get com.canonical.Unity.Panel systray-whitelist | sed s /] /, \ 'gopenvpn \'] / g` "

Avec l’application propre

Некоторые специалисты говорят, что AirVPN предлагает свой собственный графический интерфейс. C’est généralement la méthode la plus simple.

Routage

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

Classiquement, on aime bien utiliser la pasrelle du vpn uniquement for les ressources du réseau auquel по доступу через le vpn uniquement et non pour tout internet.

Le serveur vpn peut envoyer определяет директивы маршрутизации, qui peuvent être suivies ou non. априори openvpn не подходит для использования без необходимости, network-manager-openvpn похож на suivre и kvpnc, который компилирует плутот для openvpn.

Добавьте refuser les directives de routage du serveur, ilsuppit de passer l’option route-nopull , на peut Ensuite définir les routes avec les директив

маршрут назначения masque_réseau Pasrelle

Il est à noter que dans le fichier de configuration d’openvpn, il existe des variables qui permettent de faire les routes facilement, в частности, на заметках переменных vpn_gateway и net_gateway qui sont Соответствующие переходники vpn et celle de la Connexion initiale.

Ainsi pour diriger le traffic destiné au vpn par la pasrelle du vpn, on pourra rentrer un

маршрут 10.0.0.0 255.0.0.0 vpn_gateway (общие параметры vpn настроены для доступа к сети 10.0.0.0 255.0.0.0, чтобы получить доступ к сети)

Залейте разъем в VPN , подключитесь к терминалу

 sudo openvpn fichierdeconfiguration 

Если вы пропустили параметры дополнительных параметров в openvpn, на всех заданных параметрах с параметром –config можно указать другое имя конфигурации.Parmi les option utiles, on remarquera –auth-user-pass qui permet de donner un fichier contenant le nom d’utilisateur et le mot de pas, ce qui permet de ne pas escapeir à rentrer ces derniers à l’invite de commande , et donc de lancer plus facilement openvpn en tâche de fond.

На примечании, что вы не можете управлять правами администратора для такого подключения, он должен быть нормальным автомобильным openvpn с виртуальным интерфейсом, настроенным с помощью ifconfig и переключателем таблиц маршрутизации

Сетевой администратор Avec, на сайте vite d’avoir son mot de pas à rentrer, имеет хранилище плагинов для демона, находящегося в ловушке с правами администратора.

Avec kvpnc, votre mot de стабильный запрос на обслуживание приложений.


Основные авторы: Жиль, Зенигата.

Сервер VPN может использоваться для подключения к Интернету, который используется для клиентов VPN , например, для загрузки торрентов. Дополнительные решения существующие программы типа (vpnautoconnect) или скрипты En voici un basé sur la публикации http://ubuntuforums.org/showthread.php? t = 1941380 & page = 2

 # ------------------------------------------------ -
#! / bin / bash
# автор: alan524 - 06 августа 2014 г.
#
# наблюдение за связью vpn
# -> Arret du program de transfert si le vpn se déconnecte
# -> Essai périodique de reconnexion vpn avec relance prpgramme
#
# ------------------------------------------------- -
# ce program est basé sur la note publiée ci-après:
# --- cf http://ubuntuforums.org/showthread.php?t=1941380&page=2
# ------------------------------------------------- -
#
#
#
# Примечание: нельзя использовать строку для представления программы, потому что имя
# строки будет сохранено как имя задания вместо имени программы.#
функция lanceprocess ()
{
# myprogram01 & # заменить myprogram01 на имя программы
#qbittorrent & #
передача-gtk &

# programID = `pidof myprogram01` # заменить myprogram01 на имя программы
#programID = $ (pidof qbittorrent) #
programID = $ (pidof Transmission-gtk) #
}
#
# nameVPN = "myconnexionVPN" # заменить myconnexionVPN на имя vpn
# nameVPN = "vyprvpn-PPTP" #
nameVPN = "mullvad_linux" #
#
# myIPext = "xxx.xxx.xxx.xxx" # заменить xxx par mon adresse ip externe (провайдер)
myIPext = "12,345.67,89 "
# -----------------
#
#
#
# ==== Проверить etat VPN ====
функция testVPN ()
# если vpn подключен vpn = 1
{
connected = $ (nmcli con status | awk -v nVPN = $ nameVPN '{if ($ 1 == nVPN) {print $ 5;};}')

if ["$ connected" = "oui"] || ["$ connected" = "да"]; тогда
vpnuuid = $ (nmcli con status | awk -v nVPN = $ nameVPN '{if ($ 1 == nVPN) {print $ 2;};}')
vpn = 1
еще
vpn = 0
фи
}

# ==== Проверить etat VPN ====
функция rwaitIPext ()
{
IPext = $ myIPext
vpn = 0
testVPN

пока ["$ IPext" = "$ myIPext"]
делать
а ["$ vpn" = 0]
делать
спать 5
testVPN
сделанный
nmcli -p con up uuid $ vpnuuid # Повторить попытку VPN
# essai sur un 2eme site si le premier est out
IPext = $ (wget -qO- www.adresseip.com | grep -Eo '[0-9] {1,3} (\. [0-9] {1,3}) {3}' | awk 'BEGIN {flag = 0} {if (flag == 0) {печать $ 1; flag = 1;}} ')
если ["$ IPext" = ""]; тогда
IPext = $ (wget -qO- www.ipchicken.com | grep -Eo '[0-9] {1,3} (\. [0-9] {1,3}) {3}' | awk 'НАЧАТЬ {flag = 0} {if (flag == 0) {print $ 1; flag = 1;}} ')
фи
если ["$ IPext" = ""]; тогда
IPext = $ myIPext
фи
если ["$ IPext"! = "$ myIPext"]; тогда
перемена
фи
Sleep 10 # Attention que le vpn soitffectif
сделанный
}


# ==== VPN nok ====
функция nokVPN ()
{
Дата
echo "VPN отключен.Прекращение зависимости от VPN "
если ["$ programID"! = 0]; тогда
kill -SIGKILL $ programID # Соединение потеряно, чтобы остановить зависимость VPN.
фи
echo "VPN-зависимости остановлены."
рабочие места
rwaitIPext # повторное подключение посетителей
echo "Зависимости VPN перезапущены."
lanceprocess # relance du process
Дата
}

# ==== VPN ОК ====
функция okVPN ()
{
сон 1 # период наблюдения 1 секунда
}
# ===================
# ==== Главный процесс ====
# ===================
#
#
programID = 0
vpn = 0
vpnuuid = ''
IPext = ''

Дата
echo "- lancement torrent -"
echo "- Активация видеонаблюдения VPN -"

rwaitIPext # соединение в порядке?
копье

пока правда; делать
testVPN
если [$ vpn = 1]; тогда
okVPN
еще
nokVPN
фи
сделанный
 

Утилизация сына проста:

Как настроить OpenVPN на Ubuntu

Подождите! У нас особая сделка!

Получите CactusVPN за 3 доллара.5 / мес!

  • Разблокируем Netflix, BBC iPlayer и другие 320+ сайтов
  • Наслаждайтесь безопасным и беззаботным скачиванием торрентов
  • Высокоскоростных серверов VPN в 22+ странах
  • Сквозное шифрование AES-256
  • Мы вообще не ведем журналы

30-дневная гарантия возврата денег

Переключить навигацию английский

Выполните пошаговые инструкции по настройке OpenVPN в Ubuntu.

  1. Установить плагин network-manager-openvpn:

    • Открыть терминал: нажмите кнопку «Меню» и напишите «Терминал» (1), чтобы получить к нему доступ.

    • При доступе к Терминалу введите следующее:
      sudo apt-get install network-manager-openvpn (2)
      и нажмите Enter

    • Вы будете проинформированы об установке пакета и спросите, хотите ли вы продолжить.Введите Y (3) и нажмите Enter, чтобы продолжить.

  2. Настроить соединение OpenVPN:

    • Щелкните «Диспетчер сети» (4)> «Подключения VPN» (5)> «Настроить VPN» (6).

    • В окне «Сетевые подключения» выберите вкладку «VPN» (7) и нажмите кнопку «Добавить» (8). В окне «Выберите тип подключения VPN» (9) выберите «OpenVPN» и нажмите кнопку «Создать…» (10).

    • Заполните запрошенные поля, используя свои данные: IP-адрес VPN-сервера (11) и данные вашей учетной записи VPN (12).Загрузите файл центра сертификации OpenVPN. Выберите загруженный файл openvpn-configs_ca.crt (13). Нажмите кнопку «Дополнительно» (14).

    • Чтобы использовать UDP-соединение, введите значение 5555, 992 или 1194 в поле «Использовать настраиваемый порт шлюза» (15).

      Чтобы использовать TCP-соединение, установите флажок «Использовать TCP-соединение» (16) и введите значение 443, 5555, 992 или 1194 в поле «Использовать настраиваемый порт шлюза» (15).

      Теперь OpenVPN на Ubuntu настроен.

  3. Подключитесь к новому подключению OpenVPN через CactusVPN.
    Network Manager (17)> «VPN-подключения» (18)> Ваше соединение CactusVPN (19):

Подобные популярные уроки

Услуги VPN и Smart DNS

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

Попробуйте CactusVPN бесплатно .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *