Введение
IP in IP — это протокол IP-туннелирования, который инкапсулирует один IP-пакет в другой IP-пакет. Инкапсуляция одного IP пакета в другой IP пакет, это добавление внешнего заголовка с SourceIP — точкой входа в туннель, и Destination — точкой выхода из туннеля. При этом внутренний пакет не был изменен (кроме поля TTL, которое уменьшилось). Поля Don’t Fragment и The Type of Service должны быть скопированы в внешний пакет. Если размер пакета больше чем Path MTU, пакет фрагментируется в инкапсуляторе, это должно быть во внешнем заголовке. Декапсулятор должен будет собрать пакет. Многие маршрутизатора, включая Cisco и Linux-based, поддерживают этот протокол.
VPN через PPtP на MikroTik
PPtP — самый распространенный протокол VPN. Представляет собой связку протокола TCP, который используется для передачи данных, и GRE — для инкапсуляции пакетов. Чаще всего применяется для удаленного доступа пользователей к корпоративной сети. В принципе, может использоваться для многих задач VPN, однако следует учитывать его изъяны в безопасности.
Прост в настройке. Для организации туннеля требуется:
-
создать на роутере MikroTik, через который пользователи будут подключаться к корпоративной сети, PPtP-сервер,
-
создать профили пользователей с логинами/паролями для идентификации на стороне сервера,
-
создать правила-исключения Firewall маршрутизатора, для того, чтобы подключения беспрепятственно проходили через брандмауер.
Включаем PPtP сервер.
Для этого идем в раздел меню PPP, заходим на вкладку Interface, вверху в перечне вкладок находим PPTP сервер и ставим галочку в пункте Enabled.
Снимаем галочки с наименее безопасных алгоритмов идентификации — pap и chap.
Создаем пользователей.
В разделе PPP переходим в меню Secrets и с помощью кнопки «+» добавляем нового пользователя.
В полях Name и Password прописываем, соответственно логин и пароль, который будет использовать пользователь для подключения к туннелю.
В поле Service выбираем тип нашего протокола — pptp, в поле Local Address пишем IP-адрес роутера MikroTik, который будет выступать в роли VPN-сервера, а в поле Remote Address — IP-адрес пользователя
Прописываем правила для Firewall.
Нам нужно открыть 1723 порт для трафика по TCP-протоколу для работы VPN-туннеля MikroTik, а также разрешить протокол GRE. Для этого идем в раздел IP, потом — в Firewall, потом на вкладку Filter Rules, где с помощью кнопки «+» добавляем новое правило. В поле Chain указываем входящий трафик — input, в поле Protocol выбираем протокол tcp, а в поле Dst. Port — указываем порт для VPN туннеля 1723.
Переходим здесь же на вкладку Action и выбираем accept — разрешать (трафик).
Точно также добавляем правило для GRE. На вкладке General аналогично предыдущему прописываем input, а в поле Protocol выбираем gre.
На вкладке Action как и в предыдущем правиле выбираем accept.
Не забываем поднять эти правила в общем списке наверх, поставив ПЕРЕД запрещающими правилами, иначе они не будут работать. В RouterOS Mikrotik это можно сделать перетаскиванием правил в окне FireWall.
Все, PPtP сервер для VPN на MikroTik поднят.
Небольшое уточнение.
В некоторых случаях, когда при подключении необходимо видеть локальную сеть за маршрутизатором, нужно включить proxy-arp в настройках локальной сети. Для этого идем в раздел интерфейсов (Interface), находим интерфейс, соответствующий локальной сети и на вкладке General в поле ARP выбираем proxy-arp.
Если вы подняли VPN между двумя роутерами MikroTik и вам необходимо разрешить передачу broadcast, можно попробовать добавить существующий профиль подключения (PPP — Profiles) удаленного роутера в бридж главного:
UPD из комментария: Если вам дополнительно нужно получить доступ к расшаренным папкам на компьютерах локальной сети, понадобится также открыть порт 445 для проходящего трафика SMB-протокола, который отвечает за Windows Shared. (Правило forward в брандмауере).
Настройка клиента.
На стороне VPN-клиента настройки состоят только в том, чтобы создать подключение по VPN, указать IP-адрес VPN (PPtP) сервера, логин и пароль пользователя.
Преимущества и приоритеты протокола PPTP
Нередко выбор активных пользователей интернета, с необходимостью создания локального «шлюза» виртуальной категории, а также организаций и предприятий падает именно на подключение формата PPTP, несмотря на то, что протокол этой категории в нынешнее время считается хоть и не устаревшим, но незначительно уступающим аналогам по критериям защиты. Популярность протокола объясняется его следующими привилегированными параметрами:
- Простой и экономный режим эксплуатации. Каждый пользователь, имеющий роутер MikroTik, сможет самостоятельно создать защищённую линию связи, согласно простому регламенту, по которому осуществляется настройка канала PPTP.
- Лояльность, выражающаяся взаимодействием с множеством протоколов, характеризующихся разноплановыми категориями межсетевого обмена данными.
- Привязка к конкретному, статическому адресу IP.
- Идентификация пакетов при передаче по сетевому каналу.
- Доступ к локальной сети с любого устройства, независимо от критерия, какая версия ОС установлена на аппарате.
Учитывая приоритетные стороны протокола, пользователи часто используют VPN канал формата PPTP как в корпоративных целях, так и для организации частной локальной сети, несмотря на среднестатистические его защитные параметры.
Каковы преимущества ExpressVPN?
ExpressVPN предлагает несколько функций безопасности, которые позволяют пользователям наслаждаться конфиденциальностью в Интернете, которую он предлагает:
1 Несколько местоположений серверов:
ExpressVPN предлагает более 3000 серверов по всему миру для доступа ко всему контенту с географическими ограничениями. Это позволяет пользователям транслировать контент со всего мира, оставаясь полностью анонимными и не идентифицируемыми их интернет-провайдером (ISP) и правительством. Используя серверы этой VPN, вы можете легко смотреть Netflix с помощью ExpressVPN.
2 Удивительная скорость:
Будучи лучшим VPN, ExpressVPN предлагает пользователям невероятную скорость на своих серверах.
Основываясь на наших тестах скорости ExpressVPN, эта VPN предлагает среднюю скорость более 80 Мбит/с при соединении со скоростью 100 Мбит/с. Он также предлагает лучшую скорость на серверах ExpressVPN, оптимизированных для P2P. Это означает, что вы можете получить высокую скорость торрента на любом сервере, когда захотите, и никто об этом не узнает.
Лучше всего то, что вам не придется ставить под угрозу вашу конфиденциальность. Благодаря выключателю ExpressVPN ваш IP-адрес никогда не просочится. Поверьте мне; вы бы не хотели, чтобы это произошло.
ExpressVPN позволяет пользователям подключать до 5 устройств одновременно к одной учетной записи ExpressVPN. Вы можете легко подключить этот VPN к своему смартфону и ПК или использовать ExpressVPN на своем Samsung Smart TV.
ExpressVPN может быть немного дороже, но вы всегда можете выбрать долгосрочный план, чтобы воспользоваться исключительными скидками, поскольку пожизненный план ExpressVPN больше не предлагается. Если вам скучно или вы с нетерпением ждете перехода, вы всегда можете отменить подписку ExpressVPN.
Регламент настройки сервера PPTP
Настройка канала VPN по протоколу PPTP на устройствах MikroTik не характеризуется технологическими сложностями, однако, производиться в несколько этапов:
- Изначально создаётся на маршрутизаторе MikroTik сервер PPTP.
- После создания сервера формируется список профилей, согласно которым пользователи будут иметь доступ к ресурсам.
- Дальше устанавливаются правила в Firewall, необходимые для беспрепятственного подключения пользователей через брандмауэр к каналу связи.
Настройка PPTP сервера на аппарате MikroTik выполняется через утилиту WinBox: потребуется в правом окне развернуть меню PPP, после чего в открывшемся разделе перейти во вкладку Interface, развернуть список нажатием кнопки «+» в верхней строке экрана, где выбрать ветку PPTP Server. В открывшемся окне потребуется задать параметры создаваемого сервера:
- Поставить флажок напротив надписи Enabled.
- Активировать необходимые шифры для идентификации клиента в разделе Authentication, проставив флажки напротив всех четырёх пунктов.
- Подтвердить настройки клавишей «ОК».
Дальше потребуется вернуться в раздел Interface и развернуть параметр PPTP Client. В открывшемся окне будет выполняться дальнейшая настройка нового рабочего профиля. Регламент выполнения задачи имеет следующий порядок:
- В окне New Interface откроется вкладка General: в графе Name будет автоматически прописано имя, под которым создан PPTP клиент, а также заполнены графы Type, MRRU, Max RTU и MRU. Специалисты не советуют в этой вкладке вносить изменения, можно изменять только параметр Name, но лучше всё оставить в первозданном виде с целью недопущения ошибок.
- Пользователю надо перейти во вкладку Dial Out, где выполняется настройка сервера, и задаются логин и пароль для входа в локальную сеть. В графе Connect To надо прописать адрес сервера, а в полях User и Password задать логин и пароль для соединения с сервером.
- Напротив надписи Add Default Route проставляется флажок. Подтверждаются внесённые данные нажатием клавиши Enabled, расположенной в левом нижнем углу окна.
Для корректной работы туннельного канала остаётся только создать правила, согласно которым будет выполняться соединение VPN по протоколу PPTP:
- Для этого необходимо найти и открыть раздел IP в списке меню Interface, открыть страницу для создания нового правила посредством перехода в категорию Firewall и меню NAT.
- В окне New NAT Rule во вкладке General вносятся следующие данные: в строке Chain прописывается слово INPUT, в графе «Протокол» из выпадающего списка выбирается пункт TCP, а напротив надписи Dst. Port проставляется код 1723, соответствующий порту тоннеля VPN.
- Во вкладке Action необходимо проставить значение accept.
- Аналогично задаются допуски для протокола GRE: в графе Protocol вместо TCP проставляется значение GRE, остальные параметры прописываются согласно предыдущим пунктам, с подтверждением установок в меню Action.
- Чтобы созданные правила вступили в силу, стали приоритетными, их потребуется переместить в списке регламентных предписаний работы VPN соединения на первые две позиции.
На этом работу по настройке VPN соединения посредством канала PPTP на MikroTik можно считать завершённой. Остаётся проверить результат, настроив на стороне клиента VPN с соответствующим адресом IP, и подключиться к созданной локальной сети через заданный ранее логин и пароль. Если все пункты выполнены корректно, пользователь сможет войти в новый сетевой тоннель с любого места и вида аппарата. Добавление пользователей локальной сети можно осуществить через вкладку Secret в PPP, посредством прописывания логина и пароля входа для конкретного абонента, с заполнением поля Local Address данными IP маршрутизатора, выступающего в роли сервера, указав в строке Remove Address адрес регистрируемого юзера.
Настройка VPN-сервера PPPoE MikroTik
Настраиваем профили сервера.
Несколько профилей PPPoE-сервера могут понадобиться, если вы провайдер и раздаете интернет по нескольким тарифным пакетам.
Соответственно, в каждом профиле можно настроить разные ограничения по скорости.
Идем в раздел PPP, открываем пункт Profiles и с помощью кнопки «+» создаем новый профиль.
Даем ему понятное нам название, прописываем локальный адрес сервера (роутера), отмечаем опцию Change TCP MSS (корректировку MSS), для того, чтобы все сайты нормально открывались.
Кстати, в некоторых случаях, когда возникают проблемы с открытием некоторых сайтов, при том, что пинги на них проходят, можно сделать по-другому. Корректировку MSS отключаем, а через терминал прописываем на роутере следующее правило:
«ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360 disabled=no».
В большинстве случаев это решает проблему.
Далее на вкладке Protocols все отключаем, для улучшения производительности.
Если защищенность соединения для вас важна и производительность маршрутизатора позволяет, то опцию Use Encryption (использовать шифрование) не отключайте.
На вкладке Limits устанавливаем ограничения по скорости, если нужно.
Первая цифра в ограничении скорости — входящий трафик на сервер (исходящий от абонента), вторая — наш исходящий трафик (входящий у абонента).
Ставим Yes в пункте Only One, это значит, что два и более абонентов с одним и тем же набором логин/пароль не смогут подключиться к PPPoE-серверу, только один.
Теперь, если необходимо, создаем остальные профили простым копированием (кнопка Copy на предыдущем скриншоте) и меняем имя и ограничение по скорости.
Создаем учетные записи пользователей.
В том же разделе PPP находим пункт меню Secrets.
В нем с помощью кнопки «+» создаем нового пользователя, который будет подключаться к нам по VPN-туннелю.
Заполняем поля Name и Password (логин и пароль, который будет вводить пользователь со своей стороны, чтобы подключиться).
В поле Service выбираем pppoe, в Profile — соответствующий профиль, в данном случае — тарифный пакет, которым пользуется абонент.
Присваиваем пользователю IP-адрес, который при подключении сервер раздаст абоненту.
Если подключаем несколько пользователей, создаем для каждого из них отдельную учетную запись, меняя имя/пароль и IP-адрес.
Привязываем PPPoE сервер к определенному интерфейсу MikroTik.
Теперь нам необходимо сообщить маршрутизатору, на каком интерфейсе он должен «слушать» входящие подключения от VPN PPPoE клиентов.
Для этого в разделе PPP мы выбираем пункт PPPoE Servers.
Здесь мы меняем:
- Поле Interface — выбираем тот интерфейс, к которому будут подключаться клиенты,
- Keepalive Timeout — 30 секунд (время ожидания ответа от клиента до разрыва соединения)
- Default Profile — профиль, который будет присваиваться подключаемым абонентам по умолчанию,
- Ставим галку в One Session Per Host, тем самым разрешая подключение только одного туннеля с маршрутизатора клиента или компьютера.
- Галочки в разделе аутентификации оставляем/снимаем по усмотрению.
Настраиваем NAT для доступа клиентов в интернет.
Мы подняли PPPoE сервер и теперь к нему могут подключаться авторизованные пользователи.
Если нам нужно, чтобы подсоединившиеся по VPN туннелю пользователи имели доступ в интернет, нужно настроить NAT (маскарадинг), или преобразование локальных сетевых адресов.
В разделе IP выбираем пункт Firewall и с помощью кнопки «+» добавляем новое правило.
В поле Chain должно стоять srcnat, что означает, что маршрутизатор будет применять это правило к трафику, направленному «изнутри наружу».
В поле Src. Address (исходный адрес) прописываем диапазон адресов 10.1.0.0/16.
Это означает, что все клиенты с адресами 10.1. (0.0-255.255) будут выходить в сеть через NAT, т. е. мы перечисляем здесь всех возможных абонентов.
В поле Dst. Address (адрес назначения) указываем !10.0.0.0/8 — диапазон адресов, означающий собственное адресное пространство для частных сетей, с восклицательным знаком впереди.
Это указывает роутеру на исключение — если кто-то из локальной сети обращается на адрес в нашей же сети, то NAT не применяется, соединение происходит напрямую.
А на вкладке Action прописываем, собственно, действие маскарадинга — подмены локального адреса устройства на внешний адрес роутера.
Monitoring
Monitor command can be used to monitor status of the tunnel on both client and server.
/interface pptp-client monitor 0 status: "connected" uptime: 7h24m18s idle-time: 6h21m4s encoding: "MPPE128 stateless" mtu: 1460 mru: 1460
Read-only properties
Property | Description |
---|---|
status () | Current PPTP status. Value other than «connected» indicates that there are some problems establishing tunnel. |
uptime (time) | Elapsed time since tunnel was established. |
idle-time (time) | Elapsed time since last activity on the tunnel. |
encoding () | Used encryption method |
mtu (integer) | Negotiated and used MTU |
mru (integer) | Negotiated and used MRU |
Android
Пример для Android версии 4.2.2
Откройте настройки и выберите «Еще»(в разных переводах он может называться по-разному – расположение одинаковое (в конце раздела основных настроек сети).
Выберите пункт «VPN».
Если у вас не заданы параметры блокировки экрана, то будет такое сообщение – необходимо задать один из вариантов.
Нажмите «Добавить профиль VPN».
Настроить, как показано ниже, подставляя предоставленные настройки. Имя подключения может быть любым. Для отображения настроек показанных на 2-ом скриншоте, нужно прокрутить вверх экран.
Далее нажмите на созданное подключение «Test»(или ваше имя), отметьте пункт «Сохранить учетные данные», и введите ваш логин и пароль. После этого нажмите «Подключиться».
При единичном нажатии пальцем на имени подключения должно отобразиться такое окно (при успешном подключении).
Схема сети
В головном офисе установлен маршрутизатор GW1. Он же будет настроен в качестве VPN-сервера. В этом же офисе работает сервер DC1, который является контроллером домена и параллельно выполняет функции DNS и WINS-сервера. В филиале установлен маршрутизатор GW2, который будет настроен как VPN-клиент.
На обоих маршрутизаторах уже настроена инфраструктура сертификатов.
Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24
IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24
IP-адрес сервера DC1: 192.168.15.10/24
Филиал
IP-адрес внешней сети головного офиса: 10.1.200.1/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.200.1/24
IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24
VPN-канал
IP-адрес VPN-интерфейса маршрутизатора GW1: 172.16.30.1/32
IP-адрес VPN-интерфейса маршрутизатора GW2: 172.16.30.2/32
Проверка
Проверка состоит из двух частей:
- Надо убедиться, что между двумя маршрутизаторами MikroTik установлено VPN-соединение. Это описано ниже.
- Если VPN-соединение установлено успешно, то далее надо проверить есть ли связь между хостами в двух сетях. Для этого достаточно запустить ping с любого компьютера в сети на любой компьютер другой сети.
При проверке работоспособности IPIP-туннеля надо учитывать параметр keepalive. Если он отсутствует, то IPIP-туннель всегда будет отображаться в рабочем состоянии даже, если это не так. Если параметр стоит, как 10 секунд + 10 попыток, то это значит, что маршрутизатор сделает 10 попыток по 10 секунд каждая (итого 100 секунд) и только по истечении этого периода интерфейс будет отображаться как нерабочий. Т. е. теоретически возможна ситуация, когда интерфейс только-только перестал работать, но время по keepalive еще не вышло, и вы в этот промежуток времени проверите состояние туннеля, которое будет отображаться, как рабочее.
Через графический интерфейс
Если подключение установлено, то статус подключения должен отображаться с буквой «R«. Что значит running, т. е. запущено.
Через консоль
На обоих маршрутизаторах выполнить команду
Если соединение установлено успешно, то статус подключения, так же, как и через графический интерфейс, должен отображаться с буквой «R«.
Типичные проблемы
Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
- Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах.
- Совпадают ли имя пользователя и пароль на обоих маршрутизаторах.
- На VPN-клиенте указан правильный адрес VPN-сервера к которому должно происходить подключение.
Если не проходит ping между двумя компьютерами в разных сетях, то надо проверить:
- Правильно ли сделаны настройки маршрутизации на обоих маршрутизаторах не зависимо от того из какой сети в какую будет идти пинг.
- На брэндмауэре компьютера, который будет пинговаться, сделаны необходимые разрешения для протокола ICMP. Для уверенности можно отключить встроенный брэндмауэр и выгрузить антивирус.
Настройка
Настройка первого маршрутизатора
Через графический интерфейс
Создать GRE-туннель. Укажем параметр «keepalive«, который определяет находится ли туннель в рабочем состоянии. Если параметр не включен, то даже, если второй маршрутизатор будет выключен интерфейс все равно будет показывать рабочее состояние, что не удобно для диагностики. Мы рекомендуем использоваться значение 10 попыток по 10 секунд. т. е., если в течении 100 секунд не будет никаких сигналов с противоположной стороны туннель перейдет в нерабочее состояние. При этом он автоматически включится, если противоположная сторона попытается установить соединение. Мы рекомендуем выбирать имя интерфейса, которое бы позволяло однозначно идентифицировать кто находится на противоположной стороне туннеля. Если филиалов 1-2, то достаточно и простых идентификаторов. А вот если их число начнет расти, то идентификаторы вроде filial1, filial2, filial3 и т. д. будут не самыми удобными. В отличии от настройки GRE без IPSec в этой конфигурации должна быть отключена опция «Allow Fast Path«, а параметр «Local Address:» является обязательным потому что без него не получится создать автоматические настройки IPsec.
При указании параметра «IPsec Secret:» будут автоматически созданы необходимые настройки IPsec. При этом надо учитывать, что внести изменения в эти настройки не будет возможности.
На картинке имеется опечатка. Значения параметров Local Address и Remote Address надо поменять местами.
Назначить IP-адрес GRE-туннелю, созданному на предыдущем шаге.
Через консоль
Настройка второго маршрутизатора
Через графический интерфейс
Настройки второго маршрутизатора полностью идентичны настройкам на первом. Поэтому комментировать их мы не будем.
Через консоль
Настройка маршрутизации
Если на предыдущих шагах все было сделано верно, то VPN-соединение между двумя офисами было установлено, но для того, что бы обе сети могли обмениваться информацией друг с другом они должны знать друг о друге, т. е. между ними должна быть настроена маршрутизация. Для этого надо выполнить следующие шаги:
На первом маршрутизаторе
Через графический интерфейс
Выполнить следующие настройки:Dst. Address: 192.168.25.0/24 (адрес сети к которой указываем маршрут)Gateway: 172.16.30.2 (интерфейс через который можно «добраться» до сети)Pref. Source: 192.168.15.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки «Comment» (не обязательно)
Через консоль
На втором маршрутизаторе
Через графический интерфейс
Выполнить следующие настройки:Dst. Address: 192.168.15.0/24 (адрес сети к которой указываем маршрут)Gateway: 172.16.30.1 (интерфейс через который можно «добраться» до сети)Pref. Source: 192.168.25.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки «Comment» (не обязательно)
Через консоль
HQ — это аббревиатура от headquarter, что в переводе означает головной офис.
Параметр Pref. Source (pref-src) не является обязательным. Он становится нужен, если количество филиалов будет более одного. Без этого параметра не будут проходить ping'и с маршрутизатора одного филиала до хостов и внутреннего интерфейса маршрутизатора другого филиала. Не будут проходить ping'и именно с маршрутизаторов, т. е. между хостами двух филиалов связь будет.