Настройка l2tp (протокола туннелирования 2-го уровня) поверх ipsec

Введение

Протоколы туннелирования 2-го уровня, в том числе L2TP, не предусматривают механизмы шифрования для трафика, проходящего через туннель. Шифрование данных они делегируют другим протоколам безопасности, таким как IPSec. В рассматриваемом примере конфигурации шифрование трафика L2TP для входящих подключений пользователей по коммутируемым каналам выполняется посредством IPSec.

Туннель L2TP устанавливается между концентратором доступа L2TP (LAC) и сетевым сервером L2TP (LNS). Между этими устройствами также устанавливается туннель IPSec, и весь трафик туннеля L2TP шифруется по протоколу IPSec.

Сравнение скорости L2tp, Pptp, EoIP, GRE и OpenVPN туннелей

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

Сравнение скорости vpn каналов в mikrotik
VPN Туннель Шифрование Скорость (Мбит/c)
l2tp нет 194
l2tp IPsec AES-128 CBC 26
pptp нет 194
pptp MPPE128 71
openvpn BF-128-CBC 24
eoip нет 836
eoip IPsec AES-128 CBC 27
gre нет 247
gre IPsec AES-128 CBC 29,7

Приведенная таблица наглядно показывает разницу в различных методах шифрования. С помощью нее можно быстро оценить, к каким потерям производительности может привести шифрование. Сейчас все по-умолчанию все шифруют, но если разобраться, очень часто это не требуется. Можно пойти на некий компромис и использовать pptp сервер, который хоть и не обеспечивает 100% безопасное шифрование, но тем не менее скрывает трафик от просто любопытных глаз и имеет неплохое быстродействие. В любом случае трафик просто так не прочитать, надо целенаправленно приложить усилия для дешифровки. В некоторых случаях такой защиты будет достаточно.

В чем разница между подключениями PPPoE и L2TP?

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

  • Протокол L2TP более защищенный, чем PPPoE, за счет двухфакторной идентификации
  • PPPoE предъявляет меньше требований к ресурсам устройств
  • L2TP дороже в использовании для провайдера
  • PPPoE проще в настройке на компьютере или роутере

Протокол туннелирования

Как правило, выбор VPN начинается с выбора протокола туннелирования (далее ПТ). Сегодня на рынке имеется несколько вариантов ПТ для реализации виртуальной частной сети: OpenVPN, PPTP, L2TP/IPsec, IPsec IKEv2 и другие, не получившие широкого распространения. Сразу хотелось бы отметить, что OpenVPN не совсем верно называть протоколом туннелирования, это программное обеспечение для создания виртуальной сети, но пусть будет протокол, дабы избежать путаницы.

Что такое протокол? Представьте себе ситуацию: вы встретились с человеком и хотите с ним пообщаться, но говорите на разных языках. Разумеется, вы не поймете друг друга, и речи о каком-либо полноценном взаимодействии идти не может. Протокол – это и есть язык взаимодействия, в данном случае между компьютером и VPN-сервером.

PPTP

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

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

L2TP/IPsec

Что о нем надо знать: 

  • он медленнее других из-за двойного инкапсулирования (создается IPsec-туннель, а данные ходят через L2TP);
  • использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;
  • операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;
  • при его правильной настройке нет информации о возможности расшифровать данные.

Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем в рамках курса не станем.

IPsec IKEv2

Что такое IKEv2 в этой связке? Это, если говорить очень просто, авторизация через сертификат, и она, к сожалению, поддерживается не всеми устройствами.

Что о нем надо знать:

  • работает быстрее, нежели L2TP/IPsec, сопоставим с OpenVPN, медленнее PPTP;
  • поддерживается не всеми операционными системами (хотя сам IPsec поддерживается везде);
  • при правильной настройке его не могут расшифровать ни спецслужбы, ни злоумышленники (по крайней мере, так считается в среде IT-специалистов).

Стоит отметить поддержку IPsec на всех популярных операционных системах как положительный момент. Но есть по этому поводу и другое мнение: в отличие от встроенных систем шифрования диска, наличие встроенных систем IPsec не вызывало возмущений со стороны спецслужб. Его реализовали даже в Windows, где всегда воздерживались от инструментов защиты данных, недоступных для взлома спецслужбам. Этот факт многим кажется подозрительным.

OpenVPN

OpenVPN – бесплатное решение с открытым исходным кодом, которое, по признанию большинства специалистов, является самым лучшим на сегодняшний день для создания частной виртуальной сети (VPN).

Что надо знать об OpenVPN:

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

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

PPTP

PPTP (полное название на английском это звучит как «Point-to-Point Tunneling Protocol») – тунельный протокол «точка-точка» является распространенным протоколом, он был реализован в операционной системе Windows, начиная еще с Windows 95. PPTP имеет много известных проблем безопасности, и, при необходимости будет легко расшифрован, что позволит вас «найти».

Да, PPTP распространен и прост в настройке, но это единственное преимущество, и оно того не стоит. Двигаемся дальше.

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

PPTP

один протоколУвеличитьУвеличить

PPTP_HUB #Username cisco2 password cisco2!interface Loopback1ip address 192.168.2.2 255.255.255.0!vpdn enable!vpdn-group 1! Default PPTP VPDN groupaccept-dialinprotocol pptpvirtual-template 1!interface Virtual-Template1ip unnumbered Loopback1ip mtu 1400ip tcp adjust-mss 1360peer default ip address pool PPTP-Poolppp encrypt mppe autoppp authentication ms-chap-v2 chap callin!ip local pool PPTP-Pool 192.168.2.5 192.168.2.50!
PPTP_HUB #sho vpdn session%No active L2TP tunnelsPPTP Session Information Total tunnels 1 sessions 1LocID RemID TunID Intf    Username      State   Last Chg Uniq ID55592     0     17168 Vi3        cisco2        estabd  00:04:13      6
PPTP_HUB#sh ip int brInterface                IP-Address   OK? Method            Status               ProtocolEthernet0/0              unassigned    YES NVRAM     administratively down downGigabitEthernet0/0  192.168.1.3   YES NVRAM              up                       upGigabitEthernet1/0      77.1.1.3     YES NVRAM              up                       upLoopback0                3.3.3.3      YES NVRAM                up                       upLoopback1            192.168.2.2  YES NVRAM                 up                       upVirtual-Access1        unassigned   YES   unset                down                 downVirtual-Access2        unassigned   YES   unset                  up                       upVirtual-Access3      192.168.2.5  YES   unset                   up                       upVirtual-Template1   192.168.2.5  YES   unset                down                   down
ip dhcp pool STATICimport allorigin file flash:/static2.txtdefault-router 192.168.2.2dns-server 8.8.8.8 8.8.4.4domain-name lab.locallease 3!interface Virtual-Template1ip unnumbered Loopback1ip mtu 1400ip tcp adjust-mss 1360peer default ip address pool STATIC (PPTP-Pool нам уже не нужен)ppp encrypt mppe autoppp authentication ms-chap-v2 chap callin
*time* Mar 01 2002 12:23 AM*version* 2!IP address       Type    Hardware address   Lease expiration   VRF192.168.2.77 /25             1000c.2984.4f84           Infinite192.168.2.17 /25             1000c.2946.1575          Infinite192.168.2.18 /25             10000.0000.1111          Infinite

L2TP

Устанавливаем сервер L2TP:

apt-get install xl2tpd

Открываем файл настройки сервера:

vi /etc/xl2tpd/xl2tpd.conf

Добавляем:

port = 1701
access control = no
ipsec saref = yes
force userspace = yes
auth file = /etc/ppp/chap-secrets

ip range = 176.16.10.10-176.16.10.200
local ip = 176.16.10.1
name = l2tpserver
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes
exclusive = no
hidden bit = no
length bit = yes

require authentication = yes
require chap = yes
refuse pap = yes

где:

  • port — порт UDP, на котором работает VPN. По умолчанию, 1701.
  • access control — принимать или нет запросы только от клиентов с определенными IP, перечисленными в настройках клиентов.
  • ipsec saref — указывает использовать или нет ipsec Security Association, позволяющий отслеживать несколько клиентов с одинаковыми IP-адресами.
  • force userspace — повышает производительность за счет декапсуляции пакетов L2TP.
  • auth file — путь к файлу аутентификации.
  • ip range — диапазон адресов, которые назначаются подключенным клиентам.
  • local ip — IP-адрес сервера в сети VPN.
  • name — имя сервера для процесса согласования.
  • pppoptfile — путь к файлу с настройкой pppd.
  • flow bit — позволяет добавлять в пакеты порядковые номера.
  • exclusive — если поставить в yes, сервер разрешит только одно соединение с клиентом.
  • hidden bit — скрывать или нет AVP.
  • length bit — использовать ли бит длины, указывающий полезную нагрузку.
  • require authentication — требовать ли аутентификацию.
  • require chap — требовать ли аутентификацию PPP по протоколу CHAP.
  • refuse pap — требовать ли аутентификацию PPP по протоколу PAP.

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

systemctl enable xl2tpd

systemctl restart xl2tpd

SSTP

Secure Socket Tunneling Protocol (SSTP) — проприетарный продукт от Microsoft. Как и PPTP, SSTP не очень широко используется в индустрии VPN, но, в отличие от PPTP, у него не диагностированы серьезные проблемы с безопасностью.

SSTP отправляет трафик по SSL через TCP-порт 443. Это делает его полезным для использования в ограниченных сетевых ситуациях, например, если вам нужен VPN для Китая. Несмотря на то, что SSTP также доступен и на Linux, RouterOS и SEIL, по большей части он все равно используется Windows-системами.

С точки зрения производительности SSTP работает быстро, стабильно и безопасно. К сожалению, очень немногие VPN провайдеры поддерживают SSTP.

SSTP может выручить, если блокируются другие VPN протоколы, но опять-таки OpenVPN будет лучшим выбором (если он доступен).

IKEv2

Это протокол туннелирования (протокол обмена ключами, версия 2), разработанный Cisco и Microsoft, он встроен в Windows 7 и последующие версии. Протокол допускает модификации с открытым исходным кодом, в частности для Linux и других платформ, также поддерживаются устройства Blackberry.

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

Плюсы

  • Высокая степень безопасности — поддержка различных шифров, в частности 3DES, AES, AES 256.
  • Также поддерживает устройства Blackberry.
  • Стабильно подключается снова после разрыва соединения или смены сетей
  • Просто установить и настроить, по крайней мере, для пользователя
  • Быстрее, чем L2TP, PPTP и SSTP

Минусы

  • Поддерживает малое количество платформ.
  • Порт UDP 500 блокируется проще, чем решения на основе SSL, как, например, SSTP или OpenVPN
  • Исходный код не открыт
  • Установка на сервер довольно трудная, это может вызвать потенциальные проблемы

Бонус (shadowsocks)

Не всегда нужен полноценный VPN, иногда просто хочется безопасно посмотреть котиков в браузере. Для Windows скачиваем https://github.com/shadowsocks/shadowsocks-windows/releases

Shadowsocks Windows (не требует прав администратора)

В браузере Firefox скачиваем расширение FoxyProxy (так же и на Android), настройка: SOCKS5/127.0.0.1/1080

foxyproxy для Firefox, для Chrome — proxy-switchyomega

Для Android https://play.google.com/store/apps/details?id=com.github.shadowsocks выбираем только прокси (тогда не будет подниматься VPN канал).

Shadowsocks AndroidShadowsocks скорость на провайдер МТС в Санкт-ПетербургSSTP VPN (2 устройства в сети) скорость на провайдер МТС в Санкт-Петербурге

P.S.

Почему Amazon? — самая низкая скорость, которая была — 10Mbps.

Сводка

Прежде чем сделать VPN-подключение L2TP/IPSec, необходимо иметь подключение к Интернету. Если вы попробуете сделать VPN-подключение перед подключением к Интернету, у вас может возникнуть длинная задержка, обычно 60 секунд, а затем вы можете получить сообщение об ошибке, в результате чего не было ответа или что-то не так с модемом или другим устройством связи.

При устранении неполадок подключения L2TP/IPSec полезно понять, как происходит подключение L2TP/IPSec. При запуске подключения на сервер отправляется начальный пакет L2TP с запросом подключения. Этот пакет заставляет уровень IPSec на компьютере договариваться с VPN-сервером о том, чтобы настроить защищенный сеанс IPSec (ассоциация безопасности). В зависимости от многих факторов, включая скорость ссылок, переговоры по IPSec могут занять от нескольких секунд до двух минут. Когда создана ассоциация безопасности IPSec (SA), начинается сеанс L2TP. Когда она начинается, вы получаете запрос на имя и пароль (если подключение не настроено для автоматического подключения в Windows Millennium Edition.) Если VPN-сервер принимает ваше имя и пароль, настройка сеанса завершается.

Распространенный сбой конфигурации в соединении L2TP/IPSec — это неправильно сконфигурованный или отсутствующий сертификат или неправильно сконфигурованный или отсутствующий предустанавленный ключ. Если на уровне IPSec не удастся установить зашифрованный сеанс с VPN-сервером, он будет работать безмолвно. В результате уровень L2TP не видит ответа на запрос подключения. Задержка будет долгой, обычно 60 секунд, и тогда вы можете получить сообщение об ошибке, в результате чего на сервере не было ответа или не было ответа от модема или устройства связи. Если вы получили это сообщение об ошибке перед получением запроса на имя и пароль, IPSec не устанавливал сеанс. Если это произойдет, проверьте конфигурацию сертификата или предварительно предварительного ключа или отправьте журнал isakmp администратору сети.

Вторая распространенная проблема, которая препятствует успешному сеансу IPSec, — это использование сетевого перевода адресов (NAT). Во многих небольших сетях маршрутизатор с функциональными возможностями NAT используется для обмена одним интернет-адресом между всеми компьютерами в сети. Оригинальная версия IPSec сбрасывает подключение, которое проходит через NAT, так как обнаруживает адресное сопоставление NAT как подделывания пакетов. Домашние сети часто используют NAT. Это блокирует использование L2TP/IPSec, если клиент и шлюз VPN не поддерживают возникающий стандарт IPSec NAT-Traversal (NAT-T). Дополнительные сведения см. в разделе «Nat Traversal».

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

Обмен пакетами L2TP

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

Список сообщений управления L2TP, которыми обмениваются LAC и LNS, для установления связи перед установлением туннеля и сеанса в методе добровольного туннелирования:

OpenVPN

OpenVPN это технологии с открытым (доступным) исходным кодом, использующий библиотеки шифрования OpenSSL и протоколы SSL v3 / TLS v1. Он может быть настроен для работы на абсолютно любом порту, что является одним из его плюсом. Трафик OpenSSL VPN будет практически неотличим от стандартного трафика HTTPS, который возникает при подключении к защищенному веб-сайту.

Этот протокол достаточно гибкий, имеет большее количество настроек чем PPTP и наиболее безопасен, если он настроен на использование шифрования AES вместо более слабого шифрования Blowfish. OpenVPN стал популярным стандартом. Это достаточно хорошая анонимность, которою тяжело вычеслить.

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

Итог: OpenVPN является отличным, современным, безопасным протоколом, но вам потребуется установить дополнительное ПО. Именно его советуем к использованию.

Дополнительные сведения

Кроме того, в утилите конфигурации предусмотрена проверка, которая включает ведение журнала IPSec. Если вы не можете подключиться, и администратор сети или сотрудники службы поддержки обратились к вам с просьбой предоставить им журнал подключения, вы можете включить ведение журнала IPSec здесь. При этом журнал (Isakmp.log) создается в папке. При создании подключения также включить ведение журнала для обработки PPP в L2TP. Для этого:

  1. Щелкните правой кнопкой мыши папку сети dialup и нажмите кнопку Свойства.
  2. Щелкните вкладку Networking, а затем выберите запись файла журнала для этого окна подключения.

Файл журнала PPP является . Он расположен в папке.

Дополнительные сведения см. в Параметры microsoft L2TP/IPSec Virtual Private Network Client.

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

Первое, что мы должны сделать, это настроить протокол L2TP, для этого мы переходим в раздел «VPN / L2TP» и настраиваем его следующим образом:

  • Включить L2TP
  • Конфигурация
    • Интерфейс: WAN
    • Адрес сервера: 192.168.100.1; Мы должны создать подсеть, которая не используется, и которая служит только для использования ее в качестве шлюза для клиентов.
    • Диапазон удаленных адресов: 192.168.100.128/25; Подключающимся клиентам даем локальную подсеть.
    • Количество пользователей L2TP: 10, это может быть настроено в соответствии с потребностями пользователя.
    • Секрет: 1234clavel2tp; Можем поставить пароль, его рекомендуется ставить, хотя некоторым клиентам он не нужен. Это зависит от комплектации.
    • Тип аутентификации: CHAP
    • Первичный / вторичный L2TP DNS-сервер: мы можем поставить DNS-сервер для клиентов

После того, как мы его настроили и нажали «Сохранить», мы переходим в раздел «Пользователи» и создаем имя пользователя и пароль для доступа. Здесь нам нужно будет зарегистрировать всех пользователей VPN-сервера, к которому они собираются подключиться. Часть IP-адреса можно оставить пустой без настройки, чтобы сервер назначал IP-адрес динамически.

После настройки сервера L2TP мы можем настроить протокол IPsec.

Что такое протоколы VPN?

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

В настоящее время существует несколько типов протоколов, которые различаются степенью шифрования и скоростью:

Протокол PPTP VPN

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

Неоспоримым преимуществом PPTP VPN является то, что он не требует высокой вычислительной мощности, что выражается в скорости. Подключение осуществляется через порт 1723 PPTP. Более того, он совместим практически с любым современным устройством или системой. Но его использование не совсем безопасно — данный протокол может свободно собирать ваши данные и часто блокируется брандмауэрами.

PPTP vs L2TP

Этот тип протокола не обеспечивает никакого шифрования (по крайней мере, он не делает этого сам по себе), а только создает соединение между вами и онлайн-сервером VPN. Тем не менее, это безопасно при условии, что все правильно реализовано.

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

PPTP vs OpenVPN

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

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

IKEv2 в качестве альтернативы OpenVPN

Как и OpenVPN, IKEv2 является протоколом туннелирования и использует инструменты IPSec для обеспечения защиты VPN. Он поддерживается такими платформами, как Windows, iOS, MacOS X, приложениями Android и считается стабильным и безопасным VPN-протоколом.

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

Как настроить автоматически подключение к PPPoE в Windows 10?

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

Для этого находим через поиск Windows программу «Планировщик заданий»

Ваше мнение — WiFi вреден?

Да
22.94%

Нет
77.06%

Проголосовало: 28052

Выбираем «Создать простую задачу»

Далее придумываем для нее название — например «Интернет PPPoE»

В качестве триггера, то есть условия для ее выполнения, выбираем «При запуске Windows»

А в пункте «Действие» ставим флажок на «Запустить программу»

Теперь будьте внимательны и правильно укажите данные для подключения к интернету.

  1. В поле «Программа или сценарий» пишем слово «rasdial»
  2. В графу «Добавить аргументы» вставляем строку — «WWW» WiFiKARU 123qwerty — где вместо «WiFiKARU» нужно указать ваш логин от PPPoE, а вместо «123qwerty» — пароль для подключения к интернету.

В следующем окне проверяем всю информацию и жмем на «Готово»

Выбор транспортного протокола для OpenVPN. TCP или UDP?

Зашифрованная информация, созданная при помощи OpenVPN, может передаваться по одному из двух протоколов: UDP или TCP. VPN-провайдеры обычно предлагают оба варианта, сопровождая их комментарием «TCP надежней, UDP быстрее».

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

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

Аналогичная ситуация и в выборе протокола: UDP – быстрый способ без подтверждения доставки пакетов, его мы рекомендуем использовать при стабильном интернете. TCP не такой быстрый, но зато доставка каждого пакета подтверждается, он рекомендуется при плохой связи.

TCP необходим в тех ситуациях, когда UDP-трафик блокируется провайдером или настройками роутера. Альтернативный вариант OpenVPN TCP по 443 порту не может быть заблокирован, так как этот порт используется для всех HTTPS-соединений, и пользователи просто не смогут открывать сайты.

Мы в своих решениях ставим OpenVPN UDP, но если в течение 15 секунд  не получается подключиться при помощи UDP, автоматически начинается TCP-соединение.

В следующей главе мы поговорим про TLS authentication, порт соединения, генерацию сессионного ключа, алгоритмы шифрования, длину ключа, аутентификацию данных и другие составляющие безопасного VPN-соединения.

Доступ к локальной сети и сети Интернет

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

Настройка ядра

Нам нужно разрешить опцию net.ipv4.ip_forward в настройках ядра — для этого откроем файл:

vi /etc/sysctl.d/99-sysctl.conf

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

net.ipv4.ip_forward=1

После применяем настройку:

sysctl -p /etc/sysctl.d/99-sysctl.conf

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

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

Настройка брандмауэра

Настройка выполняется для двух сетевых интерфейсов на примере ens32 (внутренний) и ens34 (внешний):

firewall-cmd —permanent —zone=public —add-masquerade

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT

firewall-cmd —reload

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

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

Adblock
detector