Твой тайный туннель. Детальный гайд по настройке OpenVPN и stunnel для создания защищенного канала
Содержание:
- Простая настройка OpenVPN с фиксированными адресами клиентов
- О сервисах и блокировках
- Подготовка и первичная настройка
- Tunnelblick for Mac OS X
- Понятная и рабочая инструкция по настройке OpenVPN
- Расширение сетевых границ VPN
- Безопасность OpenVPN
- Firewall iptables
- OpenVPN управление
- Проблема PPPoE и OpenVPN
- Проблема OpenVPN + Virtualbox + Dnsmasq
- Клиенты OpenVPN для разных ОС
- OpenVPN GUI for Windows
- The command line of OpenVPN
- Как установить OpenVPN
- Настройка OpenVPN под Ubuntu
Простая настройка OpenVPN с фиксированными адресами клиентов
- 64-Confusion-3176
- 6 Comments
В этой заметке подробно описана процедура настройки OpenVPN (virtual private network – виртуальная частная сеть), в рамках модели сервер-клиент и способ фиксации адресов клиентов в виртуальной сети, на базе сертификатной аутентификации. Эта технология позволяет быстро и экономично поднимать виртуальные локальные сети на базе существующих физических или интернета.
Стоит заметить, что компания OpenVPN предлагает использовать свой продукт OpenVPN Access Server (пакет openvpn-as) – сервер с возможностью настройки и контроля доступа через web-интерфейс, но, к сожалению, количество клиентов для него ограничено лицензией, поэтому опишем процедуру настройки пакета openvpn.
Прежде всего определимся с адресным диапазоном.
Необходим один внешний фиксированный IP адрес для VPN-сервера (в том случае если VPN будет работать через интернет), условно обозначим его 9.9.9.9
Диапазон внутренних адресов виртуальной сети мы предлагаем использовать такой: 192.168.10.2 — 192.168.10.99
Часть I – настройка сервера
Установим пакет из репозиториев, в Debian/Ubuntu это:
После установки перейдем в папку со скриптами генерации ключей (в различных дистрибутивах путь может различаться: , ):
Отредактируем файл переменных:
В файле vars измените следующие значения:
Следующие команды рекомендуем выполнять под root’ом, дабы не возникло проблем с правами:
Эти команды создают необходимые папки и генерируют сертификаты для сервера и клиентов с данными введенными в файл vars.
Создадим файл настроек:
В него добавьте следующий текст:
Всё, если процедура прошла без ошибок, то сервер готов. В случае init перезапустите его командой:
В последних версиях openvpn требуется указать точное расположение конфигурационного файла при запуске:
Часть II – настройка клиента
Прежде всего установим пакет и создадим папку для хранения ключей:
С сервера надо взять 4 файла:
и скопировать их в папку клиента.
Создаем файл-настроек клиента:
Добавляем в него следующий текст:
Клиент готов, в случае установленного init можно запускать:
В последних версиях openvpn требуется указать точное расположение конфигурационного файла при запуске:
После успешного запуска должен появиться виртуальный сетевой интерфейс с адресом в пределах выделенного на сервере диапазона.
Также, вероятно, вам потребуется настроить корректным образом роутинг на вашей клиентской машине. К примеру в linux для добавления маршрута к другой подсети доступной на сервере обычно это делается так:
Также необходимые подсети вы можете добавить в конфигурационный файл сервера , добавив строки подобно этой:
Это даст возможность не поднимать каждую подсеть вручную.
Часть III – настройка фиксированных адресов
Если есть необходимость в том, чтобы клиентские адреса не выдавались автоматически в пределах диапазона, а были всегда строго фиксированы, то достаточно выполнить следующие инструкции…
Информация о фиксированных адресах в нашем случае будет храниться на сервере, а назначаться они будут в соответствии с ключами (то есть каждый клиент с фиксированным адресом должен будет иметь свой уникальный ключ, ну а те клиенты, кому подходят динамические адреса – могут использовать общий клиентский ключ). Для этого на сервере генерируем два дополнительных ключа:
Создаем файл для client1:
В него добавляем строку:
Аналогичным образом сделаем и для client2:
Где добавим строку:
Такая настройка сделает адрес client1 – 192.168.10.51, а client2 – 192.168.10.52.
К этому стоит добавить, что эти файлы в папке ccd (параметр – client-config-dir) являются отдельными конфигурационными файлами клиентов, можете добавить в них какие-либо параметры по-своему усмотрению.
Настройка клиента для использования фиксированного адреса производится аналогично тому, как описано выше, единственное отличие в шагах, это то, что вместо client.crt и client.key вам надо скопировать и указать в файле конфигурации client1.crt и client1.key или client2.crt и client2.key соответственно.
О настройке OpenVPN-клиентов в системе Windows читайте здесь. Описание возможных параметров и команд по настройке OpenVPN вы можете найти здесь.
О сервисах и блокировках
Существует бесчисленное множество сервисов, которые предоставляют VPN, в том числе и бесплатные. Вот несколько причин, почему бесплатный VPN — это плохая идея.
- Качество. Те, кто пользовался бесплатным VPN, знают, что в большинстве случаев сервис просто ужасен: низкая скорость, постоянные обрывы. Это и неудивительно, ведь, кроме тебя, им одновременно может пользоваться еще пара сотен человек.
- Безопасность. Даже если качество более-менее сносное, ты не знаешь, что на самом деле происходит с твоим трафиком. Хранится и анализируется ли он, кто и в каких целях оперирует сервисом. Бесплатный сыр, как говорится…
- Малое количество или полное отсутствие опций и настроек: нет возможности выбрать шифр, протокол и порт. Остается только пользоваться тем, что дали.
С платными сервисами дела обстоят лучше: можно ожидать какого-то гарантированного качества и наличия настроек. Но ты все еще не можешь знать наверняка, хранятся твои логи непосредственно на сервере или нет. К тому же твоего провайдера могут заблокировать.
Великий китайский файрвол, к примеру, научили определять и блокировать трафик OpenVPN при помощи техники Deep packet inspection (DPI). На какой бы порт ты его ни прятал, будь то UDP 53 или TCP 443, в Китае просто так OpenVPN не попользуешься. Дело в том, что в режиме TLS трафик OpenVPN отличается от обычного трафика HTTPS. Если под рукой есть сниффер, в этом несложно убедиться.
TLS-трафик OpenVPN
А вот как выглядит обычный HTTPS.
Трафик HTTPS
Некоторые популярные платные VPN предоставляют средства обхода DPI, но чем больше популярность, тем больше шанс, что провайдер узнает о сервисе и сможет полностью заблокировать доступ к нему. От полной блокировки не защищен никто, но, когда используешь публичный сервис, шанс всегда выше.
Подготовка и первичная настройка
После покупки сервера и установки системы нам нужно попасть на сервер. Я буду делать это с помощью SSH. Вся конфигурация будет проходить в два этапа: настройка на сервере (включает в себя первичную настройку) и настройка клиентов.
После покупки, скорее всего, тебе дадут доступ по SSH с логином и паролем. Позже лучше создать обычного пользователя, а рутовые команды выполнять после . Нужно это в том числе для защиты от брутфорса — пользователь общеизвестный, и при попытках брута, вероятней всего, будет использоваться именно он.
Для начала нам понадобится подключить репозиторий EPEL — пакет лежит именно там.
На RHEL, CentOS, Fedora, OpenSUSE и, возможно, других установлен и включен по умолчанию SELinux. Проверить это можно командой или . Чтобы не нырять в дебри его настроек и спастись от возможной головной боли, мы переведем его в режим . В этом режиме он будет оповещать нас о нарушениях политик безопасности, но предпринимать никаких действий не станет. Таким образом, у тебя всегда будет возможность его поизучать. Для этого нужно изменить следующую директиву в файле :
Перезагружаемся и ставим необходимые пакеты:
- — файлы для управления утилитой ;
- — сам сервер OpenVPN;
- зачем нужен , попробуй догадаться сам.
Базовая защита
Поскольку китайские боты и скрипт-киддиз не дремлют и, скорее всего, уже сейчас пробуют подобрать пароль к твоему серверу, перенесем на другой порт и запретим логин от рута. Перед тем как это сделать, нужно убедиться, что в системе существует другой пользователь с доступом по SSH, или добавить нового и установить для него пароль.
где — имя пользователя. В идеале нужно использовать ключи SSH, но в этом случае обойдемся паролем. Не забудь проверить, раскомментирована ли строчка в файле . Теперь изменим следующие директивы в файле :
Перечитаем конфиги (), убедимся, что sshd поднялся без проблем (), и попробуем открыть дополнительную сессию SSH, не закрывая текущей.
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
Tunnelblick for Mac OS X
A Graphical User Interface for OpenVPN on Mac OS X is a package called Tunnelblick. To install this GUI, follow the steps below:
- Download the package from the site https://tunnelblick.net. It is a disk image file which contains the GUI, the OpenVPN software, and some documentation;
- Double-click on the .dmg file;
- A Finder window appears on the desktop. The window contains Tunnelblick.app. Double-click it;
- A dialog box will ask you to confirm that you wish to install Tunnelblick.app to Applications. Click the Install button;
- A dialog box will ask if you wish to launch Tunnelblick. Click the Launch button;
- A dialog box will ask for an administrator username/password to secure Tunnelblick. Type administrator credentials and click the OK button;
- A dialog box will appear welcoming you to Tunnelblick. Click the Create and open configuration folder button;
- A Finder window will open with the configuration folder. The window will contain only an alias to Tunnelblick.app. Drag the files zeroshell.ovpn and CA.pem to the window. If you don’t know how to obtain these two files, please read the section
- Double-click on the Launch Tunnelblick alias;
- A dialog box will appear asking if you wish to check for updates to Tunnelblick automatically. Click Check Automatically or Don’t Check, as you prefer;
- Tunnelblick is now installed. Its icon appears near the clock. Click on the Tunnelblick icon, then select the item;
- Click on the Edit Configuration button in the dialog box which appears. Replace zeroshell.example.com with the hostname or the IP address of the VPN server. Save the configuration file and quit;
- Start the VPN connection by clicking on the Tunnelblick icon near the clock and selecting the Connect ‘Zeroshell’ item;
- A dialog box will appear asking for an administrator username/password to secure the configuration file. Type administrator credentials and click OK;
- A dialog box will appear asking for the VPN username and password. Type the VPN username and password and click “OK” (look at the ). You may save them in the Keychain by putting a check in the check box.
In the case in which there are connection problems, select the item to check the OpenVPN’s log messages.
If you want to verify that the IP address that the VPN server has assigned to you, actually belongs to the remote LAN with which you are connected, you have to open a Mac OS X Terminal and at the prompt of the shell type the command:
ifconfig tap0
the result looks like this:
tap0: flags=8843 mtu 1500 inet 192.168.250.1 netmask 0xffffff00 broadcast 192.168.250.255 ether b6:da:d9:91:22:ff open (pid 368)
The line that starts with inet show you that the VPN IP address assigned to you is 192.168.250.1 (by default Zeroshell issues IP addresses which belong to the subnet 192.168.250.0/24 with 192.168.250.254 as Default Gateway). To be sure that the IP traffic is actually routed across the VPN and hence encrypted, you must check that the IP Address and the Default Gateway assigned to the TAP Virtual Interface belong to the remote LAN you are connected. To better check this condition, you could also use the traceroute -n command: if the first hop that is printed belongs to a subnet of the remote LAN (192.168.250.254 by default) then your VPN works fine and the traffic that reaches the remote site is encrypted across Internet.
Понятная и рабочая инструкция по настройке OpenVPN
Я не поленился и проверил работоспособность OpenVPN сервера на двух VPS’ках под управлением Arch Linux (мой основной виртуальный сервер) и Debian (специально арендовал для написания инструкции), а также проверил клиенты под управлением Windows, Debian (Kali Linux, Ubuntu), Arch Linux.
При всей своей детальности, эта инструкция не для полных нубов, как минимум вы:
- должны иметь VPS
- должны уметь пользоваться текстовыми редакторами с интерфейсом командной строки (vim или nano). Nano проще – если не умеете пользоваться vim, то в командах заменяйте его на nano
Ну и вам нужно достаточно сосредоточенности, чтобы не запутаться. Плюсом такого подхода (использование ассиметричного шифрования и различных дополнительных защит) является то, что если не получены ключи шифрования, то передаваемый трафик невозможно расшифровать никакими средствами, никакими суперкомпьютерами.
Расширение сетевых границ VPN
Расширение границ VPN для включения дополнительных машин из подсетей на стороне клиента или сервера. Включение нескольких машин на стороне сервера при использовании маршрутизируемого VPN (dev tun)
Поскольку VPN действует только в режиме точка-точка, может возникнуть желание расширить границы VPN так, чтобы клиенты могли связываться с другими машинами в сети сервера, а не только с самим сервером.
Чтобы проиллюстрировать это примером, предположим, что в локальной сети на стороне сервера используется подсеть 10.66.0.0/24 и для пула VPN-адресов используется 10.8.0.0/24, о чем говорится в директиве server в файле конфигурации OpenVPN-сервера.
Во-первых, вы должны сообщить VPN-клиентам, что подсеть 10.66.0.0/24 доступна через VPN. Это легко можно сделать с помощью следующих директив в конфигурационном файле сервера:
push "route 10.66.0.0 255.255.255.0"
Далее, необходимо настроить на LAN— шлюзе в сети сервера маршрут для маршрутизации пакетов, предназначенных для подсети VPN-клиентов (10.8.0.0/24) через OpenVPN-сервер (это необходимо только тогда, когда сервер OpenVPN и LAN-шлюз – разные машины).
Убедитесь, что вы включили (параметр ядра net.ipv4.ip_forward должен быть равен 1) и TUN/TAP на машине OpenVPN-сервера.
Безопасность OpenVPN
- Используйте proto udp, потому что он по сравнению с TCP обеспечивает более надежную защиту от DoS-атак и сканирования портов.
-
Используйте Алгоритм HMAC для OpenVPN
- Запускайте демон OpenVPN сервера от имени непривилегированного пользователя: user nobody group nobody
Firewall iptables
Открываем UDP порт 1194 и разрешаем пакеты приходящие с интерфейса TUN и TAP или tun.
iptables -A INPUT -p udp --dport 1194 -j ACCEPT iptables -A INPUT -i tap+ -j ACCEPT or iptables -A INPUT -i tun+ -j ACCEPT
OpenVPN управление
Для управления сервером OpenVPN существует не так много программ для управления пользователями.
- Модуль на основе Webmin: OpenVpn Admin Module + пример настройки OpenVPN Server
Проблема PPPoE и OpenVPN
Проблема: Если сервер подключён к ISP при помощи технологии Как работает PPPoE, в этом случае OpenVPN не сможет сделать доступными сети за подключённым клиентом. Не будет отрабатывать команда iroute. Это связано с тем, что PPP прописывает маршрут по умолчанию в таком виде:
# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Т.е. указывается маршрутом по умолчанию интерфейс (ppp0), а не IP адресс, такой записи сервер OpenVPN не понимает, для корректной работы сервера OpenVpn маршрут должен бы вида:
# netstat -rn Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 91.196.96.35 255.255.255.255 UGH 0 0 0 ppp0
Решение: Исправить маршрут по умолчанию можно командой (соответственно указав нужный вам IP)
route add 0/0 gw 91.196.96.35
или в скрипте при загрузке системы, но после поднятия интерфейса ppp0
route del default route add default gw 91.196.96.35 dev ppp0
Проблема OpenVPN + Virtualbox + Dnsmasq
Окружение: Клиент выходит в интернет с Ubuntu 14.04.3 LTS + Настройка Dnsmasq Ubuntu установленной в FAQ VirtualBox. Сеть установлена в VirtualBox как сетевой мост. IP получается от Настройка DHCP сервера Linux, FreeBSD на интернет роутере (Netis WF2419R).
Проблема: Не работает push «dhcp-option DNS 10.26.95.254″. Соответственно все Что такое DNS Dnsmasq отсылает основному DNS серверу. Все бы ничего если бы клиенту не нужны локальные Что такое DNS.
Решение: Был доустановлен основной пакет
aptitude install dnsmasq
добавлены описания наших локальных зон (non-public domains) в конфигурационный файл dnsmasq.conf
server=gaga.lan10.26.95.254 server=m86a.lan10.26.95.254 server=atlex.lan10.26.95.254 server=95.26.10.in-addr.arpa10.26.95.254 server=168.192.in-addr.arpa10.26.95.254 server=85.161.10.in-addr.arpa10.26.95.254
Клиенты OpenVPN для разных ОС
-
Клиент OpenVPN для Windows
-
Клиент OpenVPN для Android
-
Для Linux проще всего ставить этот же пакет OpenVPN, но настраивать его клиентом.
aptitude install openvpn
Пример рабочего конфига для Ubuntu 14.04.3 LTS
- client.conf
-
client proto udp dev tun ca ca.crt dh dh2048.pem cert client.crt key client.key remote xxx.xxx.xxx.xxx 1194 tls-auth ta.key 1 cipher AES-256-CBC user nobody group nogroup verb 2 mute 20 keepalive 10 120 comp-lzo persist-key persist-tun float resolv-retry infinite nobind
OpenVPN GUI for Windows
To install OpenVPN GUI for Windows on a Microsoft Windows XP 32/64 bits, follow the steps below:
- Download the installer from the URL https://openvpn.net/index.php/open-source/downloads.html. Choose he file that contains the GUI and the OpenVPN software already included;
- Start with the installation. Select the default options and confirm the installation of the TAP-Win32 Adapter V8 device (it is a Virtual Ethernet interface used by OpenVPN).
When the Installer has finished to work, the TrayBar contains the VPN icon with two red terminals and the Earth Globe symbol. Such terminals are yellow when OpenVPN is trying to establish the connection and they are green when you are finally connected with the VPN; - In the Windows Start Menu, click on ->->->. You will be able to explore the folder:
C:\Program Files\OpenVPN\config
in which you must copy the files zeroshell.ovpn that contains the OpenVPN configuration and CA.pem that is the X.509 Certification Authority certificate. You can look at the for details on how to obtain these files;
- Edit the file zeroshell.ovpn and replace zeroshell.example.com with the hostname or the IP address of the OpenVPN router;
- At this point, you have finished to install and configure the OpenVPN client and its GUI. With a double-click on the OpenVPN icon in the Tray Bar, you can try to start the VPN connection. A dialog box will appear and request you to type the username and the password to be authenticated (look at the ). If the authentication step is successfully completed, then the VPN connection will be established and the two yellow terminals will become green.
By right-clicking on the OpenVPN icon in the Traybar appears a contextual menu with several useful options: Connect, Disconnect, Show Status, View Log, Edit Config, Proxy Settings. Particularly useful to solve connection problems is the item View Log that allows to know the reason of the failures.
If instead the VPN is connected (the two terminals are green), but you are not able to reach the remote LAN or Internet using the Virtual Private Network, then you should use the ipconfig /all command from the Windows Prompt. Here there is an example of the lines of output about the virtual Ethernet interface:
Ethernet adapter Local Area Connection 7: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : TAP-Win32 Adapter V8 Physical Address. . . . . . . . . : 00-FF-AD-63-83-3D Dhcp Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.250.51 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.250.254 DHCP Server. . . . . . . . . . . .: 192.168.0.0 DNS Servers . . . . . . . . . . . : 192.168.250.254 Lease Obtained. . . . . . . . . . : 16 September 2007 19.51.37 Lease Expires . . . . . . . . . . : 15 September 2008 19.51.37
To be sure that the IP traffic is actually routed across the VPN and hence encrypted, you must check that the IP Address and the Default Gateway assigned to the TAP Virtual Interface belong to the remote LAN you are connected. To better check this condition, you could also use the tracert /d command: if the first hop that is printed belongs to a subnet of the remote LAN then your VPN works fine and the traffic that reaches the remote site is encrypted across Internet.
The command line of OpenVPN
If the system you are using has not a Graphical User Interface for OpenVPN, you have to use the OpenVPN’s command line. This can also be used in the case in which you want to automatically start the VPN by using the startup scripts. By typing the command man openvpn from a Unix shell, the OpenVPN’s manual page will be displayed. A great number of parameters are available to directly use in the command line prefixed by two consecutive hyphens (–). The same parameters (not prefixed by –) can also be specified in the configuration file. Except for a few cases, it is better to specify the parameters in a configuration file rather than having them in a too long and heavy to read command line.
This section does not examine the parameters because they are already listed and described in the manual page of OpenVPN, but it only describe how to establish a VPN with a Zeroshell OpenVPN server by using the command line:
- Put the files zeroshell.ovpn and CA.pem in a same directory (suppose /etc/openvpn/). For details about how to obtain these files, read the section ;
- Edit the configuration file zeroshell.ovpn replacing zeroshell.example.com with the IP address or hostname of the VPN server;
- Change the current directory to /etc/openvpn/ and exec (with root privileges) the command:openvpn –config zeroshell.ovpnAt this point, you are requested for the Username and the Password (look at the ). If the client is authenticated against the server, the VPN connection is established.
Как установить OpenVPN
В разные системы OpenVPN ставится чуть по-разному. В Linux мы одновременно устанавливаем и сервер, и клиент. В Windows мы будем работать только с клиентом. Т.е. вам нужно выполнить установку и на сервер, и на клиентскую машину. Например, если у вас VPS с Linux, а пользоваться VPN вы будете с домашнего компьютера под управлением Windows, то устанавливайте OpenVPN на оба компьютера как это писано для каждой системы ниже.
Установка OpenVPN в Debian, Ubuntu, Linux Mint, Kali Linux
Для установки пакетов достаточно выполнить следующие команды (рекомендуется, чтобы предварительно система была обновлена и перезагружена):
sudo apt update sudo apt install openvpn easy-rsa
Установка OpenVPN в Arch Linux, BlackArch
Установка выполняется следующей командой:
sudo pacman -S openvpn easy-rsa
Установка OpenVPN в Windows
Установка выполняется как обычно для Windows программ с мастером установки.
Обратите внимание, что при желании вы можете поставить галочку напротив «EasyRSA 2 Certificate Management Scripts». Это программа и скрипты для генерирования ключей
В этой инструкции ключи мы будем генерировать на Linux машине, т.е. эти скрипты нам не понадобятся, но при желании вы можете их установить.
Решение проблемы с ошибкой «OpenVPN GUI не поддерживает более 50 конфигураций. Пожалуйста свяжитесь с автором, если вам нужно больше.»
Возможно возникновение ошибки:
OpenVPN GUI не поддерживает более 50 конфигураций. Пожалуйста свяжитесь с автором, если вам нужно больше.
Для её исправления зайдите в папку C:\Program Files\OpenVPN\config\ и удалите оттуда файлы. Эти файлы могла оставить сборка на основе OpenVPN.
Настройка OpenVPN под Ubuntu
Начинаем с того, что, как и на Windows, устанавливаем пакет OpenVPN на серверную и клиентские машины. Директива установки консольной версии ПО через терминал следующая: sudo apt-get install openvpn. При желании можете установить графические версии пакетов из центра приложений Ubuntu.
Однако важнейший компонент – модуль easy-rsa, предназначенный для генерации сертификатов и ключей, в Linux-дистрибутив не входит. Его придется установить отдельно, выполнив команду: sudo apt-get install easy-rsa.
Настройка серверной части
- После инсталляции программы и дополнительного модуля создаем каталог «easy-rsa» в папке /etc/openvpn: sudo mkdir /etc/openvpn/easy-rsa. Копируем в него содержимое из места установки: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa.
- Следом переходим в новый каталог: cd /etc/openvpn/easy-rsa/ и приступаем к созданию сертификатов и ключей.
Открываем с помощью консольного редактора nano файл переменных vars (аналог vars.bat в Windows) и импортируем в него те же данные, что и в vars.bat, с измененными значениями:
- Копируем криптографический пакет openssl: cp openssl-1.0.0.cnf openssl.cnf.
- Загружаем переменные из vars: source ./vars.
- Удаляем ранее созданные данные: clean-all.
- Создаем новый основной сертификат: build-ca. Блок вопросов в рамке пропускаем.
- Следом – ключ Диффи-Хельмана: build-dh.
- За ним – сертификат сервера: .build-key-server myVPN (myVPN, как вы помните, – это имя, у вас оно может быть другим). Выделенный блок пропускаем (на скриншоте он сокращен), на 2 последних вопроса отвечаем «Y».
Последним создаем сертификат клиента: ./build-key user1 (вместо «user1» можете придумать другое имя). При этом снова пропускаем выделенный на скрине блок и на два последних вопроса отвечаем «Y».
Все созданные ключи и сертификаты сохраняются в подкаталоге etc/openvpn/easy-rsa/keys. Перемещаем их в папку /openvpn: cp -r /etc/openvpn/easy-rsa/keys /etc/openvpn.
На завершающем этапе создаем файл конфигурации сервера в папке /etc/openvpn: nano /etc/openvpn/server.conf и заполняем его так же, как заполняли аналогичный документ на Windows. Единственное отличие – другие пути:
Наконец, создаем каталог для конфигурации клиентских машин: mkdir /etc/openvpn/ccd, и запускаем сервер: service openvpn start.
Если сервер не стартует, вероятно, в конфигурации допущена ошибка. Сведения о проблеме можно посмотреть в документе /var/log/openvpn.log с помощью команды tail -f /var/log/openvpn.log.
Настройка клиентской части
После установки приложения на клиентскую машину переносим на нее сгенерированные на сервере ключ и сертификаты и создаем конфиг.
Ключ и сертификаты – ca.crt, user1.crt и user1.key, находятся в папке /etc/openvpn/keys. Копируем их на флешку и вставляем в одноименную папку на компьютере клиента.
Файл конфигурации создаем с помощью nano: nano /etc/openvpn/client.conf, и заполняем по образцу Windows. Не забудьте прописать в нем правильные пути:
Всё готово. Для подключения к серверу используем ту же команду: service openvpn start.
***
Автор еще рекомендует:
- Как настроить бесплатные каналы на Smart TV
- Очистка памяти на Android: проверенные способы
- Калибровка аккумулятора ноутбука
- Что такое UEFI и чем он лучше BIOS?
- Как делать бекапы Windows 10 на автомате и зачем это нужно?
- Как ускорить загрузку Windows 10
- Если тормозит видео при просмотре онлайн
Инструкция получилась длинной, но на самом деле выполнение этих действий занимает 5-10 минут. Более подробная информация о работе с OpenVPN находится в разделе «» официального сайта приложения. Пробуйте, и всё у вас получится!
Ещё на сайте:
Настройка OpenVPN на Windows и Ubuntu: что, зачем и как обновлено: Апрель 24, 2016 автором: