Общая
MikroTik — линейка довольно дешевого сетевого оборудования выпускаемого латвийской компанией Mikrotīkls Ltd.
Оборудование имеет большое количество возможностей и довольно удобный интерфейс настройки через фирменную программу WinBox.
1. Подключение к маршрутизатору MikroTik.
Настройка оборудования, как было написано выше, удобнее всего производить через WinBox
, доступный для скачки на официальном сайте MikroTik.
1.1 Подключение к маршрутизатору.
По умолчанию на ether1
порту установлен IP адрес 192.168.88.1
с маской подсети 255.255.255.0
, поэтому для простого подключения понадобится сдать сетевой карте компьютера IP-адрес из этой подсети. Логин для подключения admin
, а пароль — пустой.
1.2 Смена пароля пользователя.
Так как пароль по умолчанию отсутствует то необходимо его задать.
Сделать это можно в Systems - Users
. В появившемся окне открыть пользователя admin
и нажать кнопку Password
. В появившемся окне ввести новый пароль в полях New Password
и Confirm Password
.
1.3 Отключение и включение сервисов управления
Так же вам следует обратить внимание на сервисы управления маршрутизатором. Это можно сделать нажав IP - Services
. В появившемся окне будут указаны активированные и деактивированные сервисы управления. Можно оставить включенным только WinBox, если вы не собираетесь использовать другие. Важно обратить внимание на то, что бы указанные порты небыли доступны извне, что бы не нарушить безопасность оборудования.
2. Работа с IP-адресами.
2.1 Получение IP-адреса по DHCP.
Если требуется получить адрес от DHCP сервера провайдера или локального сервера, установленного в вашей сети то в WinBox необходимо нажать IP - DHCP Client
. В появившемся окне нажать «+» — это откроет диалог добавления DHCP клиента где в пункте Interfaces
необходимо выбрать порт, на котором необходимо получить адрес автоматически. В приведенном ниже примере DHCP клиент активирован на порту ether2-master.
2.2 Назначение IP-адреса интерфейсу.
Если вы собираетесь поднять DHCP сервер на вашем MikroTik маршрутизаторе то вам необходимо назначить нужным интерфейсам желаемые адреса. Для этого необходимо нажать IP - Addresses
. В появившемся окне нажать «+» — это откроет диалог назначения адреса. В приведенном ниже примере интерфейсу ether6-master назначен IP-адреса 10.100.0.254 с маской 255.255.255.0 и указана сеть этого адреса 10.100.0.0.
3 Включение DHCP сервера и назначение пулов адресов.
3.1 Создаем пул адресов для DHCP сервера.
Для правильной работы DHCP сервера необходимо создать пул адресов для необходимой нам сети. Для этого необходимо нажать IP - Pool
. В появившемся окне нажать «+» это откроет диалог создания пула адресов где необходимо указать имя пула в пункте Name
, указать диапазон адресов в пункте Addresses
и при необходимости указать дополнительный пул адресов на случай если создаваемый пул исчерпает свободные адреса. В приведенном ниже примере создан пул под названием DHCP Network Pool с диапазоном адресов от 10.100.0.2 до 10.100.0.200.
3.2 Запуск DHCP и DNS сервера на маршрутизаторе MikroTik.
Если в вашей сети нет DHCP сервера то встроенный в роутер DHCP сервер поможет решить эту проблему. Можно создать как для одной сети сервер так и для нескольких сетей. Для запуска сервера необходимо нажать IP - DHCP Server
. В появившемся окне, на вкладке DHCP необходимо нажать «+» — это откроет диалог создания DHCP сервера где необходимо в поле Name
ввести произвольное имя сервера, в поле Interface
выбрать интерфейс на котором будет работать данный DHCP сервер, в поле Lease Time
нужно указать срок аренды адресов, получаемых клиентами,в поле Address Pool
необходимо указать пул диапазонов адресов. В приведенном ниже примере создан сервер с именем Local на интерфейсе ether6-master с сроком аренды в 31 день и один час. Серверу назначен пул DHCP Network Pool, созданный в пункте 3.1
3.3 Определение параметров сети.
Для корректной работы клиентов необходимо чтобы DHCP сервер присылал правильные настройки сети. Задаются параметры в пункте IP - DHCP Server
. В появившемся окне, на вкладке Networks
необходимо нажать «+» — это откроет диалог создания параметров сети где в поле Address
вносим адрес сети, в поле Gateway
вносим адрес шлюза. Адрес шлюза это адрес интерфейса маршрутизатора «смотрящего» в эту сеть. В поле Netmask
вносим маску подсети — маску можно указать как в привычном формате 255.255.255.0 так и в формате бесклассовой адресации (CIDR) — 24. В поле DNS Servers
указываем адрес DNS сервера, который является адресом маршрутизатора. Его настройка рассмотрится в пункте 3.4. В поле Domain
вносим имя домена если есть. В приведенном ниже примере созданы параметры сети, адрес которой является 10.100.0.0/24, шлюзом 10.100.0.254. Маска подсети указана в формате CIDR — 24 что соответствует маске 255.255.255.0, а так же указано имя домена home.local.
Произведя изложенные выше манипуляции клиенты подключенные на интерфейс ether6-master будут получать IP-адрес из созданного пула и смогут взаимодействовать с маршрутизатором.
3.4 Создание DNS сервера.
Сервер имен не мало важен в сети, так как он позволяет обращаться к сайтам и устройство по их FQDN имени. В маршрутизаторах MikroTik есть встроенный DNS сервер и этот сервер работает по умолчанию. Если ваш маршрутизатор получает автоматический IP адрес от сервера провайдера или локального DHCP сервера, который выдает IP-адреса DNS сервера для ретрансляции то настройка данного пункта не понадобится. Но бывают случаи, что внешние DNS сервера работают более надежно, чем сервера провайдера. Поэтому можно настроить их адреса в разделе IP - DNS
. В появившемся окне, в пункте Servers
можно указать адрес DNS сервера для ретрансляции. В конце строки присутствуют стрелки при нажатии на которых появятся дополнительные строки для ввода дополнительных адресов. В приведенном ниже примере серверами ретрансляции указаны адреса серверов Google — 8.8.8.8 и 8.8.4.4. В поле Cache Size указан размер кэша в 2 мегабайта.
Так же в данном окне присутствует кнопка Static где можно сопоставить IP-адреса и FQDN хостов, которые вам необходимы.
4. Настройка Firewall-а.
Firewall в маршрутизаторе создан для обеспечения безопасности вашей локальной сети от вторжений извне. По умолчанию в маршрутизаторах уже есть правила, способствующие защите вашей сети. Но вы всегда можете донастроить ваш firewall согласно вашим требованиям. Мы лишь рассмотрим как создавать правила.
Настройка Firewall находится в IP - Firewall
, вкладка Filter Rule
где необходимо нажать «+» — это откроет диалог создания правил. В появившемся окне заполняем нужные строки:
Chain
— выбор фильтрации трафика в зависимости от его предназначения и имеет 3 варианта настройки это forward
— проходящий через маршрутизатор трафик, input
— входящий трафик для маршрутизатора, output
— исходящий трафик созданный маршрутизатором;
Src. Address
— исходный адрес;
Dst. Address
— адрес назначения;
Protocol
— тип протокола трафика;
Src. Port
— исходный порт;
Dst. Port
— порт назначения;
In. Interface
— интерфейс на который приходит трафик;
Out Interface
— интерфейс с которого уходит трафик;
На вкладке Action
, в пункте Action
необходимо выбрать что с таким трафиком делать. Accept
— принять, drop
— сбросить, reject
— отклонить, add dst to address list
— добавить адрес назначения в указанный лист, add src to address list
— добавить исходный адрес в указанный лист, fasttrack connection
— пересылка пакетов без обработки, jump
— перепрыгнуть в цепочку, passthrough
– игнорировать это правило и перейти к следующему, return
– вернуть пакет в цепочку, из которой он был переброшен, tarpit
– захватить и удерживать входящие TCP подключения.
5. Настройка NAT.
NAT позволяет преобразовывать IP-адреса транзитных пакетов. Данный функционал доступен в любом маршрутизаторе и позволяет транслировать адреса из одной сети в другую. Так же помогает пробрасывать порты. По умолчанию в маршрутизаторе есть правило, позволяющее взаимодействовать вашей локальной сети с сетью интернет. Создание NAT правил доступно в IP - Firewall
, вкладка NAT
где необходимо нажать «+» — это откроет диалог создания правил. Строки в данном окне имеют те же значения что и в вкладке Filter Rule, за исключением пункта Chain
имеющий два параметра srcnat
и dstnat
— это направление трафика. Srcnat
— из внутренней сети во внешнюю, dstnat
— из внешней во внутреннюю.
На вкладке Action
, в пункте Action
необходимо выбрать действие которое следует выполнить с подключением на указанный порт. Правило masquerade
— подмена внутреннего адреса на адрес маршрутизатора, netmap
— отображение одного адреса на другой; redirect
— перенаправляет данные на другой порт в пределах маршрутизатора; src-nat
— перенаправление данных из внутренней сети во внешнюю; dst-nat
— перенаправление данных из внешней сети во внутреннюю;
Ниже приведен пример проброса порта с внешнего интерфейса на нужный порт на хост внутри локальной сети.
На вкладке General в поле Chain указана цепочка dstnat — направление трафика из внешней во внутреннюю, по протоколу tcp, порт назначения 80, входящий интерфейс, направленный в сторону сети провайдера ether2-master.
На вкладке Action, в поле Action выбрано действие netmap, указан адрес хоста 10.100.4.1 в поле To address и порт хоста 80 в поле To Ports.
Данное правило позволяет ретранслировать все входящие пакеты, поступающий на 80 порт внешнего адреса маршрутизатора, на 80 порт указанного хоста.
Так же приведем пример мскарадинга трафика, который позволит хостам иметь доступ в интернет
На вкладке General в поле Chain указана цепочка srcnat — направление трафика из внутренней сети во внешнюю, исходящий интерфейс — интерфейс направленный в сторону сети провайдера ether2-master.
На вкладке Action, в поле Action выбрано действие masquerade — подмена внутреннего адреса на адрес маршрутизатора.
6. Настройка VPN.
VPN позволит вам установить защищенное соединение по небезопасной среде интернет и даст возможность получить доступ к внутренним ресурсам вашей сети.
Для настройки VPN необходимо нажать на пункт PPP
. В появившемся окне, на вкладке Interfaces
необходимо нажать «+» и выбрать L2TP Server Binding
— это откроет диалог создания параметров. Укажем имя интерфейса в поле Name
. В приведенном примере ниже указано имя l2tp
Далее в окне настроек PPP
щелкаем на кнопку L2TP Server
и в появившемся окне ставим галку Enable
, в пункте Authentication
выберем mschap2
и mschap1
. Поставим галку Use IPsec
и введем произвольный ключ в поле IPsec Secret
. Этот ключ будет вводится в раздел IPsec при настройке VPN на клиенте.
Далее на вкладке Secret
создаем пользователя где поле Name
указывается логин, в поле Password
— пароль, в поле Service
выбираем созданный ранее l2tp, в поле Profile
выбираем default-encryption
.
Теперь остается поправить default-encryption
профиль в вкладке Profiles
указав пулы адресов в полях Local Address
и Remote Address
, а так же DNS Server.
Данная настройка позволяет создать L2TP подключение с обязательным шифрованием с использованием IPsec. Что необходимо учесть при настройке подключения на клиенте.
7. Создание VLAN интерфейсов.
VLAN позволяет создать виртуальные сети используя одну физическую сеть. На одном интерфейсе могут быть несколько субинтерфейсов имеющие разные IP адреса и сети.
Для создания VLAN интерфейса необходимо нажать Interfaces
. В появившемся окне, на вкладке Interface
необходимо нажать «+» и выбрать VLAN
— это откроет диалог создания параметров. Укажем имя в поле Name
, укажем номер VLAN в поле VLAN ID
, в поле Interface
выберем интерфейс, субинерфейсом которого он будет. Настройка IP адреса, параметров сети, DHCP сервера для данного интерфейса происходит по аналогии с обычным интерфейсом, описанном в пункте 2 и его подпунктах.
Важно отметить, что оборудование на другом конце провода данного порта так же должно поддерживать технологию VLAN и настроено с тем же VLAN ID.
8. Настройка Web Proxy
В маршрутизаторе так же присутствует встроенный Web Proxy. Для его активации необходимо нажать IP - Web Proxy
. В появившемся окне поставить галочку Enable
. В поле Port
указывается порт на который прокси принимает соединения. По нажатию кнопки Access
открывается окно где можно запретить доступ к определенным ресурсам.
Для работы прокси необходимо весть трафик, идущий на 80 порт через маршрутизатор заворачивать на указанный в настройка прокси порт. Это делается в IP — FIrewall, вкладка NAT. В поле Chain указывается dstnat, в поле Scr. Address указывается адрес сети из которой мы хотим завернуть трафик на порт, в поле protocol указываем tcp, в поле Dst. port указываем 80 порт. На вкладке Action, в поле Action указываем redirect и в поле To ports указываем порт, назначенный в настройках Webproxy.
Подытожим что возможностей у данной железки достаточно если учитывать ее дешевизну.
Добавить комментарий
Одним из основных назначений VPN-соединений служит организация доступа удаленных клиентов в локальную сеть. И несмотря на то, что данная тема достаточно широко освещена многие администраторы продолжают сталкиваться со сложностями. Наибольшие затруднения, как правило, вызывает маршрутизация. Отчасти это связано с относительной сложностью данной темы, требующей достаточного уровня теоретических знаний, а отчасти с техническими возможностями реализуемого решения. В некоторых сценариях можно обойтись и без маршрутизации, использовав для доступа в сеть иные технологии, сегодня мы расскажем об одной из них.
Существует два основных сценария построения VPN: обеспечение доступа удаленных клиентских устройств и соединение между собой удаленных сетей. В последнем случае проще, администратор настраивает устройства с обоих сторон туннеля именно так, как считает нужным, а вот клиентские устройства, тут может быть самый разнообразный зоопарк. Установка стороннего ПО, добавление собственных маршрутов, все это может быть достаточно затруднительно, особенно если это личное устройство клиента. Поэтому удаленное подключение желательно выполнять стандартными средствами, с минимальным вмешательством в клиентскую систему.
Описываемый нами способ применим именно для подключения клиентских устройств, применять для объединения сетей его не следует. Его отличительной особенностью является выдача VPN-клиентам адресов из диапазона локальной сети. Давайте рассмотрим следующую схему:
В нашем случае имеется локальная сеть с диапазоном адресов 192.168.111.0/24, в которой находятся сервер 192.168.111.101 и роутер 192.168.111.1, для доступа удаленных клиентов мы подняли на роутере VPN-сервер с локальным адресом 192.168.111.140 и пулом адресов для клиентов 192.168.111.141-149. Нам требуется организовать прозрачный доступ в локальную сеть для подключающихся клиентов (зеленая пунктирная линия).
При этом важно соблюдать ряд правил. Во-первых, диапазон локальной сети клиентов не должен пересекаться с диапазоном сети офиса, поэтому мы настоятельно не рекомендуем использовать в корпоративных сетях диапазоны 192.168.0.0/24, 192.168.1.0/24 и т.д. из-за их широкого применения в устройствах бытового класса. Во-вторых, выделенный для удаленных клиентов диапазон следует исключить для выдачи и назначения устройствам локальной сети. И наконец, локальный адрес VPN-сервера должен быть выделен из локального диапазона и не должен использоваться иными устройствами или интерфейсами роутера.
Сам тип VPN не имеет принципиального значения, но рекомендуется использовать те варианты подключения, стандартные клиенты для которых имеются на целевых клиентских устройствах, это может быть PPTP или L2TP/IPsec.
В нашем примере это будет L2TP-клиент, который успешно подключился к нашему роутеру и получил адрес 192.168.111.148:
На первый взгляд все хорошо, клиент получил адрес из диапазона локальной сети и вроде бы должен взаимодействовать с ней без маршрутизации, но если мы попытаемся получить доступ к указанному нами на схеме серверу, то нас постигнет неудача.
Почему так? Давайте разбираться. Взаимодействие между собой для устройств, находящихся в одной IP-сети (уровень L3 модели OSI) происходит на канальном (L2) уровне. В Ethernet сетях для отправки фрейма (кадра) отправитель должен знать MAC-адрес получателя. Для определения MAC-адреса на основе IP-адреса служит протокол ARP (Address Resolution Protocol).
Когда мы хотим соединиться с узлом 192.168.111.101 хост посылает широковещательный ARP-запрос:
У кого IP-адрес 192.168.111.101 ответьте 192.168.111.148
Его получают все узлы сети, но отвечает только обладатель адреса:
192.168.111.101 мой MAC-адрес 00:26:57:00:1f:02
Причем обмен практически именно так и происходит, ниже реальный пример ARP-запросов и ответов в локальной сети.
Получив MAC-адрес хост помещает его в ARP-таблицу и в дальнейшем может общаться с данным узлов, не посылая каждый раз ARP-запросы.
Но что же пошло не так в нашем случае? VPN-клиент 192.168.111.148 считая себя частью сети 192.168.111.0/24 для доступа к 192.168.111.101 пошлет соответствующий широковещательный ARP-запрос, чтобы выяснить его MAC-адрес. Но VPN-соединение — это не IP-сеть, а структура точка-точка и единственным узлом, который получит ARP-запрос будет VPN-сервер 192.168.111.140, а так как он не является искомым адресом, то «скромно» промолчит. Клиент не получит на свой запрос ответа и с целевым узлом связь установить не удастся.
Чтобы выйти из этой ситуации можно использовать Proxy ARP, эта технология представляет прокси-сервер для ARP-запросов, позволяя связать на канальном уровне разные сети. Теперь, получив от клиента ARP-запрос сервер ответит MAC-адресом, на который клиент может посылать Ethernet-фреймы.
Существуют разные варианты ARP-прокси, в простейшем случае, который реализован в Mikrotik, роутер ответит на ARP-запрос собственным MAC-адресом, а получив Ethernet-фрейм передаст его на интерфейс, на котором включен Proxy ARP. Таким образом удаленный клиент и узлы локальной сети смогут общаться между собой на канальном уровне без привлечения маршрутизатора (как им кажется).
Для того, чтобы включить Proxy ARP в роутере Mikrotik перейдите в настройки интерфейса, обслуживающего вашу локальную сеть, чаще всего это будет мостовой интерфейс bridge, в нашем случае это один из ether-портов, и в поле ARP установите значение proxy-arp.
После чего снова попробуем получить доступ к серверу и на этот раз все получится:
Как видим, все достаточно несложно и мы полностью стандартными средствами со стороны клиента получили полноценный доступ в локальную сеть за VPN-сервером без настройки маршрутизации и прочих «лишних» движений.
Используемые источники:
- https://itcrowd.top/mikrotik
- https://interface31.ru/tech_it/2020/03/nastraivaem-proxy-arp-dlya-vpn-podklyucheniy-na-routerah-mikrotik.html