Как настроить VPN-сервер в Linux

Обновлено: 30.06.2024

В настоящее время технология VPN становится все более популярной. Обычные пользователи используют VPN для безопасного выхода в Интернет. Это также помогает обойти локально заблокированные веб-сайты и службы и защитить от возможного вредоносного поведения извне. Когда вы подключаетесь к VPN-серверу, между вашим компьютером и сервером существует безопасный туннель, к которому нельзя получить доступ извне, поэтому VPN-сервер становится вашей точкой доступа в Интернет. Существует множество VPN-сервисов, как бесплатных, так и платных, но если они по какой-то причине вам не подходят, вы всегда можете настроить свой собственный VPN-сервер.

Чтобы запустить собственный VPN, вам необходимо арендовать VPS-сервер. Существует различное программное обеспечение, позволяющее создавать VPN-подключение. Они отличаются друг от друга поддерживаемыми операционными системами и используемыми алгоритмами. Мы рассмотрим два независимых подхода к настройке VPN-сервера. Первый основан на протоколе PPTP, который уже считается устаревшим и небезопасным, но его действительно легко настроить. Другой использует современное и безопасное программное обеспечение OpenVPN, но требует установки стороннего клиентского приложения и более тщательного процесса настройки.

В нашей тестовой среде мы будем использовать виртуальный сервер на базе Ubuntu Server 18.04. Брандмауэр на сервере будет отключен, так как его настройка заслуживает отдельной статьи. Мы опишем процесс установки в Windows 10.

Подготовка

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

Чтобы включить пересылку пакетов, откройте файл «/etc/sysctl.conf» и измените значение параметра «net.ipv4.ip_forward» на 1.

включить пересылку пакетов для VPN установка

Чтобы применить изменения без перезагрузки компьютера, выполните команду

sudo sysctl -p /etc/sysctl.conf

Преобразование сетевых адресов настраивается с помощью iptables. Сначала проверьте имя вашего внешнего сетевого интерфейса, выполнив команду «ip link show» — оно понадобится вам на следующем шаге. Нас зовут «ens3».

ip link show

Включите трансляцию сетевых адресов на внешнем интерфейсе для всех узлов локальной сети.

sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Обратите внимание, что вам нужно указать настоящее имя интерфейса вашего сервера, оно может отличаться от нашего.

По умолчанию все правила, созданные iptables, сбрасываются после перезагрузки сервера. Чтобы этого не произошло, используйте утилиту «iptables-persistent». Установите следующий пакет:

sudo apt установить iptables-persistent

В какой-то момент процесса установки вы увидите окно конфигурации, в котором будет предложено сохранить текущие правила iptables. Поскольку правила уже определены, просто подтвердите и дважды нажмите «Да». Теперь правила будут применяться автоматически после перезагрузки сервера.

Включить преобразование адресов

1. PPTP-сервер

Конфигурация сервера

Установите пакет:

sudo apt установить pptpd

После завершения установки откройте файл «/etc/pptpd.conf» в любом текстовом редакторе и отредактируйте его следующим образом:

После этого отредактируйте файл «/etc/ppp/pptpd-options». Большинство параметров установлены по умолчанию.

proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd

На следующем этапе вам нужно будет создать запись для клиентских подключений. Допустим, вы хотите добавить пользователя «vpnuser» с паролем «1» и разрешить для него динамическую адресацию. Откройте файл «/etc/ppp/chap-secrets» и добавьте в конец файла следующую строку с параметрами пользователя:

vpnuser pptpd 1 *

Значение «pptpd» — это имя сервиса, которое мы указали в файле «pptpd-options». Вместо «*» можно указать фиксированный IP-адрес. В результате файл «chap-secrets» должен выглядеть так:

Настройка VPN-сервера

Чтобы применить настройки, сбросьте службу pptpd и добавьте ее в автозагрузку.

sudo systemctl перезапустить pptpd
sudo systemctl включить pptpd

Настройка сервера завершена.

Конфигурация клиента

Откройте "Пуск" - "Настройки" - "Сеть и Интернет" - "VPN" и нажмите "Добавить VPN-подключение"

Настройка клиента для VPN-подключения

В открывшемся окне введите параметры подключения и нажмите «Сохранить»

  • Поставщик VPN: «Windows (встроенный)»
  • Имя подключения: «vpn_connect» (вы можете выбрать любое имя)
  • Имя или адрес сервера: (укажите внешний IP-адрес сервера)
  • Тип VPN: «Авто»
  • Тип данных для входа: «Имя пользователя и пароль».
  • Имя пользователя: vpnuser (имя указано в файле «chap-secrets» на сервере)
  • Пароль: 1 (как в файле «chap-secrets»)

После сохранения параметров вы увидите в окне новое VPN-подключение. Щелкните левой кнопкой мыши по соединению и выберите «Подключиться». В случае успешного подключения вы увидите статус «Подключено».

Добавление VPN-подключения

В параметрах вы найдете внутренние адреса клиента и сервера. В поле «Адрес назначения» отображается адрес внешнего сервера.

Как настроить VPN-сервер самостоятельно

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

С помощью любого онлайн-сервиса вы можете убедиться, что внешний IP-адрес компьютера теперь совпадает с IP-адресом вашего VPN-сервера.

2. OpenVPN-сервер

Конфигурация сервера

Давайте повысим уровень разрешений текущего пользователя, потому что для нашей дальнейшей настройки нам потребуется root-доступ.

Установите все необходимые пакеты. Нам понадобится пакет «Easy-RSA» для управления ключами шифрования.

подходящая установка openvpn easy-rsa

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

ln -s /usr/share/easy-rsa/openssl-1.0.0.cnf /usr/share/easy-rsa/openssl.cnf

Перейдите в рабочий каталог утилиты easy-rsa, загрузите переменные и очистите старые конфигурации.

cd /usr/share/easy-rsa/
source ./vars
./clean-all

Затем приступайте к созданию ключей. Создайте ключ Диффи-Хеллмана. Это может занять некоторое время.

Генерируем ключи

Создать центр сертификации.

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

Сгенерируйте ключи для сервера. Установите любое значение в качестве параметра. В нашем случае это «vpn-сервер»

Ответьте на вопросы, как на предыдущем шаге, или оставьте значения по умолчанию. Дважды нажмите «y» на последнем этапе.

Генерация ключей
< /p>

Генерация ключей завершена. Теперь вы можете найти все файлы в папке «/usr/share/easy-rsa/keys».

все файлы находятся в папке

Теперь давайте создадим папку «keys» в рабочем каталоге OpenVPN для хранения ключей и скопируем туда все необходимые файлы.

mkdir /etc/openvpn/keys
cp ca.crt dh2048.pem vpn-server.key vpn-server.crt /etc/openvpn/keys/

Скопируйте шаблон файла конфигурации и распакуйте его в каталог «/etc/openvpn/».

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gzip -d /etc/openvpn/server.conf.gz

Откройте файл «/etc/openvpn/server.conf» для редактирования, убедитесь, что он содержит следующие строки, и при необходимости отредактируйте их:

Остальное оставьте без изменений.

Перезапустите OpenVPN, чтобы применить настройки.

systemctl перезапустить openvpn

Настройка сервера завершена!

Конфигурация клиента

Скачать клиент OpenVPN с официального сайта проекта

и загрузите установочный файл для вашей операционной системы. В нашем случае это Windows 10.

скачиваем инсталлятор для своей версии системы

Установите приложение, оставив все параметры по умолчанию.

На следующем этапе вам нужно будет подготовить на сервере следующие файлы и передать их на клиентский компьютер:

  • открытый и закрытый ключи;
  • копия ключа центра сертификации
  • шаблон файла конфигурации.

Подключитесь к серверу, повысьте уровень разрешений, перейдите в рабочий каталог утилиты easy-rsa и загрузите переменные

sudo -s
cd /usr/share/easy-rsa/
исходный файл ./vars

Создайте пару ключей для клиента. В качестве параметра укажите любое имя (в нашем случае это «client1»).

Ответьте на вопросы, указав свои данные, или просто нажмите «ВВОД», чтобы оставить значения по умолчанию. После этого дважды нажмите «y».

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

Вы можете найти сгенерированные ключи в папке «/usr/share/easy-rsa/keys/». Для удобства создайте папку «client1» в домашнем каталоге и скопируйте в нее все файлы, которые нужно раздать клиенту.

cd /usr/share/easy-rsa/keys/
mkdir ~/client1
cp client1.crt client1.key ca.crt ~/client1/

Скопируйте шаблон файла конфигурации клиента в тот же каталог. При копировании измените расширение файла на «.ovpn».

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn

Измените владельца каталога и всех файлов «~/client1/», чтобы иметь возможность передавать их клиенту. В нашем случае назначим владельцем mihail.

chown -R mihail:mihail ~/client1

Перейдите на клиентский компьютер и скопируйте содержимое папки «~/client1/». Сделать это можно с помощью утилиты PSCP, которая идет в комплекте с Putty.

PSCP -r [email protected][IP_сервера]:/home/mihail/client1 c:\client1

Вы можете хранить файлы ключей «ca.crt», «client1.crt», «client1.key» где угодно. В нашем случае они находятся в этой папке «c:\Program Files\OpenVPN\keys», а файл конфигурации «client.ovpn» мы модифицируем в директорию «c:\Program Files\OpenVPN\config».

Теперь приступим к настройке клиента. Откройте файл «c:\Program Files\OpenVPN\config\client.ovpn» в текстовом редакторе и отредактируйте следующие строки:

Остальное оставьте нетронутым.

Сохраните файл и запустите клиентское приложение «OpenVPN GUI».

Настройка VPN завершена


Щелкните правой кнопкой мыши значок приложения на панели задач и выберите «Подключиться». В случае успешного подключения значок станет зеленым.

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

VPN – это универсальный инструмент, способный повысить вашу безопасность, получить доступ к сайтам с географическим ограничением и гарантировать, что никто не отслеживает ваши действия в Интернете. На рынке есть сотни провайдеров VPN, но также можно настроить VPN-сервер и в системе Linux!

Мы покажем вам, как настроить VPN-сервер в Linux, в удобном пошаговом руководстве ниже.

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

Дополнительную информацию о возможностях VPN см. в нашем "Руководстве по VPN".

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

Людям, работающим из дома, также может быть полезно установить VPN-сервер, к которому можно получить удаленный доступ. Более того, частный VPN-сервер Linux может даже помочь в борьбе с ограничением скорости интернет-провайдером, если вы часто транслируете, загружаете или играете в онлайн-игры.

Прежде чем мы начнем

Настройка VPN-сервера в Linux — занятие не для слабонервных! Вам потребуются серьезные технические ноу-хау (а также знакомство с дистрибутивами Linux), чтобы настроить и запустить свой сервер.

Настройка Linux VPN-сервера — что вам нужно?

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

  • Клиентский компьютер — это самый простой вариант, так как вы можете использовать свой настольный ПК или ноутбук для подключения к VPN.
  • Частный сервер — вам, конечно, нужно где-то установить VPN, чтобы вы могли его использовать, но не имеет значения, физический это сервер или виртуальный!
  • Совместимый протокол VPN. Мы рекомендуем использовать OpenVPN, так как он невероятно безопасен и надежен, а также популярное решение SSL с открытым исходным кодом, но пользователи Linux также могут использовать Algo, Streisand, StrongSwan и WireGuard. среди прочего.

