VPN: Защити себя сам или анонимность в сети

Virtual Private Network (виртуальная частная сеть) защищает конфиденциальность пользователя в интернет-пространстве. Это похоже на частную лаунж зону, скрытую от посторонних глаз.

VPN обеспечивает безопасное сетевое соединение через частную сеть поверх сети Интернет. Совместно с HTTPS-соединением это помогает обезопасить персональные данные от кражи. Благодаря VPN можно скрыть местонахождение или обойти региональные и государственные запреты. Например, если у вас возникли сложности с использованием Telegram мессенджера, и вы не можете написать в нашу публичную группу t.me/nicua_group. В ней наша команда в полном составе оперативно отвечает на вопросы.

Как работает VPN?

Когда вы подключаетесь к общедоступной сети Wi-Fi в аэропортах или кафе без VPN, представьте, что ваши данные проходят через большой туннель вместе с данными других пользователей. Что это значит? Их могут перехватить злоумышленники. VPN предоставляет «секретный канал» внутри этого общего туннеля. Все данные в нем шифруются, чтобы никто не мог их распознать. После подключения к VPN, отследить ваши действия сложно. В этом случае только поставщик VPN и сайт, который вы посещаете, могут следить за вашим трафиком. Теперь, чтоб зайти на веб-сайт, устройство сначала отправит запрос доступа на VPN-сервер, который отправит запрос на веб-сайт. Затем данные будут отправлены на ваше устройство. Веб-сайт будет думать, что VPN-сервер является пользователем.

Преимущества VPN

  1. Уберегает персональные данные от кражи.
  2. Скрывает ваш IP адрес и месторасположение.
  3. Разрешает доступ к контенту, который недоступен в конкретной стране или регионе.
  4. Обеспечивает единую сетевую среду для корпорации, офисы которой находятся в разных частях мира.
  5. Обеспечивает прямой доступ к корпоративной сети сотруднику, который не находится в офисе. Всё выглядит так, будто вы протянули сетевой кабель из офиса в дом. Все офисные ресурсы (принтеры, компьютеры коллег, файл-серверы) становятся доступными.
  6. Экономит расходы на отдельные выделенные линии для каждого пользователя (сотрудника).

Недостатки VPN

  1. Скорость доступа интернета при использовании VPN провайдера может быть ниже, чем без него. Прежде всего, это касается бесплатных VPN.
  2. Технические неполадки в работе небольших и малоизвестных VPN провайдеров.
  3. Мнимая анонимность. Не забывайте, что VPN провайдер может отслеживать ваши действия в сети, хотя открыто об этом никто не говорит. Читайте внимательно лицензионные соглашения. Не забывайте, что личность пользователя можно установить по банковским картам или через кошельки платежных систем.

Получи макисмум от облака на NIC.UA

Советуем вам установить OpenVPN на собственном облаке NIC.UA.

  1. Для начала необходимо выбрать и оплатить собственное облако.
  2. После этого в личном кабинете в разделе «Облако» у вас появится название вашего облака и кнопка «Панель». Через нее вы сможете управлять своим облачным сервером. Вам необходимо создать подписку и настроить виртуальную сеть. Подробнее о том, как это сделать, читай у нас в базе знаний NIC.UA.
  3. На этапе создания виртуальной машины вы можете выбрать ОС: Ubuntu, Debian, CentOS или Fedora.
  4. Создаем правило в сети, чтоб удаленно подключиться к виртуальной машине по SSH. Подробнее об этом, читай в нашей статье.

Теперь вы можете воспользоваться нашим готовым сценарием Install_openvpn.

  1. Скачайте и распакуйте на сервере архив Install_openvpn.tar
  2. Запустите файл install_openvpn.sh
  3. Дождитесь окончания работы сценария

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

Как самостоятельно установить Open VPN на облаке NIC.UA

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

Требования. Сервер с ОС Ubuntu 16.04 (по желанию можно использовать Debian, CentOS или Fedora)

Шаг 1. Установка необходимого программного обеспечения для работы OpenVPN.

Команды необходимо выполнять от имени пользователя root. Если вы работаете от имени другого пользователя, используйте команду sudo. Для установки серверной части обновите репозиторий и установите необходимое ПО.

Для Ubuntu и Debian:

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

Для CentOS и Fedora:

yum update
yum install -y openvpn easy-rsa

Шаг 2. Настройка параметров утилиты easy-rsa.

Для удобства, сменим рабочую директорию на easy-rsa: 

cd /usr/share/easy-rsa

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

Изменим параметр KEY_NAME в файле переменных vars. Для этого воспользуйтесь любым редактором, например nano (vi, mcedit):

mcedit vars

Находим строку с нужным параметром и приводим ее к виду:

export KEY_NAME="server"

Примечание: вместо ручного редактирования файла можно использовать команду:

sed -i 's/export KEY_NAME\=\".*\"/export KEY_NAME\=\"server\"/' vars

По желанию, можно изменить такие параметры, как страна, адрес (на работу OpenVPN данные параметры не влияют).

Шаг 3. Создание сертификата, генерация RSA-ключей.

Экспортируем переменные из файла vars

source vars

Очистим все сертификаты

./clean-all

Создадим корневой сертификат на основе файла vars, на все вопросы в процессе создания нажимаем Enter

./build-ca

Создадим сертификат OpenVPN и RSA-ключи для сервера. RSA-ключи используются для аутентификации пользователей.

./build-key-server server

На все запросы нажимаем Enter. Пока не увидим запрос:

Certificate is to be certified until May 1 17:51:16 2026 GMT (3650 days) Sign the certificate? [y/n]:

Вводим “y” и нажимаем Enter.

На следующий запрос: 1 out of 1 certificate requests certified, commit? [y/n]

Также вводим “y” и нажимаем Enter.

Создаем ключ Диффи-Хеллмана. Эти ключи используются для шифрования содержимого пакетов. Создание может занять несколько минут (в это время в терминал будут выводится символы “.” и “+”. Так и должно быть, значит все идет нормально.

./build-dh

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

./build-key client1

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

openvpn --genkey --secret keys/ta.key

Шаг 4. Подготовка файлов конфигурации.

Чтобы узнать локальный адрес, можно воспользоваться командами ifconfig, ip addr или hostname -I

Для удобства можно выполнить команду, которая выведет именно тот IP адрес, который нам нужен:

ip addr |grep " scope global " |grep -v -E "tun|tap" |grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" |head -1

В примере мы используем адрес 192.168.0.2

Устанавливаем в файле servers.conf опцию local для запуска на IP адресе вашего сервера.

Ниже приведен рабочий пример конфигурации сервера, можно сохранить его под именем server.conf

mcedit server.conf
local 192.168.0.2

port 1194

# Протокол может быть UDP или TCP.

proto udp

# В случае использования протокола UDP:

dev tun

# В случае использования протокола TCP:

dev tap

# Указываем местонахождение ключей для сервера.

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/server.crt

key /etc/openvpn/keys/server.key # This file should be kept secret

dh /etc/openvpn/keys/dh2048.pem

# Задаем IP и маску виртуальной сети. В большинстве случаев, вы можете не менять эти значения. 

server 10.8.0.0 255.255.255.0

# Указываем, где хранятся файлы с настройками IP-адресов клиентов.

;client-config-dir ccd

# Включаем запоминание динамически выданных адресов для VPN-клиентов.

ifconfig-pool-persist ipp.txt

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

route 192.168.0.0 255.255.255.0

# Включаем TLS

tls-server

tls-auth /etc/openvpn/keys/ta.key 0

tls-timeout 120

auth SHA256

cipher AES-128-CBC

# Если нужно, чтобы компьютеры клиентов считали, что они в локальной сети и «видели» друг друга, удаляем “;” в следующей строке.

;client-to-client

keepalive 10 120

# Включаем сжатие трафика.

comp-lzo

# Определяем максимум одновременно подключенных клиентов.

max-clients 10

user nobody

group nogroup

# Запрещаем перечитывать ключи, а также закрывать и переоткрывать TUN\TAP устройство после получения команд SIGUSR1 или ping-restart.

persist-key

persist-tun

# Определяем, где будет храниться журнал.

status openvpn-status.log

log /var/log/openvpn.log

# Определяем, насколько подробным будет журнал.

verb 3

# Определяем число одинаковых сообщений подряд.

mute 20

# Чтобы отозвать какой-либо сертификат, удалите “;” в строке ниже и смените адрес на адрес сертификата.

;crl-verify /etc/openvpn/crl.pem

# Разрешаем VPN-серверу принудительно переключать клиентов на VPN-соединение.

push "redirect-gateway def1 bypass-dhcp"

# Разрешаем VPN-серверу передавать адрес внутреннего DNS-сервера для переключения клиентов на VPN-соединения.

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"

Сохраняем файл и закрываем редактор.
Копируем конфигурацию в рабочий каталог.

cp server.conf /etc/openvpn

Копируем сертификаты в рабочий каталог.

cp -r ./keys /etc/openvpn

Шаг 5. Запуск и управление сервером OpenVPN.

Запускаем сервер.

systemctl start openvpn@server

Проверяем статус сервера.

systemctl status openvpn@server

Если сервер запустился, добавляем его в автозагрузку.

systemctl enable openvpn@server

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

systemctl stop openvpn@server

Шаг 6. Создание конфигурационного файла для клиентских программ.

Создаем директорию для конфигурации пользователей.

mkdir /etc/openvpn/client-configs/

Узнаем внешний адрес вашего сервера, например на сайте https://dig.ua/search/myip.html

Или можно воспользоваться командой:

curl https://www.iplocation.net/ |grep "Your public IP Address is" |grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"

Создаем файл client.conf. Пример содержимого представлен ниже.
Добавляем в файл client.conf опцию remote и вписываем свой внешний IP адрес вместо 111.222.333.444

mcedit client.conf
client
dev tun

proto udp

remote 111.222.333.444 1194

resolv-retry infinite

user nobody

group nogroup

#ca /etc/openvpn/keys/ca.crt

#cert /etc/openvpn/keys/client.crt

#key /etc/openvpn/keys/client.key

tls-client

tls-auth /etc/openvpn/keys/ta.key 1

auth SHA256

cipher AES-128-CBC

remote-cert-tls server

comp-lzo

persist-key

persist-tun

key-direction 1

status openvpn-status.log

#log /var/log/openvpn.log

verb 3

mute 20

Если клиенты работают на Linux и используют файл /etc/openvpn/update-resolv-conf — раскомментируйте эти строки.

# script-security 2

# up /etc/openvpn/update-resolv-conf

# down /etc/openvpn/update-resolv-conf

Можно создать сценарий создания конфигурации для клиента на основе ранее созданных конфигураций. Сертификаты и конфигурацию объединяем в один файл для удобства.

mcedit client.sh
#!/bin/bash

# Первый аргумент: Идентификатор клиента

KEY_DIR=/etc/openvpn/keys

OUTPUT_DIR=/etc/openvpn/client-configs

BASE_CONFIG=./client.conf

cat ${BASE_CONFIG} \

  <(echo -e '<ca>') \

  ${KEY_DIR}/ca.crt \

  <(echo -e '</ca>\n<cert>') \

 ${KEY_DIR}/${1}.crt \

  <(echo -e '</cert>\n<key>') \

  ${KEY_DIR}/${1}.key \

  <(echo -e '</key>\n<tls-auth>') \

  ${KEY_DIR}/ta.key \

  <(echo -e '</tls-auth>') \

  > ${OUTPUT_DIR}/${1}.ovpn

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

Предоставляем права на выполнение.

chmod +x client.sh


Запускаем автоматическую сборку конфигурации.

./client.sh client1

Шаг 7. Настройка firewall для работы OpenVPN.

Включаем на сервере ip_forward
Для этого нужно в файле /etc/sysctl.conf раскомментировать строку

#net.ipv4.ip_forward=1

Или можно воспользоваться командой:

#sed -i 's/\#net\.ipv4\.ip\_forward\=1/net\.ipv4\.ip\_forward\=1/' /etc/sysctl.conf

Применяем настройки.

sysctl -p

Добавляем правило в firewall, если вы воспользовались предоставленной конфигурацией, то IP адрес менять не нужно

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE

Сохраняем настройки firewall.

iptables-save /etc/network/iptables.save


Добавляем в файл /etc/rc.local перед exit 0

mcedit /etc/rc.local
iptables-restore </etc/network/iptables.save

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

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

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

Подпишитесь на новости: