Настраиваем vpn на mikrotik
Содержание:
Настройка VPN-соединения с помощью PPtP
Пошагово распишем настройку подключения к корпоративным сетям на примере наиболее известного протокола PPtP. Данный протокол объединяет в себе два других – TCP и GRE, первый из которых позволяет передавать данные, а второй используется для формирования пакетов (или инкапсуляции) для передачи по каналам связи. Данный протокол нашел свое применение в подключении пользователей к корпоративной сети, однако стоит помнить, что применение этого протокола не гарантирует полной безопасности передаваемой информации.
Настройка VPN через MikroTik с использованием протокола PPtP довольна проста. Для этого потребуется выполнить несколько действий:
- Создать VPN сервер на MikroTik роутере, который позволит участникам беспрепятственно пользоваться сетью;
- Завести для всех пользователей отдельный профиль с индивидуальными идентификаторами для быстрого самоопределения на сервере;
- Прописать исключающие правила для Firewall, которые позволят беспрепятственно работать и передавать данные.
Для создания PPtP-сервера необходимо обратиться в меню PPP, после чего перейти на вкладку Interface. В предложенном списке необходимо поставить галочку напротив PPtP-сервера, а также снять отметки с алгоритмов pap и chap – как показано на рисунке.
Для создания профилей участников сети в этом же разделе меню необходимо кликнуть по вкладке Secrets, где нажатием кнопки «+» добавляется требуемое количество клиентов сети.
В соответствующих строках Name и Password прописываются уникальные логин и пароль, с помощью которых будет проходить процедура идентификации пользователя на сервере.
В строке Service необходимо указать тип протокола передачи данных (в нашем случае это PPtP), в строке Local Address прописывается IP-адрес вашего роутера, используемого как сервер, в строке Remote Address указывается IP-адрес данного пользователя. Алгоритм действий повторяется для каждого участника сети. Стоит помнить, IP-адреса абсолютно для всех пользователей должны быть разными, как и логин с паролем.
Прописать исключающие правила для Firewall также не составит большого труда. Для этого необходимо сделать открытым 1723 порт, позволяющий передавать пакеты информации по TCP-протоколу, и разрешить работу по протоколу GRE. Эти действия обеспечат бесперебойную работу VPN-соединения на роутере MikroTik. Для этого во время настройки соединения необходимо последовательно перейти в подразделы меню IP и Firewall, после чего выбрать вкладку Filter Rules. Здесь простым нажатием кнопки «добавить» (или «+») прописываются все правила-исключения. В строке Chain прописывается входящий трафик (input), в строке Protocol необходимо указать TCP, а в строке Dst. Port прописывается значение порта туннеля «1723».
Точно таким же способом добавляется исключающее правило для GRE с тем лишь отличием, что в строке Protocol прописывается значение «GRE». В обоих случаях необходимо указать пункт «accept» на вкладке Action .
Оба правила должны находиться в самом верху списка, раньше запрещающих, в противном случае они просто не будут работать. В настройках роутера Mikrotik это можно осуществить простым перетаскиванием необходимых правил в пункте меню FireWall.
Выполнив эти простые действия, вы сможете без труда подготовить к работе VPN-сервер для работы под протоколом PPtP.
С клиентской стороны настройка подключения осуществляется намного проще и включает в себя непосредственное создание VPN-подключения с указанием адреса сервера и идентификационных данных пользователя (логина и пароля).
Видео по теме
Быстрого Вам интернета!
Настройка
Настройка первого маршрутизатора
Через графический интерфейс
Включить SSTP-сервер. Оставим только аутентификацию «mschap2» как наиболее надежную и отключим проверку клиентского сертификата.
Создать новый аккаунт. Для дальнейшего удобства лучше задавать имена так, что бы сразу можно было определить к кому или чему они относятся. Т. е. имена типа user1, user2, user3 и т. д. не желательны в виду того, что в случае увеличения их количества будет тяжело сопоставить реальных пользователей аккаунтов и сами аккаунты.
Создать статическую запись SSTP сервера. Это действие не обязательно, т. к. если запись не создать вручную, то при каждом подключении она будет создаваться динамически. Но при этом наличие этой записи облегчает дальнейшую настройку и диагностику.
Через консоль
/interface sstp-server server set authentication=mschap2 certificate=none enabled=yes verify-client-certificate=no
/ppp secret add name=user1 password=user1-password local-address=172.16.30.1 remote-address=172.16.30.2 profile=default service=sstp disabled=no
/interface sstp-server add name=»SSTP Server for filial1″ user=user1
Настройка второго маршрутизатора
Через графический интерфейс
Создать интерфейс для подключения к первому маршрутизатору. Здесь так же оставляем только аутентификацию «mschap2«.
Через консоль
/interface sstp-client add authentication=mschap2 connect-to=10.1.100.1 disabled=no name=»SSTP HQ connection» password=user1-password user=user1 verify-server-address-from-certificate=no verify-server-certificate=no
Настройка маршрутизации
Если на предыдущих шагах все было сделано верно, то VPN-соединение между двумя офисами было установлено, но для того, что бы обе сети могли обмениваться информацией друг с другом они должны знать друг о друге, т. е. между ними должна быть настроена маршрутизация. Для этого надо выполнить следующие шаги:
На первом маршрутизаторе
Через графический интерфейс Выполнить следующие настройки: Dst. Address: 192.168.25.0/24 (адрес сети к которой указываем маршрут) Gateway: 172.16.30.2 (интерфейс через который можно «добраться» до сети) Pref. Source: 192.168.15.1 (интерфейс с которого будут идти запросы к сети) Комментарий указать по нажатию кнопки «Comment» (не обязательно)
/ip route add comment=»route to filial1 through VPN» dst-address=192.168.25.0/24 gateway=172.16.30.2 pref-src=192.168.15.1
На втором маршрутизаторе
Через графический интерфейс Выполнить следующие настройки: Dst. Address: 192.168.15.0/24 (адрес сети к которой указываем маршрут) Gateway: 172.16.30.1 (интерфейс через который можно «добраться» до сети) Pref. Source: 192.168.25.1 (интерфейс с которого будут идти запросы к сети) Комментарий указать по нажатию кнопки «Comment» (не обязательно)
Через консоль /ip route add comment=»route to HQ through VPN» dst-address=192.168.15.0/24 gateway=172.16.30.1 pref-src=192.168.25.1
HQ — это аббревиатура от headquarter, что в переводе означает головной офис.
Примечание: Параметр Pref. Source (pref-src) не является обязательным. Он становится нужен, если количество филиалов будет более одного. Без этого параметра не будут проходить ping’и с маршрутизатора одного филиала до хостов и внутреннего интерфейса маршрутизатора другого филиала. Не будут проходить ping’и именно с маршрутизаторов, т. е. между хостами двух филиалов связь будет.
Конфигурирование
Используем лабораторный стенд с Mikrotik CHR версии 6.46.2 на борту. Мы находимся справа внизу в офисе SPB (Office-SPB). Вводные данные:
- Office-SPB клиент;
- Office-Moscow сервер;
- NetworkCore выполняет роль провайдера, он будет заниматься обычной маршрутизацией;
- Office-Moscow ether1 смотрит в интернет 172.16.10.2/24;
- Office-SPB ether1 смотрит в интернет 172.16.11.2/24;
- Office-Moscow имеет bridge “General-Bridge” в локальной сети 192.168.11.1/24;
- Office-SPB имеет bridge “General-Bridge” в локальной сети 192.168.10.1/24;
- IP ПК в локальной сети Office-Moscow 192.168.11.2;
- IP ПК в локальной сети Office-SPB 192.168.10.2;
- Адресация в VPN сети 172.16.25.0/24.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте .
Тестирование связи
На нашем стенде, как вы заметили, я использую статические частные (серые) IP адреса. В действительности необходим хотя бы один публичный (белый) IP адрес. Он должен быть на том оборудовании, которое выполняет роль сервера. Самым лучшим решением – это использование публичных адресов со всех устройств которые будут подключаться к VPN. Цена в таком решении — это абонентская плата, а результат – улучшенная безопасность на нескольких уровнях. Проверим связь между устройствами. Отправляю ping-запросы между 172.16.10.2 и 172.16.11.2 с московского роутера.
Ping-и идут стабильно, можно идти дальше.
Создание пользователя
Не отключаясь от роутера Office-Moscow создадим пользователя. Переходим в PPP – Secrets.
Задаем следующие параметры:
- Name – SPB-Office — Имя учетной записи;
- Password – passwordspb – пароль;
- Service – l2tp – сервис, который разрешен данной учетной записи;
- Profile – L2TP-Server-General – созданный ранее профиль сервера.
Сохраняем и проверяем результат.
Создание клиентского интерфейса
Подключаемся к клиентскому Mikrotik Office-SPB. Создаем интерфейс в PPP – Interface.
Указываем параметр Name на вкладке General. Я обычно указываю направление, в которое будет подключаться роутер.
На вкладке Dial Out указываем:
- Connect To – 172.16.10.2 – IP или DNS имя сервера Mikrotik;
- User — SPB-Office – созданный на прошлом шаге пользователь;
- Password – passwordspb – пароль от учетной записи;
- Allow – mschap2 – протокол аутентификации.
Жмем Apply и смотрим на статус в правом нижнем углу, он должен быть connected.
Это символизирует об успешном подключении. Открываем вкладку Status. Взглянем на состояние.
Мы видим, что наш клиент подключился последний раз 25 января 2020 года в 15:11:18, ни одного разрыва с момента подключения, шифрование MPPE 128, адрес клиента в туннеле 172.16.25.10 и шлюза 172.16.25.1. Если ваш провайдер блокирует L2TP без IPSEC, то у вас либо не поднимется соединение, либо будет расти счетчик Link Downs. Так же стоит проверить, создался ли сам интерфейс.
Проверка соединения
Перейдем к проверке связи. Будем тестировать ping-запросами. Отправим их внутри туннеля.
Убедившись, что запросы по направлению друг к другу отрабатывают корректно, займемся настройкой безопасности.
Summary
Standards:
PPTP is a secure tunnel for transporting IP traffic using PPP. PPTP encapsulates PPP in virtual lines that run over IP. PPTP incorporates PPP and MPPE (Microsoft Point to Point Encryption) to make encrypted links. The purpose of this protocol is to make well-managed secure connections between routers as well as between routers and PPTP clients (clients are available for and/or included in almost all OSs including Windows).
Multilink PPP (MP) is supported in order to provide MRRU (the ability to transmit full-sized 1500 and larger packets) and bridging over PPP links (using Bridge Control Protocol (BCP) that allows the sending of raw Ethernet frames over PPP links). This way it is possible to setup bridging without EoIP. The bridge should either have an administratively set MAC address or an Ethernet-like interface in it, as PPP links do not have MAC addresses.
PPTP includes PPP authentication and accounting for each PPTP connection. Full authentication and accounting of each connection may be done through a RADIUS client or locally.
MPPE 128bit RC4 encryption is supported.
PPTP traffic uses TCP port 1723 and IP protocol GRE (Generic Routing Encapsulation, IP protocol ID 47), as assigned by the Internet Assigned Numbers Authority (IANA). PPTP can be used with most firewalls and routers by enabling traffic destined for TCP port 1723 and protocol 47 traffic to be routed through the firewall or router.
PPTP connections may be limited or impossible to setup though a masqueraded/NAT IP connection. Please see the Microsoft and RFC links listed below for more information.
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 |
MacOS
Работа L2TP/IPSec на устройствах Apple может не заработать в виду разной трактовки протоколов.
Первое, что Вам необходимо сделать, это открыть меню «Apple», затем перейти в меню «System Preferences» («Системные настройки»), где выбрать пункт «Network» («Сеть»). Если вдруг окажется, что у Вас нет прав настраивать сеть, то в этом случае нужно кликнуть по иконке замка и ввести имя и пароль администратора компьютера. Затем в меню «Network» («Сеть») слева внизу следует нажать знак плюса, после чего на экране откроется диалоговое окно для создания подключения, где Вы должны выбрать пункт «VPN».
- В следующем окне выбираете следующие параметры:
- в строке «Interface» выбираете «VPN»;
- в строке «VPN Type» («Тип VPN») выбираете «L2TP over IPSec» («L2TP через IPSec»);
- строке «Service Name» («Имя службы») присваиваете имя создаваемому подключению.
После того, как параметры выбраны, нажимаете кнопку «Create» («Создать»).
Теперь, когда подключение VPN Вы создали, Вам необходимо его правильно настроить, для чего слева выбираете только что созданное VPN- подключение и в меню справа кликаете по параметру «Configuration» («Конфигурация»). В появившемся списке Вы должны выбрать «Add Configuration» («Добавить конфигурацию»).
После того, как Вы выбрали строку «Add Configuration» («Добавить конфигурацию»), Вам нужно ввести имя конфигурации, которое можно выбрать произвольное. В строке «Server Address» («Адрес сервера») вводите адрес сервера, к которому будет осуществляться подключение, в строке «Account Name» («Имя учетной записи») вводите свой логин на сервере L2TP. Все эти данные вы можете получить у своего VPN провайдера.
Затем нужно нажать кнопку «Authentication Settings» («Настройки аутентификации») и в новом окне задать пароль, а также при необходимости группу и шифрование трафика. Password – пароль L2TP. Shared Secret – пароль ipsec.
После того, как ввод параметров завершен, проверьте закладку «Advanced» («Параметры»).
На этом настройка VPN-соединения завершена, Вам осталось нажать применить изменения, нажав «Apply («Применить»)», после чего можно нажимать кнопку «Connection» («Подключиться»).
Внимание! При включении галочки в поле Send all traffic over VPN connection весь сетевой трафик, включая трафик в Интернет, будет направляться (маршрутизироваться) в VPN-подключение. Включайте только в случае необходимости.
Регламент настройки сервера 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 адрес регистрируемого юзера.
Настройка сервера PPPoE на Микротик
Нам необходимо создать адресное пространство (IP пул). Подключимся к NetworkCore и перейдем в IP – Pool.
Создадим новый. Задаем понятное название и диапазон адресов.
Сохраняем и переходим к следующему пункту.
Создание профиля
Переходим к созданию профиля. Открываем PPP – Profiles.
- Задаем понятное имя профиля;
- Local Address – 172.16.25.1;
- Remote Address – ранее созданный пул;
- DNS – в качестве примера 8.8.8.8;
- Change TCP MSS – yes;
- Use UPnP – no.
Переходим в Protocols.
- Use MPLS – no;
- Use Compression – no;
- Use Encryption – yes.
Открываем Limits.
Only One – no.
Сохраняем и идем далее.
Создание пользователей
Т.к. PPPoE требует аутентификацию по логину и паролю, нам необходимо создать два пользователя, по одному для каждого офиса. Последовательно открываем PPP – Secrets.
- Name – учетная запись, регистр имеет значение;
- Password – пароль;
- Service – можно выбрать any, но я предпочитаю указывать конкретные сервисы;
- Profile – раннее созданный профиль.
По аналогии создаем пользователя для офиса SPB.
Включение сервера
Для ограничения широковещательного трафика я не стал создавать bridge и добавлять в него порты, связанные с офисами. Так же я создал одну сеть, что не рекомендуется для production сети. Сервер настраивается в PPP – PPPoE Servers. Создадим первый, подключенный к московскому офису.
Задаем параметры:
- Service Name — указываем уникальное имя сервиса;
- Interface – ether2 для офиса в Москве;
- Default profile – раннее созданный профиль;
- One Session Peer Host – ставим галочку;
- Authentication – оставляем только MSCHAPv1 и MSCHAPv2.
Есть возможность указать задержку ответа в параметре PAD0 Delay. Данный параметр будет полезен для сценариев с несколькими серверами. Его мы не изменяем.
Сохраняем и создаем еще один, но только указываем другое имя сервиса и порт ether3 в параметре interface.
Настройка клиента PPoE на Микротик
Необходимо настроить таким образом, чтобы был доступ в интернет. На московском роутере я покажу как это сделать. Для начала проверим что на нем нет никаких IP адресов и маршрутов.
Далее переходим в PPP – Interface и добавляем новый.
В создании интерфейса на вкладке General зададим:
- Name – понятное название интерфейса;
- Interface – тот интерфейс, который подключен к провайдеру, в нашем случае ether1.
Предлагаю воспользоваться утилитой PPPoE Scan – она позволяет без подключения и аутентификации просканировать эфир на наличие каких-либо серверов. Особенно полезная штука для поиска неисправностей доступности крупнейшего провайдера нашей страны. После нажатия кнопки Start утилита начинает сканирование. На скриншоте ниже, виден наш сервер с заданным именем сервиса и AC Name – он берется из Identity в меню System. При желании можно сменить.
Закрываем утилиту и переходим во вкладку Dial Out.
- Service – for-MSC (можно не указывать);
- AC Name – NetworkCore (можно не указывать);
- User – MSC – обязательный параметр;
- Password – обязательный параметр;
- Use Peer DNS – ставим галочку;
- Allow – снимаем галочки с chap и pap.
Add Default Route нужен для автоматического добавления маршрута 0.0.0.0/0 в нашу таблицу маршрутизации. Данная запись обеспечит выход в интернет
Обращаю внимание, что она устанавливается на клиентской стороне. Сохраняем и проверяем на вкладке Status
Мы видим внизу статус – connected, что символизирует об успешном подключении. Исходя из скриншота выше можно сказать, что, последний раз соединение поднялось 05.02.2020 в 19:51, время жизни 44 секунды, получили адрес 172.16.25.20, Service Name — for-MSC, AC Name — NetworkCore. Попробуем проверить доступность интернета.
Отправив ping запрос по доменному имени, мы убедились, что имя преобразуется – это означает что DNS сервер добавился без проблем и получаем ответы на запросы — работает интернет-соединение. Не ленимся и перепроверим в соответствующих консолях.
Проделаем аналогичные действия на Mikrotik в Питере и посмотрим, что происходит на главном роутере NetworkCore.
Как мы видим, на интерфейсах ether2 и ether3 появились дополнительные соединения. Далее мы можем из этих интерфейсов сделать статические адрес листы и в зависимости от ситуации, разрешать или запрещать определенный трафик. В данном примере я продемонстрировал как с помощью PPPoE на роутере Mikrotik разрешить доступ в интернет, вы же можете предоставлять с его помощью доступ к иным службам или сетям
Спасибо за внимание