Теперь, когда вы собрали все свои инструменты, вы почти готовы настроить и запустить свой VPN-сервер — нужно помнить еще несколько моментов.

  • НЕ устанавливайте предварительно OpenVPN.
  • Убедитесь, что у вас есть привилегии sudo или root-доступ.
  • Разрешить трафик TCP через порт 943, а также трафик UDP через порт 1194.

Как настроить собственный VPN-сервер Linux

Теперь технические вопросы! Убедитесь, что вы собрали правильные инструменты и подготовили свою систему, как описано выше, а затем следуйте нашему руководству, чтобы быстро настроить VPN-сервер Linux.

Компьютер-сервер

Клиентский компьютер

  1. Вам потребуется установить OpenVPN на клиентский компьютер, а также расширение OpenVPN для сетевого менеджера. [sudo pacman -S openvpn networkmanager-openvpn]
  2. Затем установите: [networkmanager-openvpn]
  3. Названия этих двух пакетов, которые необходимо установить следующими, могут отличаться от дистрибутива к дистрибутиву. Для пользователей Ubuntu Gnome установите: [networkmanager-openvpn-gnome]
  4. [sudo apt install openvpn networkmanager-openvpn-gnome]
  5. С вашего сервера загрузите следующий файл конфигурации VPN, который, как обычно, появится в папке «Загрузки». [scp [электронная почта защищена]:/home/remoteuser/*.ovpn ~/Downloads/]

Подключение к VPN

  1. Во-первых, скопируйте загруженный файл конфигурации .ovpn в папку клиента OpenVPN. [sudo cp Downloads/*.ovpn /etc/openvpn/client/client.conf]
  2. Рекомендуется протестировать соединение. Сделайте это, введя следующее: [sudo openvpn /etc/openvpn/client/client.conf]
  3. Просмотрите свои результаты и отфильтруйте ошибки. Если их нет, у вас есть работающий VPN! Вы можете проверить это еще раз, открыв веб-браузер и посетив страницу, или подтвердив свой общедоступный IP-адрес в Интернете — он должен совпадать с адресом вашего сервера.
  4. Для простоты доступа удобно иметь возможность подключиться к вашему блестящему новому VPN одним щелчком мыши, а не вводить каждый раз командную строку. Для этого вам потребуется добавить конфигурацию VPN в Network Manager.
  5. Это очень просто: откройте настройки сетевого менеджера и выберите "Добавить новое подключение". Отсюда введите файл конфигурации, загруженный с сервера, и выберите вариант импорта подключения.
  6. После этого вы сможете увидеть подключение в списке подключений. Включите его, и вы должны увидеть, что значок вашего Network Manager изменился. Еще раз откройте веб-браузер, чтобы протестировать VPN!

Как проверить, работает ли ваш Linux VPN-сервер

Итак, вы проделали тяжелую работу и запустили свой сервер. Теперь вам нужно убедиться, что он работает, защищен и не раскрывает вашу личную информацию. К счастью, есть простой способ убедиться, что ваш сервер работает должным образом, и это тест на утечку!

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

Есть ли другие способы получить доступ к VPN-серверу Linux?

Проще говоря, да! Вы можете подписаться на платный VPN-сервис премиум-класса, если вы являетесь пользователем Linux, или найти бесплатный VPN. У обоих этих вариантов есть свои плюсы и минусы, и мы подробно рассмотрели каждый из них ниже.

Платный VPN

  • Большинство премиальных VPN предлагают великолепный набор инструментов для обеспечения конфиденциальности.
  • Надежно разблокируйте сервисы с географическим ограничением.
  • Обычно служба поддержки работает круглосуточно и без выходных.
  • Ежемесячная подписка может быстро дорого обойтись.
  • Вы передаете свою конфиденциальность в руки службы VPN.

Посетите нашу лучшую страницу VPN, чтобы узнать, какие сервисы лучше всего использовать в 2022 году.

Бесплатный VPN

  • Вам не нужно отдавать ни копейки!
  • Установка обычно проста и быстра.
  • Отсутствие платы за подписку означает, что сервис должен зарабатывать деньги другим способом — либо предлагая бесплатную услугу в качестве образца платной услуги, либо регистрируя ваши данные для продажи третьим лицам, так что будьте осторожны!
  • Пользователи, скорее всего, столкнутся с ограничениями пропускной способности и ежемесячными лимитами данных.
  • Уменьшен выбор сервера.
  • Не все бесплатные VPN безопасны — некоторые из них содержат вредоносное ПО.

Частный VPN-сервер

Но вы, вероятно, здесь, потому что вас больше интересует настройка собственного частного VPN-сервера! И причин для этого предостаточно:

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

OpenVPN в приложениях VPN-провайдеров для Linux

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

Автор: Ривер Харт

Уроженец Уэльса, Ривер Харт окончил Манчестерский столичный университет со степенью 1:1 по творческому письму, после чего работал редактором в ряде специализированных журналов. Как профессиональный писатель, Ривер работал как с цифровыми, так и с печатными СМИ и знаком с подборкой новостей, подробными отчетами и подготовкой статей для международных изданий. В противном случае ее можно обнаружить за колодой карт Таро или за игрой в Final Fantasy 14 – больше часов, чем она когда-либо признает.

Человек, пьющий шляпный напиток за компьютером

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

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

Существует множество доступных VPN-сервисов, и многие люди считают, что предпочтительным вариантом защиты личных данных при использовании ненадежных сетей является OpenVPN.

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

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

Дополнительные ресурсы по Linux

Сначала установите копию Linux на запасной компьютер. В этих примерах используется Fedora, но шаги практически одинаковы независимо от того, какой дистрибутив Linux вы используете.

Загрузите последнюю версию ISO-образа Fedora с веб-сайта проекта Fedora. Создайте загрузочный USB-накопитель, подключите его к компьютеру и загрузите его, а затем установите операционную систему. Если вы никогда не создавали загрузочный USB-накопитель, прочитайте о Fedora Media Writer. Если вы никогда не устанавливали Linux, прочитайте об установке Linux в три этапа.

Настройка сети

После установки операционной системы Fedora войдите в консоль или сеанс SSH.

Примените последние обновления и перезагрузите компьютер:

Войдите еще раз и отключите правила брандмауэра:

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

Настроить IP-адреса

Вам нужен статический IP-адрес внутри вашей локальной сети. Приведенные ниже команды предполагают наличие подключения Network Manager с именем ens3 на устройстве с именем ens3 . Имена вашего устройства и подключения могут отличаться, поэтому найдите их, открыв сеанс SSH или консоль и введя:

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

Настроить IP-адрес вручную

Установите свой статический IP-адрес, префикс, шлюз и преобразователь DNS с помощью следующей команды, заменив свои IP-адреса:

Если вы используете локальный DNS-сервер, вам нужно настроить запись DNS с именем хоста, указывающим на IP-адрес VPN-сервера.

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

Настройте IP-адрес в маршрутизаторе

Возможно, в вашей сети есть маршрутизатор. Возможно, вы приобрели его или получили у своего интернет-провайдера (ISP). В любом случае ваш маршрутизатор, вероятно, имеет встроенный DHCP-сервер, который назначает IP-адрес каждому устройству в вашей сети. Ваш новый сервер считается устройством в вашей сети, поэтому вы могли заметить, что ему автоматически назначается IP-адрес.

Потенциальная проблема заключается в том, что ваш маршрутизатор не гарантирует, что какое-либо устройство когда-либо получит тот же IP-адрес после повторного подключения.Он пытается поддерживать согласованность IP-адресов, но они могут меняться в зависимости от того, сколько устройств подключено в данный момент.

Однако почти все маршрутизаторы имеют интерфейс, позволяющий вам вмешиваться и резервировать IP-адреса для определенных устройств.

Настройки IP-адреса маршрутизатора

Универсального интерфейса для маршрутизаторов не существует, поэтому найдите в интерфейсе своего маршрутизатора параметры DHCP или статический IP-адрес. Назначьте своему серверу собственный зарезервированный IP-адрес, чтобы его сетевое расположение оставалось неизменным, несмотря ни на что.

Доступ к вашему серверу

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

Вам потребуется как минимум один общедоступный статический IP-адрес от вашего интернет-провайдера. Настройте общедоступную сторону вашего маршрутизатора с его статическим IP-адресом, а затем поместите свой сервер OpenVPN на частную сторону с его собственным частным статическим IP-адресом внутри вашей сети. OpenVPN по умолчанию использует UDP-порт 1194. Настройте маршрутизатор для переадресации трафика с общедоступного IP-адреса VPN с UDP-порта 1194 на UDP-порт 1194 на вашем сервере OpenVPN. Если вы решите использовать другой порт UDP, соответствующим образом измените номер порта.

Подготовьтесь к следующему шагу

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

Части этой статьи были адаптированы из блога Д. Грега Скотта и опубликованы с его разрешения.

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

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

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

Быстрая навигация:

Шаг 1. Получите удаленный сервер с Ubuntu

Для этого необходимо создать сервер в облаке.

Существует множество хостинговых услуг, из которых вы можете выбрать, но DigitalOcean наиболее удобен в использовании, а также является самым доступным.

DigitalOcean Ubuntu guide

Чтобы помочь в создании экземпляра сервера, у них есть фантастическое руководство по настройке собственного сервера в Ubuntu 16.04. Как только ваш экземпляр сервера будет готов, вы будете готовы к работе.

Шаг 2. Установите OpenVPN

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

После этого выполните приведенные ниже команды. Вы можете ввести или скопировать/вставить их.

Теперь вы установили и OpenVPN, и easy-rsa, пакет, необходимый для шага 3.

Шаг 3. Настройте каталог центра сертификации

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

Выполните команду ниже:

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

Шаг 4. Настройте центр сертификации

Теперь нам нужно отредактировать наш ЦС. Чтобы открыть текстовый редактор, отображающий файл vars, введите:

Теперь найдите следующие строки:

экспорт KEY_COUNTRY="США"
экспорт KEY_PROVINCE="Нью-Йорк"
экспорт KEY_CITY="Нью-Йорк"
экспорт KEY_ORG="Моя организация"
экспорт KEY_EMAIL= ”me@host.domain”
экспорт KEY_OU=”MyOrganizationalUnit”

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

После этого прокрутите вниз, чтобы найти строку KEY_NAME. Отредактируйте его, чтобы он соответствовал приведенному ниже:

Теперь вы можете сохранить и закрыть файл.

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

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

Введите команду ниже:

Если процесс выполнен правильно, вы должны увидеть на экране следующее:

Очистите среду, введя следующее:

Теперь создайте корневой ЦС:

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

Шаг 6. Создание файлов шифрования сервера

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

Сервер предложит некоторые значения. Примите их все, набрав «y». Обязательно сделайте то же самое, когда вас спросят о создании сертификата.

Далее мы создадим несколько других разных файлов, необходимых для работы OpenVPN. Используйте следующую команду:

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

Шаг 7. Создание сертификата клиента

Здесь мы создадим сертификат и пару ключей для подключения к вашему компьютеру с Linux. Используйте следующие команды:

Используйте предлагаемые значения по умолчанию, нажимая Enter в ответ на запросы.

Шаг 8. Настройте OpenVPN

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

Первое, что нам нужно сделать, это переместить некоторые из только что созданных файлов в папку «openvpn»:

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

$ gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo тройник /etc/openvpn/server.conf

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

Открыв файл server.conf в редакторе nano, найдите строку ниже:

Раскомментируйте строку, удалив точку с запятой в начале.

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

Теперь прокрутите, чтобы найти раздел, заполненный шифрами (ключами). Здесь нам нужно выбрать необходимую силу безопасности. Выберите 128-битный AES, найдя строку ниже и раскомментировав ее (удалив точку с запятой).

Непосредственно под этой строкой добавьте следующее:

Далее раскомментируйте настройки пользователя и группы. Это строки ниже:

Отправить изменения DNS для перенаправления всего трафика через VPN

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

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

Непосредственно под этой строкой найдите раздел dhcp-option. Снова раскомментируйте две строки

Эти настройки заставят клиентов перенастроить свои настройки DNS, чтобы всегда использовать VPN-туннель в качестве шлюза по умолчанию.

Настройте порт и протокол

После этого измените протокол с UDP на TCP

После этого сохраните и закройте файл.

Шаг 9. Настройка параметров сети

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

Во-первых, разрешите IP-переадресацию. Это можно сделать, изменив файл /etc/sysctl.conf. Откройте его.

Сохраните и закройте файл.

Теперь запустите эту команду, чтобы настроить значения.

Теперь нам нужно настроить брандмауэр нашего сервера, чтобы он мог правильно управлять трафиком. Начнем с поиска общедоступного сетевого интерфейса нашего сервера.

В какой-то момент созданная строка вывода будет содержать слово «dev». Далее следует имя вашего интерфейса. Например, в строке ниже w1p11s0 — это имя интерфейса.

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

Найдите блок текста, начинающийся со следующей закомментированной фразы:

Под ним вы увидите строку, начинающуюся с «-A POSTROUTING». Здесь вам нужно добавить имя интерфейса. Замените XXXX на него.

Сохраните и закройте файл.

После этого найдите строку с пометкой «DEFAULT_FORWARD_POLICY». Измените «DROP» на «ACCEPT». После этого он должен выглядеть следующим образом:

Сохраните и закройте файл.

Наконец, настройте параметры брандмауэра, чтобы разрешить трафик OpenVPN. Используйте команды ниже:

Чтобы загрузить изменения, отключите, а затем снова включите брандмауэр.

Теперь ваш сервер настроен для обработки вашего VPN-трафика. Вы почти у цели!

Шаг 10. Запуск службы OpenVPN

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

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

Шаг 11. Конфигурация клиента

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

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

Откройте файл в текстовом редакторе:

Прокрутите, чтобы найти строку, начинающуюся с директивы «remote». Отредактируйте его, указав порт 443, который мы используем:

Ниже измените строку с пометкой «proto» с UDP на TCP

Удалите точки с запятой из строк «пользователь» и «группа», чтобы раскомментировать их:

Найдите строки ca, cert и key и закомментируйте их, добавив решетку в начале. Они должны выглядеть так:

Измените настройки «шифр» и «аутентификация», чтобы они соответствовали тем, которые мы установили выше. Они должны выглядеть так:

Теперь добавьте строку в любом месте файла и введите:

Наконец, скопируйте и вставьте следующие закомментированные строки в конец файла:

Сохраните изменения и выйдите из редактора.

Последнее, что нам нужно сделать, это создать скрипт, который будет компилировать все, что мы сделали. Начните с создания файла в каталоге ~/client-configs с именем «make_config.sh», а затем откройте его с помощью nano. Вставьте следующий код в скрипт:

Сохраните файл и выйдите. Теперь сделайте его исполняемым с помощью этой команды:

Шаг 12. Настройте VPN в Linux

Чтобы использовать только что настроенную VPN, установите OpenVPN на свой компьютер с помощью приведенных ниже команд:

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

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

Сохраните и закройте файл. Теперь вы настроили свой компьютер с Linux для подключения к VPN.

Чтобы подключиться к новой VPN, выполните следующую команду:

Теперь вы должны быть подключены к VPN!

Понравилась ли вам эта статья? Поделись!

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

Поделиться и поддержать

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

последние сообщения в блоге

О нас

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

Читайте также: