IPsec VPN. Основы
Содержание:
- Введение
- Туннелирование MPLS
- Устанавливаем vpn client windows
- Шлюз RAS как один клиент VPN-сервераRAS Gateway as a Single Tenant VPN Server
- Протоколы IPsec
- VPN это просто
- Что такое CMAK
- Литература
- Пара слов об OpenVPN
- Классификация VPN код
- Создание VPN сервера в Windows
- Основные понятия
- Пошаговая инструкция по настройке VPN сервера
- Уровни реализации
- Частные IP-адреса, что это
- Примеры VPN код
- Что такое stunnel
- Что нам понадобится
Введение
VPN основанный на технологии IPsec можно разделить на две части:
- Протокол Internet Key Exchange (IKE)
- Протоколы IPsec (AH/ESP/both)
Первая часть (IKE) является фазой согласования, во время которой две VPN-точки выбирают какие методы будут использоваться для защиты IP трафика посылаемого между ними. Помимо этого IKE также используется для управления соединениями, для этого вводится понятие Security Associations (SA) для каждого соединения. SA направлены только в одну сторону, поэтому типичное IPsec соединение использует два SA.
Вторая часть – это те IP данные, которые необходимо зашифровать и аутентифицировать перед передачей методами, согласованными в первой части (IKE). Существуют разные протоколы IPsec, которые могут быть использованы: AH, ESP или оба.
Последовательность установления VPN через IPsec можно кратко описать как:
- IKE согласовывает защиту уровня IKE
- IKE согласовывает защиту уровня IPsec
- защищаемые данные передаются через VPN IPsec
Туннелирование MPLS
В технологии MPLS виртуальные частные сети VPN создаются с помощью туннелей. В отличие от VPN IP-сети в MPLS туннели создаются в результате использования стека меток.
Сказанное в предыдущей главе про коммутируемый по меткам тракт LSP уровня m справедливо и по отношению к LSP-туннелю.
В примере на рисунке 5 (глава 15) участок пути между LERl LER2 (LERl- LSR1- LSR2- LER2) является LSP-туннелем для пути пакета IP1 между LERl и LER4, проходящего через семь маршрутизаторов (LERl- LSR1- LSR2- LER2- LER3-LSR3- LER4).
LSP-туннель представляет собой последовательность маршрутизаторов, где первый маршрутизатор является входным, а последний — выходным конечным пунктом. Чтобы направить пакет в LSP-туннель, маршрутизатор входного конечного пункта туннеля помещает метку, назначенную для этого туннеля, наверх существующего в пакете стека меток. Как видно из рисунка 5, предпоследний маршрутизатор (LSR2) может уничтожить верхнюю метку в стеке до передачи пакета к выходному конечному пункту (LER2). В пределах одного LSP может быть создано несколько LSP-туннелей одного уровня с несовпадающими входными и/или выходными конечными пунктами. Например, в домене 2 может быть создано ещё один или несколько туннелей для LSP2 (при условии, что промежуточных LSR для этого тракта будет не один LSR4, а несколько). Внутри любого из LSP-туннелей можно создавать LSP-туннели следующего уровня, что обеспечивает иерархичность организации туннеля. Напомним, что стек меток MPLS организован по принципу последним пришёл — первым вышел LIFO (last-in, first-out), то есть метка, установленная последней, находится наверху стека, и только она обрабатывается при пересылке пакета. Значение бита S=1, установленное в заголовке метки показывает, что эта метка в стеке меток является самой нижней.
Устанавливаем vpn client windows
И так мы выяснили что установщик vpn лежит в C:\Program Files\CMAK, запускаем его. На вопрос хотим ли мы его установить жмем да.
Далее вас спросят будет ли доступно данное соединение, только вам или же для всех
Все ваше vpn соединение появилось в списке сетевых интерфейсов.
Запускаем его, сервер уже прописан автоматом, видно телефон технической поддержки, нажмем свойства.
На вкладке параметры выберите побольше число запросов, и время простоя до разрыва связи поставьте никогда.
На этом все, задачу по созданию автоматического пакета настраивающего vpn клиента в windows мы выполнили.
Материал сайта pyatilistnik.org
Дек 6, 2015 17:12
-
Последние записи
- Программа 1cv8c.exe версии прекратила взаимодействие с Windows
- Как изменить имя компьютера Windows 10, за минуту
- Подключение было запрещено, учетная запись пользователя не имеет прав
- Windows Identity Foundation ошибка 0x80096002
- Duplicate key was found при установке ManageEngine ServiceDesk 10508
Шлюз RAS как один клиент VPN-сервераRAS Gateway as a Single Tenant VPN Server
В Windows Server 2016 роль сервера удаленного доступа — это логическая группа следующих технологий сетевого доступа.In Windows Server 2016, the Remote Access server role is a logical grouping of the following related network access technologies.
- Служба удаленного доступа (RAS)Remote Access Service (RAS)
- МаршрутизацияRouting
- Прокси-сервер веб-приложенияWeb Application Proxy
Эти технологии являются службы ролей, роли сервера удаленного доступа.These technologies are the role services of the Remote Access server role.
При установке роли сервера удаленного доступа с помощью мастера добавления ролей и компонентов или Windows PowerShell, можно установить один или несколько из этих трех ролей служб.When you install the Remote Access server role with the Add Roles and Features Wizard or Windows PowerShell, you can install one or more of these three role services.
При установке DirectAccess и VPN (RAS) службы роли, при развертывании шлюза службы удаленного доступа (шлюза RAS).When you install the DirectAccess and VPN (RAS) role service, you are deploying the Remote Access Service Gateway (RAS Gateway). Вы можете развернуть шлюз RAS, как сервер виртуальной частной сети (VPN) шлюза RAS одного клиента, который предоставляет многие дополнительные функции и улучшенные возможности.You can deploy RAS Gateway as a single tenant RAS Gateway virtual private network (VPN) server that provides many advanced features and enhanced functionality.
Примечание
Также можно развернуть шлюз RAS качестве Мультитенантного VPN-сервера для использования с программно определяемой сети (SDN), или как сервер DirectAccess.You can also deploy RAS Gateway as a Multitenant VPN server for use with Software Defined Networking (SDN), or as a DirectAccess server. Дополнительные сведения см. в разделе шлюза RAS, программно определяемой сети (SDN), и DirectAccess.For more information, see RAS Gateway, Software Defined Networking (SDN), and DirectAccess.
Протоколы IPsec
IPsec протоколы используются для защиты передаваемых данных. Выбор протокола и его ключей происходит при согласовании IKE.
AH (Authentication Header)
AH предоставляет возможно аутентифицировать передаваемые данные. Для этого используется криптографическая хэш-функция по отношению к данным содержащимся в IP-пакете. Вывод данной функции (хэш) передается вместе с пакетом и позволяет удаленной VPN точке подтвердить целостность оригинального IP-пакета, подтверждая, что он не был изменен по пути. Помимо данных IP-пакета, AH также аутентифицирует часть его заголовка.
В режиме транспорта, AH встраивает свой заголовок после оригинального IP пакета.
В режиме туннеля AH встраивает свой заголовок после внешнего (нового) IP-заголовка и перед внутренним (оригинальным) IP заголовком.
ESP (Encapsulating Security Payload)
ESP протокол используется для шифрования, для аутентификации или и того, и другого по отношению к IP пакету.
В режиме транспорта ESP протокол вставляет свой заголовок после оригинально IP заголовка.
В режиме туннеля ESP заголовок находится после внешнего (нового) IP заголовка и перед внутренним (оригинальным).
Два основных различия между ESP и AH:
- ESP помимо аутентификации предоставляет еще возможность шифрования (AH этого не предоставляет)
- ESP в режиме туннеля аутентифицирует только оригинальный IP заголовок (AH аутентифицирует также внешний).
Работа за NAT (NAT Traversal)
Для поддержки работы за NAT была реализована отдельная спецификация. Если VPN-точка поддерживает данную спецификацию, IPsec поддерживает работу за NAT, однако существуют определённые требования.
Поддержка NAT состоит из двух частей:
- На уровне IKE конечные устройства обмениваются друг с другом информацией о поддержке, NAT Traversal и версией поддерживаемой спецификации
- На уровне ESP сформированный пакет инкапсулируется в UDP.
NAT Traversal используется только в том случае, если обе точки поддерживают его.Определение NAT: обе VPN-точки посылают хеши своих IP адресов вместе с UDP портом источника IKE согласования. Данная информация используется получателем, для того чтобы определить был ли изменен IP адрес и/или порт источника. Если данные параметры не были изменены, то трафик не проходит через NAT и механизм NAT Traversal не нужен. Если адрес или порт были изменены, значит между устройствами находится NAT.
Как только конечные точки определят, что необходим NAT Traversal, согласование IKE перемещаются с порта UDP 500 на порт 4500. Делается это потому, что некоторые устройства некорректно обрабатывают IKE сессию на 500 порту при использовании NAT.
Другая проблема возникает из-за того, что ESP протокол – протокол транспортного уровня и располагается непосредственно поверх IP. Из-за этого к нему не применимы понятия TCP/UDP порта, что делает невозможным подключение через NAT более одного клиента к одному шлюзу. Для решения данной проблемы ESP запаковывается в UDP дейтаграмму и посылается на порт 4500, тот же самый, который использует IKE при включенном NAT Traversal.
NAT Traversal встроен в работу протоколов, его поддерживающих и работает без предварительной настройки.
VPN это просто
В статье использован материал из “Using TUN/TAP in go or how to write VPN“
Сейчас очень много говорят о VPN, мешсетях и других технологиях для анонимизации или создания защищенных соединений. К сожалению, я довольно далек от этой темы, но иногда нужно окунаться в неизвестную область — хорошая разминка для мозгов.
Наверное, многие пользовались VPN(виртуальная приватная сеть), но не очень часто задумывались, как они реализованы изнутри. Если верить википедиии, то VPN это:
Во-первых, технологий и способов создания приватных сетей довольно много. Они отличаются по степени защищенности, реализацией и назначением, типами и уровнями используемых протоколов.
Один из самых известных инструментов для создания VPN — это OpenVPN. С его помощью можно настроить защищенные приватные сети.
Но в чем же сам принцип работы виртуальных сетей? Я попытаюсь объяснить это на простом примере.
TUN/TAP
Для создания нашей супер простой виртуальной сети я буду использовать такую штуку, как TUN/TAP. Это виртуальные сетевые драйверы ядра системы. С их помощью можно эмулировать виртуальные сетевые карты.
TAP работает аж на канальном уровне и эмулирует Ethernet устройство. TUN работает на сетевом уровне и с его помощью можно добраться до ip пакетов.
Для наших экспериментов достаточно TUN. Мы создадим виртуальное устройство с которым будем работать.
Для начала нам нужно создать два виртуальных сетевых устройства на компьютерах, которые мы собрались объединить в виртуальную сеть.
У меня есть небольшой виртуальный сервер с ip . Вторая машинка — это мой локальный компьютер с ip адресом .
При создании виртуального сетевого устройства ему нужно задать ip адрес. На локальном компьютере это будет , на виртуальном сервере .
Как все это будет работать? Все довольно просто:
- Мы отправляем пакет на локальной машине на TUN интерфейс , например
- Затем, наша программа, запущенная на той же машине, вычитывает данные из этого интерфейса и отправляет их на удаленные компьютер через интернет.
- На удаленной машине программа читает данные, присланные на и записывает их в TUN интерфейс на той же машине.
- Теперь мы можем считать данные с , например как-то так
Внешне все выглядит, как будто мы работаем по локальной сети, хотя наши данные пересылаются через интернет. Данные можно зашифровать и добавить кучу разных плюшек. Но мы попытаемся реализовать только базовые вещи.
Реализация
Начнем с создания виртуальных сетевых интерфейсов. Для этого мы будем использовать пакет github.com/songgao/water который представляет из себя отличную библиотеку для работы с TUN/TAP интерфейсом. Кроме этого, мы будем использовать программу для настройки наших интерфейсов.
Создаем интерфейс:
Теперь нам нужно настроить наш свежесозданный интерфейс
Для того чтобы посылать и получать данные через интернет нам нужно создать UDP сокетов. Тут нет никаких хитростей, все прям как в мануле.
Один цикл используем для чтения из UDP и запись в виртуальный интерфейс
Второй цикл используется для обратного — чтения из виртуального интерфейса и записи в UDP:
Тут нужно уточнить, что у нас в переменных . У нас есть два флага:
— это ip адрес виртуального интерфейса на локальном компьютере.
— внешний ip адрес удаленного компьютера, по которому будет происходит UDP соединение.
Для настройки интерфейса сделаем специальную функцию:
И использовать ее можно вот так:
Обратите внимание, что у вас два бесконечных цикла. Чтобы все работало как надо, можно обернуть первый в go-рутину:. Пример запуска нашей программы на локальном компьютере:
Пример запуска нашей программы на локальном компьютере:
На удаленном компьютере:
И на этом, в принципе, все. Программка получилась маленькая, но довольно хорошо иллюстрирующая концепцию работы VPN.
Для проверки отправим что ни будь через нашу виртуальную сеть. На локальном компьютере отправлю данные через UDP:
На удаленном компьютере читаю из UDP:
Ура! Данные передались, наша сеть работает. Полный код программы можно посмотреть на github.
22 март 2017
…
Что такое CMAK
cmak (Пакет администрирования диспетчера подключений) > это компонент Windows позволяющий создать пакет автоматической настройки vpn подключения
Включение cmak
Для включения данного компонента открываем с вами панель управления > Программы и компоненты
Далее в открывшемся окне слева вверху нажимаем Включение или отключение компонента
Выбираем Пакет администрирования диспетчера RAs-подключений (CMAK) и жмем ок.
Начнется добавление компонента, займет это дело пол минуты от силы.
Далее переходим в Панель управления > Администрирование, в котором обнаружите запускаемой файл для дальнейшей настройки.
Литература
- Иванов М. А. Криптографические методы защиты информации в компьютерных системах и сетях. — М.: КУДИЦ-ОБРАЗ, 2001. — 368 с.
- Кульгин М. Технологии корпоративных сетей. Энциклопедия. — СПб.: Питер, 2000. — 704 с.
- Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. — СПб.: Питер, 2001. — 672 с.
- Романец Ю. В.. Тимофеев П. А., Шаньгин В. Ф. Защита информации в компьютерных системах и сетях. 2-е изд. — М: Радио и связь, 2002. −328 с.
- Столлингс В. Основы защиты сетей. Приложения и стандарты = Network Security Essentials. Applications and Standards. — М.: «Вильямс», 2002. — С. 432. — ISBN 0-13-016093-8.
Пара слов об OpenVPN
OpenVPN использует два канала: канал управления (control channel) и канал данных (data channel). В первом случае задействуется TLS — с его помощью ведется аутентификация и обмен ключами для симметричного шифрования. Эти ключи используются в канале данных, где и происходит само шифрование трафика.
Существуют скрипты, которые автоматизируют установку, и процесс занимает меньше времени. Но, во-первых, эти скрипты подходят только для конкретных дистрибутивов, а во-вторых, они не предоставляют выбора. Например, используют RSA и AES-CBC, когда есть поддержка ECDSA и AES-GCM. Таким образом, без знания и понимания того, как это работает, ты не сможешь подправить скрипт, чтобы он исполнялся на других системах или делал то, что ты хочешь.
Классификация VPN код
Классификация VPN
Классифицировать решения VPN можно по нескольким основным параметрам:
По степени защищенности используемой среды | код
- Защищённые
Наиболее распространённый вариант виртуальных частных сетей. С его помощью возможно создать надежную и защищенную сеть на основе ненадёжной сети, как правило, Интернета. Примером защищённых VPN являются: IPSec, OpenVPN и PPTP.
- Доверительные
Используются в случаях, когда передающую среду можно считать надёжной и необходимо решить лишь задачу создания виртуальной подсети в рамках большей сети. Проблемы безопасности становятся неактуальными. Примерами подобных решений VPN являются: Multi-protocol label switching (MPLS) и L2TP (Layer 2 Tunnelling Protocol) (точнее будет сказать, что эти протоколы перекладывают задачу обеспечения безопасности на другие, например L2TP, как правило, используется в паре с IPSec).
По способу реализации | код
- В виде специального программно-аппаратного обеспечения
Реализация сети VPN осуществляется при помощи специального комплекса программно-аппаратных средств. Такая реализация обеспечивает высокую производительность и, как правило, высокую степень защищённости.
- В виде программного решения
Используют персональный компьютер со специальным программным обеспечением, обеспечивающим функциональность VPN.
- Интегрированное решение
Функциональность VPN обеспечивает комплекс, решающий также задачи фильтрации сетевого трафика, организации сетевого экрана и обеспечения качества обслуживания.
По назначению | код
- Intranet VPN
Используют для объединения в единую защищённую сеть нескольких распределённых филиалов одной организации, обменивающихся данными по открытым каналам связи.
- Remote Access VPN
Используют для создания защищённого канала между сегментом корпоративной сети (центральным офисом или филиалом) и одиночным пользователем, который, работая дома, подключается к корпоративным ресурсам с домашнего компьютера, корпоративного ноутбука, смартфона или интернет-киоска.
- Extranet VPN
Используют для сетей, к которым подключаются «внешние» пользователи (например заказчики или клиенты). Уровень доверия к ним намного ниже, чем к сотрудникам компании, поэтому требуется обеспечение специальных «рубежей» защиты, предотвращающих или ограничивающих доступ последних к особо ценной, конфиденциальной информации.
- Internet VPN
Используется для предоставления доступа к интернету провайдерами, обычно если по одному физическому каналу подключаются несколько пользователей. Протокол PPPoE стал стандартом в ADSL-подключениях.
L2TP был широко распространён в середине 2000-х годов в домовых сетях: в те времена внутрисетевой трафик не оплачивался, а внешний стоил дорого. Это давало возможность контролировать расходы: когда VPN-соединение выключено, пользователь ничего не платит. В настоящее время (2012) проводной интернет дешёвый или безлимитный, а на стороне пользователя зачастую есть маршрутизатор, на котором включать-выключать интернет не так удобно, как на компьютере. Поэтому L2TP-доступ отходит в прошлое.
- Client/Server VPN
Он обеспечивает защиту передаваемых данных между двумя узлами (не сетями) корпоративной сети. Особенность данного варианта в том, что VPN строится между узлами, находящимися, как правило, в одном сегменте сети, например между рабочей станцией и сервером. Такая необходимость очень часто возникает в тех случаях, когда в одной физической сети необходимо создать несколько логических сетей. Например когда надо разделить трафик между финансовым департаментом и отделом кадров, обращающихся к серверам, находящимся в одном физическом сегменте. Этот вариант похож на технологию VLAN, но вместо разделения трафика используется его шифрование.
По типу протокола | код
По уровню сетевого протокола | код
VPN-соединение на маршрутизаторах | код
Многие маршрутизаторы поддерживают VPN-соединение и имеют встроенный VPN-клиент. Существуют маршрутизаторы для которых требуется программное обеспечение с открытым исходным кодом, такое как DD-WRT, OpenWRT и Tomato, для того чтобы поддерживать OpenVPN протокол.
Создание VPN сервера в Windows
30/05/2016
Интернет
В системах Windows 8.1, 8 и 7 можно создать VPN сервер. Для чего это нужно? К примеру, для RDPподключения к удаленным компьютерам, игр по «локальной сети», для подключения к медиа серверу, домашнему хранилищу информации, а также для безопасного пользования Интернетом в местах с общедоступными точками доступа.
К VPN серверу Windows подключение происходит по протоколу PPTP. Хочется подчеркнуть, что тоже самое можно сделать при помощи TeamViewer или Hamachi. Это удобнее, проще и безопаснее.
Создание VPN сервера
Для создания сервера необходимо открыть список подключений Windows. Самым быстрым способом это сделать в любой версии Windows является нажатие клавиши Win + R и введение ncpa.cpl, и для подтверждения нажать Enter.
В перечне подключений нужно нажать клавишу Alt и в открывшимся меню выбрать пункт «Новое входящее подключение».
Далее необходимо выбрать пользователя, для которого будет разрешено удаленное подключение. Для безопасности лучше всего создать отдельного пользователя с ограничением прав и предоставить только ему доступ к VPN. Кроме того, установите качественный пароль для данного пользователя.
Нажмите «Далее» и отметьте пункт «Через Интернет».
В очередном диалоговом окне необходимо отметить протоколы, по которым возможно будет подключение: если не нужен доступ к общим папкам, файлам и принтерам при подключении VPN, можно убрать отметку с данных пунктов. Жмем кнопку «Разрешить доступ» и ждем окончания создания VPN сервера Windows.
Если понадобится отключить возможность VPN подключения к ПК, то нужно правым кликом нажать на «Входящие подключения» в перечне подключений и выбрать пункт «Удалить».
Как подключиться к VPN серверу на ПК
Для подключения потребуется IP адрес ПК в Интернете, а также создание VPN подключения, в котором VPN сервером будет являться этот адрес. Имя пользователя и пароль должны соответствовать пользователю, с разрешенным подключением.
· Если ПК, на котором создан VPN-сервер, подключен к Сети через роутер, то необходимо в роутере создать перенаправление подключений порта 1723 на IP адрес ПК в локальной сети (данный адрес сделать статическим).
· С учетом того, что основная масса Интернет-провайдеров предоставляют лишь динамический IP на базовых тарифах, каждый раз затруднительно узнавать IP собственного компьютера, особенно удаленно. Это решается при помощи сервисов No-IP Free, DynDNS и Free DNS. Смысл: подключение к ПК можно будет всегда осуществлять по уникальному домену 3-го уровня, несмотря на динамический IP.
Стоит отметить, что при необходимости на сайте https://www.ukraine.com.ua/dedicated/ можно приобрести выделенные сервера от компании Хостинг Украина. Более подробная информация представлена на страницах данного ресурса.
GD Star Rating
Основные понятия
Многих начинающих пользователей интересует, что означает VPN и как она работает. Само название «Виртуальная частная сеть» или «ВПН» уже говорит о том, что пользователи обмениваются информацией в закрытой сети. Наиболее важным здесь является тот факт, что все данные зашифрованы с помощью специальных алгоритмов, образующих безопасные туннели.
Она может быть легко масштабирована и способна обеспечить надежную защиту и аутентификацию пользователей, работающих на устройствах с разными операционными системами. В отличие от простой сети, виртуальная частная позволяет сделать передаваемую информацию недоступной для незаконного использования. Зная, что значит VPN, можно быстро определиться с целями ее использования:
- Защита личной информации при подключении к открытым точкам доступа Wi-Fi.
- Организация безопасного соединения с интернетом в корпоративной сети, а также возможность контроля трафика всех сотрудников.
- Объединение разноуровневых сетей для обмена данными между офисами одной компании с удаленным персоналом.
- Возможность объединения дублирующих серверов в облачных хранилищах данных.
- Анонимность работы в интернете.
- Создание надежно защищенного подключения к серверам, содержащим особо важную и секретную информацию.
Пошаговая инструкция по настройке VPN сервера
1. Подключитесь к вашему серверу по SSH через программу Putty, как описано выше. IP адрес, логин и пароль были высланы вам на почтовый ящик после создания сервера. При первом подключении будет необходимо сменить пароль от пользователя root, рекомендую использовать пароль, длиной не менее 10 символов, содержащий в себе большие и маленькие буквы и цифры.
2. Установите программу — VPN сервер, для этого выполните команды:
3. Выполните первоначальную настройку PPTP, для этого откройте файл конфигурации для редактирования с помощью команды:
Удалите все содержимое файла, для этого зажмите клавишу «d» (двойное нажатие «d» удаляет строчку целиком). Нажмите клавишу «i» для перехода в режим редактирования и скопируйте в пустой файл следующие строки:
Нажмите клавишу Esc быстро 2 раза, после этого введите «:wq» для выхода из редактора с сохранением и нажмите Enter.
4. Теперь вам необходимо создать пользователей, под которыми вы будете подключаться по VPN. Не рекомендую создавать более 20-30 пользователей на самом дешевом сервере DigitalOcean.
Введите команду:
Отредактируйте и сохраните файл, аналогично тому, как вы это сделали в пункте 3. Содержание файла должно быть примерно таким:
Каждая строчка должна содержать данные одного пользователя через пробел: логин, протокол, пароль и IP адрес. Пример:
5. Настройте DNS серверы, для этого откройте файл:
и напишите в самом конце следующие строки:
6. Теперь вы наконец можете запустить ваш VPN сервер и проверить его работу. Для запуска VPN сервера выполните команду:
Чтобы увидеть, что VPN сервер поднялся и работает, введите команду:
Если все хорошо, то вы увидите следующее:
Ваш VPN сервер настроен и работает! Осталась пара завершающих шагов.
Автор считает, что эти материалы могут вам помочь:
Создание своего VPN сервера за 10 минут: подробное руководство (часть 1)
/var/run/php5-fpm.sock уже должен присутствовать на сервере? в ubuntu 16.04 не нашел такого файла в /var/run
Установка и настройка NGINX + PHP (php-fpm) на Linux сервере
Установка и настройка GSM сигнализации (часть 3)
7. Откройте для редактирования файл:
и проверьте следующую строку:
если там 0, исправьте на 1 и сохраните.
Для применения настроек выполните команду:
8. Добавьте настройки файрвола с помощью команды:
Если вы хотите, чтобы VPN клиенты видели друг друга по локальной сети, выполните эти команды (не обязательно):
На этом можно закончить, теперь у вас есть свой VPN сервер! Первые 2 месяца он будет бесплатным, далее придется платить по 5$ в месяц. Но учитывая то, что вы можете подключить по VPN до 30 человек — это очень скромная цена. При использовании обычных VPN сервисов вы бы платили по 2-3$ за каждого клиента в месяц.
К вашему VPN серверу можно подключаться с компьютера, телефона или планшета на Android, c iPhone или iPad, об этом читайте в заключительной части статьи.
Если у вас остались вопросы или нужны уточнения — пожалуйста, задайте вопрос или оставьте комментарий.
Удачи!
Уровни реализации
Обычно VPN развёртывают на уровнях не выше сетевого, так как применение криптографии на этих уровнях позволяет использовать в неизменном виде транспортные протоколы (такие как TCP, UDP).
Пользователи Microsoft Windows обозначают термином VPN одну из реализаций виртуальной сети — PPTP, причём используемую зачастую не для создания частных сетей.
Чаще всего для создания виртуальной сети используется инкапсуляция протокола PPP в какой-нибудь другой протокол — IP (такой способ использует реализация PPTP — Point-to-Point Tunneling Protocol) или Ethernet (PPPoE) (хотя и они имеют различия).
Технология VPN в последнее время используется не только для создания собственно частных сетей, но и некоторыми провайдерами «последней мили» на постсоветском пространстве для предоставления выхода в Интернет.
При должном уровне реализации и использовании специального программного обеспечения сеть VPN может обеспечить высокий уровень шифрования передаваемой информации. При правильной настройке всех компонентов технология VPN обеспечивает анонимность в Сети.
Частные IP-адреса, что это
Как я уже говорил, все IP-адреса в сети Интернет, должны быть уникальными. И эти IP-адреса находятся в диапазоне от 0.0.0.0 до 255.255.255.255. Все возможные комбинации которых и составляют число, чуть большее 4 млрд. Но не все эти адреса могут быть выданы и присвоены компьютерам в Глобальной сети. Из данного диапазона выпадают несколько адресов, называемые частными ip-адресами. Какие же они и что они из себя представляют?
Как происходит присвоение IP-адресов?
А для начала немного фактов. Существует Центр по присвоению номеров(Assigned Numbers Authority, IANA), который занимается выделением и последующим наблюдением за использованием открытых IP-адресов. Данный Центр передает некоторый блок открытых ip-адресов провайдерам или агентствам, которые в свою очередь предоставляют ip-адрес и доступ в Интернет конечным пользователям. Обычно конечными пользователями являются либо организации либо обычные граждане. Но выделять на каждый компьютер уникальный ip-адрес не рационально. Поэтому поступают так: в организацию или в частный дом(в квартиру) проводят один открытый IP-адрес. А внутри организации или дома организуют частную сеть. Выход из частной сети в Сеть Интернет осуществляется через протокол NAT. Каждый компьютер в частной сети получает доступ к Интернету через один открытый IPv4-адрес. Вот так примитивно можно описать всю структуру.
Но тут же возникает вопрос: если в организацию или в частный дом входит один уникальный ip-адрес, он может быть присвоен только одному компьютеру или серверу. А как же другие компьютеры и устройства, которые так же необходимо подключить к Глобальной сети? Обычно устройством, которые непосредственно смотрит в Глобальную сеть, становиться либо роутер, либо свич, либо другой сервер(например, прокси-сервер), который способен вывести в Глобальную сеть все другие компьютеры. Такое устройство играет роль промежуточного звена между Глобальной и частной сетью. Это устройство способно поддерживать общение с Глобальной сетью для множества устройств одновременно, что позволяет экономить на количестве используемых открытых IP-адресов.
Но со всем этим остается один вопрос: любой компьютер в сети должен иметь свой уникальный ip-адрес, чтобы пакеты были доставлены точно по адресу. И если компьютеры в частной сети не получает уникальный открытый IP-адрес, то какой ip-адрес они получают? Ответ: частный IP-адрес.
Диапазоны частных ip-адресов
А сейчас к самой сути. Все IP-адреса в сети Интернет должны быть уникальными. Для этого, в частной сети используются определенные частные IP-адреса. К частным IP-адресам относятся адреса в данных диапазонах:
- 10.0.0.1 — 10.255.255.254
- 172.16.0.1 — 172.31.255.254
- 192.168.0.1 — 192.168.255.255
Данные IP-адреса являются частными. Мы уже рассматривали простейший способ создания частной сети, которая заключалась в создании сети между двумя компьютерами. Они не должны и не могут использоваться в Глобальной сети. Маршрутизатор в Интернете их просто игнорирует. Все остальные адреса являются открытыми и могут быть использованы в Интернете(хотя не совсем все, позже перечислю еще несколько, которые не входят в этот список). А уникальными должны быть именно открытые IP-адреса. Поэтому за использованием частных IP-адресов IANA не следит. Следовательно, один и тот же диапазон частных IPv4-адресов может без проблем использоваться в частных сетях различных организациях. Главное то, чтобы в условиях одной сети не было одинаковых частных ip-адресов, иначе это приведет к ошибке.
Диапазон APIPA
Так же к частным IP-адресам относится и диапазон адресов APIPA:
169.254.0.1 — 169.255.255.254
Данные адреса могут быть использованы только в изолированных сетях, в которых настройка IP-адресов устройств не проходит под контролем DHCP-сервера. Компонент APIPA предоставляет возможность автоматической настройки изолированной сети.
Адреса петель
В дополнению к этому, к частным IP-адресами относятся и петлевые интерфейсы. Их диапазон:
127.0.0.0 — 127.255.255.255
Яркий пример петлевого адреса, это адрес возвратной петли 127.0.0.1. Данный адрес используется для обозначения локального интерфейса. По-человечески, это адрес указывающий на себя самого. Так же имеется не назначенный IP-адрес: 0.0.0.0
В заключении, хочется сказать то, что я более чем уверен, что это не все IP-адреса, которые никогда не будет заданы компьютеру в Интернете. Но я более чем уверен, что я перечислил большую половину этих адресов. И так же надеюсь, что многие получили необходимую информацию для понимания принципа работы частных IP-адресов.
Примеры VPN код
- IPSec (IP security) — часто используется поверх IPv4.
- PPTP (point-to-point tunneling protocol) — разрабатывался совместными усилиями нескольких компаний, включая Microsoft.
- PPPoE (PPP (Point-to-Point Protocol) over Ethernet)
- L2TP (Layer 2 Tunnelling Protocol) — используется в продуктах компаний Microsoft и Cisco.
- L2TPv3 (Layer 2 Tunnelling Protocol version 3).
- OpenVPN SSL VPN с открытым исходным кодом, поддерживает режимы PPP, bridge, point-to-point, multi-client server
- freelan SSL P2P VPN с открытым исходным кодом
- Hamachi — программа для создания одноранговой VPN-сети.
- NeoRouter — zeroconf (не нуждающаяся в настройке) программа для обеспечения прямого соединения компьютеров за NAT, есть возможность выбрать свой сервер.
Многие крупные провайдеры предлагают свои услуги по организации VPN-сетей для бизнес-клиентов.
Что такое stunnel
Stunnel — это утилита для обеспечения защищенного соединения между клиентом и сервером посредством TLS для программ, которые сами шифровать трафик не умеют. Например, можно туннелировать трафик для , и даже . В нашем случае stunnel будет использоваться для маскировки трафика OpenVPN под «чистый» TLS, чтобы его было невозможно определить посредством DPI и, следовательно, заблокировать.
Трафик, туннелируемый через stunnel, ничем не отличается от обычного HTTPS
С учетом того что OpenVPN использует шифрование для своего канала данных, у нас есть два варианта настройки:
- использовать шифрование stunnel плюс шифрование канала данных OpenVPN;
- использовать шифрование stunnel, а шифрование канала данных OpenVPN отключить.
Таким образом, в первом варианте получается два слоя: один от stunnel, второй от OpenVPN. Этот вариант позволит использовать RSA вместе с ECDSA. Недостаток в том, что тратится больше ресурсов, и второй вариант позволит этого избежать. В любом случае настройка stunnel остается неизменной.
Что нам понадобится
Провайдер VPS
Первым делом нужно выбрать провайдера, который нам предоставит виртуальный выделенный сервер (VPS). Что выбирать — дело каждого и зависит от страны и от того, сколько ты готов платить. Главная рекомендация — выбирай страну, наиболее близкую по географическому расположению, это сведет задержку к минимуму. Но, конечно, живя в Китае, покупать сервис в Индии или Пакистане смысла мало.
Выбор ОС
Я буду использовать RHEL 7.4. Для точного копирования команд из статьи годится и CentOS 7 (1708), так как это бесплатная и почти идентичная копия RHEL, основанная на его коде. Возможно, подойдут другие дистрибутивы, а также производные RHEL (Fedora), но пути конфигурационных файлов и версии программ могут отличаться.