Установка и настройка OpenVPN для Ubuntu

Несколько конфигурационных файлов

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

Для Windows:

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

Пример каталога config:

Пример файлов в одном из каталогов:

Теперь при подключении клиентом к можно выбрать конкретный VPN-сервер:

Для Linux:

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

mkdir /etc/openvpn/server1

А в каталоге /etc/openvpn создаем для каждого подключения свой конфиг:

vi /etc/openvpn/client1.conf

* в конфигурационном файле все пути до файлов должны вести в соответствующий каталог (в нашем примере, /etc/openvpn/server1).

Запускаем OpenVPN:

openvpn –config /etc/openvpn/server1/client.conf

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

systemctl enable openvpn@client

… где @client — указатель на использование конфигурационного файла client внутри папки openvpn (/etc/openvpn). Таким образом, если мы создали 2 файла client1.conf и client2.conf, команды для разрешения автозапуска бelen такие:

systemctl enable openvpn@client1

systemctl enable openvpn@client2

Подготовка к работе с сертификатами

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

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

$ cd ~
$ mkdir easy-rsa
$ wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.7/EasyRSA-3.0.7.tgz
$ tar xvf EasyRSA-3.0.7.tgz
$ cp -r EasyRSA-3.0.7/* easy-rsa/

В OpenVPN открытый ключ называется сертификатом и имеет расширение , а закрытый ключ так и называется ключом и имеет расширение .

Генерация клиентских ключей.

Аналогично генерации серверных ключей создаются и клиентские:

Следует обратить внимание, что созданный client1.key не имеет парольной или криптографической защиты. Это может привести к тому, что любой пользователь завладевший файлом может попробовать подключиться к серверу

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

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

Следует помнить, что имена ключей должны быть уникальными. Один пользователь – один ключ с уникальным именем.

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

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

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

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

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

$ sudo scp username@host:/etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys

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

$ 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 username@host:~/

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

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

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

$ sudo scp username@host:/home/John.crt /etc/openvpn/easy-rsa/keys

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

$ ./build-dh

Что такое OpenVPN

OpenVPN – это технология, использующая принцип VPN для создания зашифрованных каналов между компьютерами. А технология VPN – или Virtual Private Network (виртуальная приватная сеть) – это, грубо говоря, защищенный канал, позволяющий паре устройств соединиться в рамках интернета. Ключевое слово – защищенный. VPN обладает и возможностями анонимайзера, когда IP-адрес компьютера изменяется для того, чтобы его было невозможно отследить. Отсюда пошел миф о том, что VPN и OpenVPN используют в основном злоумышленники – это не так. В первую очередь VPN призван защитить вас, ваши данные и ваш компьютер в целом: при использовании VPN данные шифруются по особому алгоритму, и взломать его крайне проблематично.
В отличие от анонимайзера или использования proxy, VPN позволяет использовать закрытую от внешнего доступа связь логической сети, которая идет поверх публичной при использовании интернета. То есть сетевое соединение составляют два компьютера (которые еще называют «точка-точка»). Благодаря использованию такой зашифрованной платформы и достигается конфиденциальность и целостность всех данных.OpenVPN – это свободная реализация технологии VPN. При этом OpenVPN является свободным программным обеспечением, распространяемым под лицензией GNU GPL.

  • ее легко и быстро может настроить даже не очень опытный пользователь;
  • экономия трафика;
  • безопасность и защищенность.

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

Подготовка Ubuntu

Обновляем установленные пакеты:

apt-get update && apt-get upgrade

Устанавливаем утилиту для синхронизации времени:

apt-get install chrony

Разрешаем ее автозапуск и стартуем сервис:

systemctl enable chrony –now

Установим правильную временную зону:

timedatectl set-timezone Europe/Moscow

* в данном примере московское время.

Если в нашей системе используется брандмауэр, открываем порт, на котором будет слушать OpenVPN:

iptables -I INPUT -p udp –dport 443 -j ACCEPT

* в данной инструкции предполагается, что мы настроим VPN-сервер на UDP-порту 443, однако, по-умолчанию, OpenVPN работает на порту 1194.

Для сохранения правила используем iptables-persistent:

apt-get install iptables-persistent

netfilter-persistent save

Создание ключей Диффи-Хеллмана и HMAC

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

  1. Сначала перейдите в каталог EasyRSA на вашем сервере OpenVPN .

  2. Сгенерируйте ключ Диффи-Хеллмана:

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

    Скопируйте файл каталог :

  3. Создайте подпись HMAC:

    После завершения скопируйте файл каталог :

Сетевая конфигурация сервера

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

Отправка IP

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

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

$ sudo nano /etc/sysctl.conf

Теперь найдите строку с net.ipv4.ip_forward. Раскомментируйте ее, удалив знак решетки в начале:

net.ipv4.ip_forward=1

Затем сохраните и закройте файл.

Для того, чтобы применить изменения к вашему сеансу, наберите:

$ sudo sysctl -p

Настройка UFW правил для сокрытия клиентских соединений

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

$ ip route | grep default

Название вашего публичного интерфейса будет иди сразу после слова “dev’. В примере ниже интерфейс называется wlp22s0:

default via 203.0.113.1 dev wlp22s0 proto static metric 600

Увидели и запомнили название интерфейса? Тогда идем дальше. Откройте файл /etc/ufw/before.rules для того, чтобы добавить нужную конфигурацию:

$ sudo nano /etc/ufw/before.rules

В этом файле содержатся настройки, которые следует внести до того, как будут применены правила UFW. Ближе к началу файла добавьте строки, написанные ниже (вставить их можно после закомментированного блока rules.before):

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT 
# Allow traffic from OpenVPN client to wlp22s0 (change to the interface you discovered!)
-A POSTROUTING -s 10.8.0.0/8 -o wlp22s0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

Обратите внимание, что в строчке -A POSTROUTING нужно вставить то название интерфейса, которое вы выяснили ранее. Внесенное изменение позволяет установить правила

которые по умолчанию будут применяться к цепочке POSTROUTING (именно эта цепочка отвечает за маскарадинг) в таблице nat, и весь трафик, который идет от VPN, будет скрыт

Внесенное изменение позволяет установить правила. которые по умолчанию будут применяться к цепочке POSTROUTING (именно эта цепочка отвечает за маскарадинг) в таблице nat, и весь трафик, который идет от VPN, будет скрыт.

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

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

$ sudo nano /etc/default/ufw

И в нем найдите директиву DEFAULT_FORWARD_POLICY. Ее значение с DROP нужно изменить на ACCEPT.

DEFAULT_FORWARD_POLICY="ACCEPT"

Затем сохраните и закройте файл.Открытие порта OpenVPN и применение изменений

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

Если ранее вы не меняли номер порта и протокол в файле /etc/openvpn/server.conf, то вам нужно открыть трафик UDP для порта 1194. Соответственно, если вы используете другой порт и протокол, то в настройках вам нужно будет использовать ваши значения.

Также нужно будет добавить SSH-порт (если ранее вы этого не сделали):

$ sudo ufw allow 1194/udp
$ sudo ufw allow OpenSSH

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

$ sudo ufw disable
$ sudo ufw enable

Теперь сервер настроен правильно для того, чтобы работать с OpenVPN трафиком.

Подготовка

Для выполнения этого урока вам понадобятся:

  • Sudo доступ к серверу Ubuntu 18.04 для размещения вашего экземпляра OpenVPN.
  • На сервере должен быть настроен базовый брандмауэр UFW .
  • Отдельный выделенный компьютер, который будет служить вашим ЦС (центром сертификации). Если вы не хотите использовать выделенный компьютер для своего ЦС, вы можете создать ЦС на своем сервере OpenVPN или локальном компьютере. После того, как вы закончите создание CA, рекомендуется переместить каталог CA в безопасное место или автономно.

В этом руководстве предполагается, что центр сертификации находится на отдельном компьютере с Ubuntu 18.04. Те же шаги (с небольшими изменениями) будут применяться, если вы используете свой сервер в качестве центра сертификации.

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

Шаг 6 – Настройка сетевой конфигурации сервера

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

Это важно для функциональности VPN, которую предоставляет ваш сервер

Затем настройте сам брандмауэр, чтобы разрешить трафик в OpenVPN. Если вы не изменили порт и протокол в /etc/openvpn/server.conf файле, вам нужно будет открыть UDP-трафик к порту 1194. Если вы изменили порт и / или протокол, подставьте значения, которые вы выбрали здесь.

Ваш сервер теперь настроен для правильной обработки трафика OpenVPN.

Installation for Debian and Ubuntu

Follow these steps in order to install OpenVPN 3 Client on Linux for Debian and Ubuntu:

  1. Open the Terminal by pressing

  2. Type the following command into the Terminal: . This is done to ensure that your apt supports the https transport. Enter the root password as prompted

  3. Type the following command into the Terminal: . This will install the OpenVPN repository key used by the OpenVPN 3 Linux packages

  4. Type the following command into the Terminal:

  5. Type the following command into the Terminal: . This will install the proper repository. Replace $DISTRO with the release name depending on your Debian/Ubuntu distribution (the table of release names for each distribution can be found below). In this case, is chosen since Ubuntu 20.04 is used

  6. Type the following command into the Terminal:

  7. Type the following command into the Terminal: . This will finally install the OpenVPN 3 package

DistributionRelease Release name ($DISTRO)
Debian9stretch
Debian10buster
Ubuntu16.04xenial
Ubuntu18.04bionic
Ubuntu19.10eoan
Ubuntu20.04focal

Настройка IPSEC

Для управления IPSec используется пакет strongswan — установим его командой:

apt-get install strongswan

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

vi /etc/ipsec.conf

Для config setup добавим:

config setup
        virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
        protostack=netkey

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

… а также вставляем ниже:

conn l2tpvpn
        type=transport
        authby=secret
        pfs=no
        rekey=no
        keyingtries=2
        left=%any
        leftprotoport=udp/l2tp
        leftid=@l2tpvpnserver
        right=%any
        rightprotoport=udp/%any
        auto=add

* где:

  • type — тип соединения. Возможны варианты tunnel (хост-хост, хост-подсеть или подсеть-подсеть); transport (хост-хост); passthrough (без обработки IPsec).
  • authby — способы аутентификации двух узлов. Возможны варианты secret (по паролю) или rsasig (цифровые подписи RSA).
  • pfs — расшифровывается как Perfect Forward Secrecy. Позволяет активировать совершенную секретность в канале ключей соединения.
  • rekey — перепроверить соединение, когда оно истекает.
  • keyingtries — число попыток, чтобы «договориться» о соединении или его замене.
  • left — IP-адрес левого участника (сервера). %any означает, что адрес может быть любой.
  • leftprotoport — определяет протокол и порт, на котором будет работать левая сторона (сервер). В данном примере указан UDP и порт 1701.
  • leftid — идентификация левого участника соединения.
  • right — IP-адрес правого участника (клиента). %any означает, что адрес может быть любой.
  • rightprotoport — определяет протокол и порт, на котором будет работать правая сторона (клиент). В данном примере указан UDP и любой порт.
  • auto — операция, которая должна запуститься автоматически при старте IPsec.

Создаем секретный ключ — для этого открываем на редактирование файл:

vi /etc/ipsec.secrets

… и добавляем:

%any %any : PSK “my_key_password”

* в данном примере мы устанавливаем общий пароль my_key_password для соединений с любого IP.

Разрешаем автозапуск strongswan и перезапускаем службу:

systemctl enable strongswan

systemctl restart strongswan

Установка OpenVpn

Теперь вы готовы к установке OpenVPN. Установка OpenVPN производится одинаково, что на клиенте, что на сервере. Отличаются только файлами конфигурации.

Обратите внимание, что пакеты, созданные для более старых выпусков операционной системы, могут нормально работать с более новыми выпусками той же операционной системы. При использовании Debian/Ubuntu/Mint:

При использовании Debian/Ubuntu/Mint:

$ apt-get update && apt-get install openvpn

Примечания к просроченным ключам

Если срок действия ключа подписи apt истекает, apt будет жаловаться при обновлении кеша пакета (например, apt-get update). Чтобы исправить это, удалите просроченный ключ из цепочки ключей apt:

$ apt-key del E158C569

Затем добавьте новый ключ, используя wget и apt-key, как описано . Затем убедитесь, что новый ключ находится в цепочке для ключей:

$ apt-key list
--- snip ---
/etc/apt/trusted.gpg
--------------------
pub rsa2048 2011-08-03  
30EB F4E7 3CCE 63EE E124 DD27 8E6D A8B4 E158 C569
uid  Samuli Seppänen (OpenVPN Technologies, Inc) <samuli@openvpn.net>
sub rsa2048 2011-08-03  

Клиентская инфраструктура

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

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

Создайте структуру директорий внутри вашей домашней директории – это место будет использоваться для хранения файлов:

$ mkdir -p ~/client-configs/files

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

$ chmod 700 ~/client-configs/files

Создание базовой конфигурации

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

$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf

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

$ nano ~/client-configs/base.conf

Начните с директивы remote. Она указывает клиенту, какой IP-адрес имеет сервер OpenVPN. Этот адрес обязательно должен быть публичным. Если ранее вы изменили порт для сервера OpenVPN, то измените его в этом файле тоже:

. . .
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote server_IP_address 1194
. . .

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

proto udp

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

# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

Найдите директивы, которые задают ca, cert и key, и закомментируйте их, так как сертификаты и ключи будут заданы внутри самого файла:

# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
#ca ca.crt
#cert client.crt
#key client.key

А настройки cipher и auth скопируйте из файла /etc/openvpn/server.conf:

cipher AES-128-CBC
auth SHA256

И еще куда-нибудь в файл вам нужно добавить директиву key-direction, задав ей обязательно значение 1:

key-direction 1

Наконец, добавьте и несколько закомментированных строк, которые будут использоваться только для клиентов Linux, использующих файл /etc/openvpn/update-resolv-conf.

# script-security 2
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf

Поэтому если клиент использует Linux, и у него есть файл /etc/openvpn/update-resolv-conf, нужно раскомментировать эти строки в сгенерированном клиентском конфигурационном файле OpenVPN.

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

Аутентификация пользователей

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

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

Открываем конфигурационный файл openvpn:

vi /etc/openvpn/server/server.conf

И добавляем следующие строчки:

username-as-common-name
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login

* где username-as-common-name указывает на то, что openvpn должен использовать логины, как основные идентификаторы клиента; plugin указывает на путь к самому плагину и для чего он используется.
* как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name “openvpn-*auth-pam*” -print.

Перезапускаем сервер:

systemctl restart openvpn-server@server

При необходимости, создаем учетную запись для авторизации:

useradd vpn1 -s /sbin/nologin

И задаем ей пароль:

passwd vpn1

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

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

auth-user-pass

Теперь при подключении программа будет запрашивать логин и пароль.

Вход без ввода пароля (сохранение пароля)

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

auth-user-pass auth.txt

* где auth.txt — файл, в котором мы будем хранить логин и пароль.

Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:

username
password

* где username — логин пользователя, а password — пароль.

Переподключаем клиента.

Описанный метод аутентификации является базовым и требует наличие обычной системной учетной записи. Если необходима более сложная авторизация на базе LDAP, можно воспользоваться инструкцией настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).

Переходим к практике

Чтобы выполнить настройку своего сервера OpenVPN Ubuntu, потребуется приобрести свой сервер с установленной Ubuntu Linux. На нём необходимо получить права root. В настоящее время приобрести решение можно по невысокой цене, а количество компаний, которые предлагают такие услуги — всё больше. Сама по себе установка OpenVPN Ubuntu не потребует значительных затрат времени.

Приступаем к установке и настройке

Для начала необходимо подключиться к серверу и дать ему такие команды:

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

Далее нужно провести генерацию ключей и сертификатов:

После генерации необходимо перенести полученные данные в /etc/openvpn/:

Создайте в том же каталоге файл server.conf с такими параметрами:

Проведите запуск

Далее необходимо ввести данные для клиентской стороны. Потребуется создать несколько новых файлов.

Здесь в строке remote требуется написать IP-адрес сервера так, как показано в примере.

Далее необходимо изучить log-файлы на сервере на предмет ошибок:

В соседнем окне терминала необходимо ввести команду:

Если всё было сделано правильно, вы обнаружите, что 10.128.0.1 успешно пингуется. Однако отправки пакетов получателю происходить не будет, так как на сервере не настроен NAT. Нам ещё потребуется выполнить этот шаг.

На сервере необходимо открыть файл с названием /etc/sysctl.conf и убрать знаки комментария со строки «net.ipv4.ip_forward=1», сделав её активной.

Далее вы можете перезагрузить компьютер, или ввести строку:

Затем необходимо ввести:

Далее, попробуйте перейти на сервис проверки IP. Если всё прошло удачно, сохраните правила на сервере:

Также необходимо проверить, что в файле «/etc/network/interfaces» записана строка «pre-up iptables-restore < /etc/iptables.rules». Перезагрузите сервер OpenVPN, чтобы настраивать его дальше.

Вы должны завершить настройку VPN через Network Manager. Для этого необходимо ввести команду «sudoapt-get install network-manager-openvpn-gnome». Вы можете записать в конфигурацию все файлы, указанные ранее в текстовом виде.

Настройка firewall в Linux Ubuntu

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

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

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

Если вдруг файрвола Iptables не обнаружилось в вашем дистрибутиве, или вы хотите обновить утилиту, введите следующую команду:

Iptables – первая линия системы безопасности Linux и любимец сетевых администраторов. Настраивается данный Linux файрвол через командную строку при помощи установленных команд. Проблема в том, что начинающему юзеру процесс контроля за поступлением и отправлением трафика бесчисленными командами iptables может показаться слишком сложным. К счастью, существует интерфейс, специально разработанный для упрощения процесса настройки утилиты Iptables: UFW (Uncomplicated Firewall или по-русски «простой брандмауэр»). Кстати, в Linux Ubuntu UFW встроен также по умолчанию. А если вы его удалили, то можете заново загрузить, введя в консоли:

Мы пошагово показываем настройку Uncomplicated Firewall Linux в нашем видео Как настроить фаервол в Ubuntu.  

Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий