WarDriving , Wi-Fi HowTo Wi-Fi сети Краснодара Wi-Fi сети Краснодара
обновлено: 20.04.14 Форумы : Wi-Fi | Вардрайвинг | Other


F.A.Q по Mikrotik и RouterOS. Часть 1.


Архив темы форума.
Преамбула:
Я сам не так давно занялся плотным изучением (и применением) RouterOS как на устройствах производства Mikrotik, так и на x86. В связи с этим, столкнулся с тем, что информация очень разрознена (капля в одном месте, еще несколько - в другом), и на разных языках. Есть конечно WIKI самого Mikrotik, но там информация зачастую чисто теоретическая или неполная. Предлагаю всем делиться практическими наработками по настройке и реализации разных сценариев обработки и маршрутизации трафика.

Раздел 1. Базовая настройка.

Глава 1.1. Настройки по умолчанию.

Устройства Mikrotik "из коробки" обычно настроены следующим образом:
- Порт N1, он-же ether1-gateway, настроен на подключение к провайдеру (аналог порта WAN или Internet в устройствах других производителей) по DHCP, остальные порты настроены как свич и предназначены для подключения устройств вашей локальной сети.
- По умолчанию включен NAT.
- Firewall настроен таким образом, чтобы пропускать из локалки наружу любой трафик, а снаружи только тот, который запрашивался локальными хостами, а также Ping.
- Локальный DHCP включен и выдает адреса из подсети 192.168.88.0/24, в качестве шлюза и DNS выступает адрес самого Mikrotik (192.168.88.1/24).
- Включен кеширующий DNS-сервер, который в качестве вышестоящих DNS-серверов использует адреса, полученные от вашего провайдера по DHCP.


Если вам просто нужно раздать интернет на несколько компьютеров и ваш провайдер работает по DHCP, то ваша задача сводится к тому, чтобы правильно подключить кабели. Но обычно устройства Mikrotik покупают не для решения таких простых задач ))




Глава 1.2. Настройка подключения PPPoE к провайдеру (через winbox).

1.2.1. Идем в "PPP" на вкладку "Interfaces", нажимаем значок "+" и в меню выбираем "PPPoE Client".

1.2.2. В появившемся окне вводим следующие настройки:

Вкладка "General":
- Name: название подключения. Можно оставить по умолчанию (pppoe-out1) или изменить как вам нравится. Кириллицу использовать не рекомендуется.
- Max MTU и Max MRU: поищите в инструкции, которую вам должен был выдать провайдер. Если не найдете - оставляйте по умолчанию.
- Interfaces: выбираем порт, который подключен к сети провайдера (по умолчанию ether1-gateway).


Вкладка "Dial-Out":
- Service: обычно эта информация выдается провайдером, поищите в договоре или в инструкции по настройке. Если не указать здесь ничего, то Mikrotik будет пытаться установить связь с любым доступным PPPoE-сервером.
- User: ваше имя пользователя, которое вы согласовали с провайдером или которое вам выдал провайдер.
- Password: ваш пароль доступа к сети провайдера.
- Profile: профиль безопасности. Если шифрование для вас не важно, можно оставить default, если обязательно - нужно переключить на default-encruption. Если не уверены, что выбрать - узнайте у провайдера, используется ли шифрование.
- Dial on Demand: установите этот флажок, если вы хотите, чтобы Mikrotik подключался к провайдеру только если с одного из ваших устройств запрошено подключение к интернет. И держал соединение отключенным, если выход в интернет никому не требуется.
- Add Default Route: использовать ли шлюз, предоставляемый провайдером, в качестве шлюза по умолчанию. По умолчанию включено и должно быть включено, если вы используете это подключение для доступа к интернет.
- Use Peer DNS: использовать ли предоставляемые провайдером адреса DNS-серверов. Если вы хотите использовать адреса, предоставляемые провайдером и не планируете использовать альтернативные DNS (либо использовать провайдерские вместе с альтернативными), то включите этот флажок.
- Allow: если в выданных провайдером настройках не указаны протоколы авторизации, то можно оставить без изменений. Если указаны, то оставьте только указанные провайдером. Большинство провайдеров используют mschap2.


Вкладки Status и Trafic информационные и на них ничего настраивать не нужно.

Для проверки доступности PPPoE-сервера провайдера можно использовать кнопку PPPoE Scan, расположенную справа.

Обязательно нажимаем "OK" для сохранения настроек и идем дальше.

1.2.3. Идем в "IP", затем "Firewall" и переходим на вкладку "NAT".

Если у вас здесь стоят настройки по умолчанию, то их нужно изменить следующим образом: в пункте "Out Interface" выбрать только что созданный и названный вами интерфейс PPPoE (если вы использовали имя по умолчанию, то "pppoe-out1").

На этом настройка подключения PPPoE завершена.

Глава 1.3. Настройка Mikrotik для доступа в интернет по PPPtP VPN (через winbox). L2TP настраивается аналогично.

1.3.1. Идем в "PPP" на вкладку "Interfaces", нажимаем значок "+" и в меню выбираем "PPTP Client" (или "L2TP Client", в случае если будет использоваться L2TP) .

1.3.2. В появившемся окне вводим следующие настройки:

Вкладка "General":
- Name: название подключения. Можно оставить по умолчанию (pptp-out1) или изменить как вам нравится. Кириллицу использовать не рекомендуется.
- Max MTU и Max MRU: поищите в инструкции, которую вам должен был выдать провайдер. Если не найдете - оставляйте по умолчанию.

Вкладка "Dial-Out":
- Connect To: вводим IP-адрес или доменное имя PPTP-сервера провайдера, которое выдал вам провайдер для настройки подключения.
- User: ваше имя пользователя, которое вы согласовали с провайдером или которое вам выдал провайдер.
- Password: ваш пароль доступа к сети провайдера.
- Profile: профиль безопасности. Если шифрование для вас не важно, можно оставить default, если обязательно - нужно переключить на default-encruption. Если не уверены, что выбрать - узнайте у провайдера, используется ли шифрование.
- Dial on Demand: установите этот флажок, если вы хотите, чтобы Mikrotik подключался к провайдеру только если с одного из ваших устройств запрошено подключение к интернет. И держал соединение отключенным, если выход в интернет никому не требуется.
- Add Default Route: использовать ли шлюз, предоставляемый провайдером, в качестве шлюза по умолчанию. Должно быть включено, если вы используете это подключение для доступа к интернет.
- Allow: если в выданных провайдером настройках не указаны протоколы авторизации, то можно оставить без изменений. Если указаны, то оставьте только указанные провайдером. Большинство провайдеров используют mschap2.

Вкладки Status и Trafic информационные и на них ничего настраивать не нужно.

Обязательно нажимаем "OK" для сохранения настроек и идем дальше.

1.3.3. Идем в "IP", выбираем "Firewall" и переходим на вкладку "NAT".
Если у вас здесь стоят настройки по умолчанию, то их нужно изменить следующим образом: в пункте "Out Interface" выбрать только что созданный и названный вами интерфейс PPPTP (если вы использовали имя по умолчанию, то "pptp-out1"). Нажимаем "OK".
На этом настройка подключения PPTP завершена.

Глава 1.4. Настройка Mikrotik для работы с несколькими локальными подсетями (через winbox).
Для чего это нужно? Например, вы администратор небольшой локальной сети, состоящей из нескольких сегментов. Либо вы хотите свою домашнюю сеть разбить на две части, одну с полным доступом к любым интернет-ресурсам, другую с ограниченным доступом, например для детей (это можно сделать и другими способами, но сейчас мы рассмотрим именно вариант разделения с помощью подсетей).
Имеется:
- уже настроенное и работающее подключение к интернет.
- кабель провайдера подключен к порту №1 (ether1-gateway).
- кабели от устройств первой подсети подключены к портам №2,3 (ether2-master-local, ether3-slave-local). Эта подсеть будет иметь дефолтные адреса 192.168.88.0/24. Компьютер, с которого производится настройка, подключен к одному из этих портов.
- кабели от устройств второй подсети подключены к портам №4,5 (ether4-slave-local, ether5-slave-local). Эта подсеть будет иметь адреса 192.168.89.0/24.

1.4.1. Первое, что нужно сделать, это вывести порты N4,5 из состава внутреннего свича, чтобы назначить им настройки другой подсети. Для этого идем в "Intarfaces" на вкладку "Interface" и открываем настройки нужного порта (например ether4-slave-local).
Вкладка General:
- Name: для удобства изменяем имя порта, например на "ether4-net89-local".
- MTU: без необходимости не трогаем.
- ARP: enabled. Разрешаем работу через этот порт протоколу ARP.
- Master Port: none. Выводим этот порт из свича.
Остальные настройки без необходимости не меняем.
Не забываем сохранять настройки, нажав "OK".

Проделываем эту-же процедуру для порта ether5-slave-local, переименовываем его соответственно в "ether5-net89-local".

1.4.2. Порты выведены из свича, теперь нужно создать между ними мост для того, чтобы эти порты работали как отдельный свич и пропускали трафик внутри подсети.
Идем в "Bridge" на вкладку "Bridge" и создаем новый мост между портами, нажав "+".
- Name: имя моста, например "net89".
- MTU: без необходимости не трогаем.
- ARP: enabled. Разрешаем работу через мост порт протоколу ARP.
Нажимаем "OK" и переходим к вкладке "Ports", где нужно указать, какие именно порты будут участвовать в этом мосте. Нажимаем "+".
- Intarface: выбираем порт, который нужно добавить в мост, например "ether4-net89-local".
- Bridge: выбираем созданный нами "net89".
Остальные настройки без необходимости не трогаем. Для других портов, которые также планируется использовать в этой подсети, повторяем процедуру, указывая их имена (в нашем примере повторяем для "ether5-net89-local").

1.4.3. Теперь необходимо для этого моста назначить IP-адрес, чтобы устройства этой подсети могли работать с Mikrotik и с интернет. Идем в "IP" - "Addresses" и нажимаем "+".
- Address: назначаем IP-адрес, в нашем примере 192.168.89.1/24
- Network: это поле можно не заполнять, сюда будет автоматически вставлено значение 192.168.89.0.
- Interface: здесь выбираем созданный нами мост "net89".
Сохраняемся.

1.4.4. Если вам необходимо, чтобы устройства из этой подсети получали IP-адреса и настройки автоматически, то необходимо настроить отдельный DHCP-сервер. Если адреса будут динамическими, то начинаем настройку с настройки пула адресов. Если адреса планируется использовать только статические, то создание пула можно пропустить и перейти сразу к пункту 1.4.5.
Для создания пула динамических адресов, идем в "IP" - "Pool", здесь мы видим пул адресов нашей первой подсети 192.168.88.0, нам нужно создать аналогичный для подсети 192.168.89.0. Нажимаем "+".
- Name: назовем например "pool89".
- Addresses: например выделим 151 IP-адрес, "192.168.89.100-192.168.89.250".
- Next Pool: если сервер должен выдавать аддреса только из этого диапазона, то "none".
Сохраняемся.

1.4.5. Задаем настройки подсети, которые будут выдаваться устройствам. Для этого идем в "IP" - "DHCP Server" и переходим на вкладку "Networks". Нажимаем "+".
- Address: Адрес подсети, в которой будет работать этот DHCP-сервер. "192.168.89.0/24"
- Gateway: адрес Mikrotik в этой подсети, "192.168.89.1".
- DNS Servers: указываем адрес Mikrotik "192.168.89.1" и при необходимости дополнительные серверы, например провайдерские, OpenDNS или Google DNS.
Сохраняемся.

1.4.6. Создаем и включаем собственно сам DHCP-сервер. Для этого в "IP" - "DHCP Server" переходим на вкладку "DHCP" и нажимаем "+".
- Name: имя сервера, например "server89".
- Interface: выбираем наш мост "net89".
- Lease Time: на сколько времени будет назначаться устройствам IP-адрес. По умолчанию трое суток.
- Address Pool: для динамических адресов (если был создан пул в пункте 1.4.4) указываем название этого пула "pool89". Если пул не создавали, оставляем "static-only".
Остальные настройки в большинстве случаев можно оставить по умолчанию. Сохраняемся.

На этом всё, мы получили 2 подсети с адресами "192.168.88.0/24" и "192.168.89.0/24", с которыми можно работать по отдельности (например в Firewall), настроили для новой подсети DHCP. Если всё сделано правильно, то сразу должна работать маршрутизация между этими двумя подсетями и обе подсети должны иметь доступ в интернет.


Глава 1.5. Настройка Mikrotik для работы с несколькими провайдерами (через winbox). Вариант резервирования каналов.
Имеется:
- Провайдер1, подключен к порту №1, настроено и проверено подключение к интернет. Это подключение будет основным.
- Провайдер2, подключен к порту №3, порт выведен из свича, настроено и проверено подключение к интернет (как вывести порт из свича, смотрите в п. 1.4.1). Это подключение будет резервным.
- Порт №2 (ether2-master-local) - мастер порт внутреннего свича, оставляем его так для минимизации изменений настроек.
- Устальные порты настроены как slave (по умолчанию).
- Устройства локальной сети можно подключеть к любым портам, кроме 1 и 3.

1.5.1. Если у вас статические IP-адреса от обоих провайдеров, то простейшая настройка резервирования сводится к установке приоритетов маршрутов на первого и второго провайдера. Идем в "IP" - "Routes" и для маршрута на Провайдера1 указываем следующие настройки:
- Dst. Address: оставляем без изменений.
- Gateway: без изменений.
- Check Gateway: ping
- Type: unicast
- Distance:5
Остальное без изменений. В настройках маршрута на Провайдера2 указываем аналогичные настройки, за исключением "Distance: 10".
При такой схеме весь трафик будет идти через Провайдера1, канал на Провайдера 2 будет резервным. Шлюзы обоих провайдеров будут периодически пинговаться, и при недоступности шлюза Провайдера1 маршрут на него будет отключен, а трафик пойдет по маршруту на Провайдера2.

1.5.2. Если у вас динамические IP-адреса (DHCP), то необходимо зайти в "IP" - "DHCP Client" и в настройках Провайдера1 указать "Default Route Distance: 5", а в настройках Провайдера2 "Default Route Distance: 10". Эффект будет таким-же, как и в предыдущем пункте. Проверка доступности шлюзов в этом случае осуществляется автоматически.

1.5.3. Если у вас какой-либо из вариантов PPP-подключения (PPPoE, PPTP, L2TP) либо разные провайдеры используют подключения разных типов, то необходимо в настройках VPN-подключений отключить автоматическое добавление шлюза по умолчанию (параметр Add Default Route), маршруты создать вручную и настроить как в п. 1.5.1, только в качестве шлюза указывать имя соответствующего PPP-интерфейса.


Глава 1.6. Настройка Mikrotik для работы с несколькими провайдерами. Равномерное или кратное распределение трафика.

Сразу хочу предупредить, что данный вариант обладает некоторыми очень существенными недостатками, которые на практике делают его применение не имеющим смысла. Основной недостаток состоит в том, что трафик от каждого локального пользователя распределяется на все внешние каналы (в интернет). В итоге все протоколы, имеющие привязку к IP-адресу, работают некорректно, так как внешний ("белый") IP пользователя постоянно меняется. Поэтому привожу его просто в качестве примера реализации.
Данный способ также не работает без использования сложных скриптов при подключении к провайдерам по DHCP, так как маршрут в интернет настраивается вручную, а при смене IP-адреса и шлюза требует соответствующей корректировки.

1.6.1. Сначала необходимо отключить автоматическое добавление маршрутов в интернет, если оно у вас включено.

F.A.Q по Mikrotik и RouterOS 1.6.2. Создаем новый маршрут в интернет:
"IP" - "Routes" - "+"
- Dst. Address: 0.0.0.0/0
- Gateway: здесь необходимо указать шлюз первого провайдера или имя первого подключения PPP.
Нажимаем стрелку вниз напротив поля "Gateway", открывается еще одна строка для ввода шлюза.
- Gateway: здесь необходимо указать шлюз второго провайдера или имя второго подключения PPP.
В итоге должно получиться примерно как на скриншоте. В данном примере доступность шлюзов дополнительно проверяется при помощи Ping, маршрутизация на недоступный шлюз будет автоматически отключена, а весь трафик пойдет через доступный.

F.A.Q по Mikrotik и RouterOS 1.6.3. Неравномерное (кратное) распределение трафика делается подобным образом.
В данном примере распределение трафика между шлюзами будет составлять примерно 1:2.

Глава 1.7. Настройка Mikrotik для работы с несколькими провайдерами. Распределение трафика на основе групп локальных IP-адресов, подсетей, портов и т.п.

Так как в этом способе пользователь или устройство, или их группа (IP-адрес, подсеть, порт, VLAN и т.п.) привязывается к определенному внешнему интерфейсу (в интернет), то он имеет свои преимущества и недостатки. Среди преимуществ корректная работа всех протоколов (поскольку внешний IP пользователя или группы не меняется в процессе работы). Среди недостатков - невозможность добиться равномерного или кратного распределения нагрузки на внешние каналы в каждый момент времени, так как трафик от каждого конкретного пользователя не является константой. Для работы с типом подключения DHCP - необходимы дополнительные скрипты, которые будут обрабатывать изменение IP-адреса и адреса шлюза.
Данный способ состоит из двух основных частей:
- Маркировка маршрута
- Назначение промаркированного маршрута шлюзу.

F.A.Q по Mikrotik и RouterOS 1.7.1.1. Пример маркировки для распределения трафика на основе групп IP-адресов.
Для начала необходимо создать группы и добавить в них IP-адреса. Это делается в "IP" - "Firewall" - "Address List" - скриншот слева.

Получаем две группы IP-адресов, "Buhgalteria" и "Otdel_Marketinga". Теперь необходимо промаркировать их трафик для отправки через разные внешние каналы. Идем в "IP" - "Firewall" - "Mangle".
Вкладка General:
- Chain: prerouting
Вкладка Advanced:
- Src. Address List: выбираем нужную группу, например "Buhgalteria".
Вкладка Action:
- Action: Mark Routing
- New Routing Mark: задаем условное имя маршрута, например "to_provider1".
- Passthrough: если предполагается еще какая-либо обработка трафика, то ставим птичку, если нет - убираем.

Аналогичным образом маркируем маршрут для второй группы "Otdel_Marketinga", задав New Routing Mark: to_provider2

Примечание: добавлять IP-адрес в какую-либо группу можно непосредственно из DHCP-сервера, если вы используете назначение постоянных адресов (Static IP).

1.7.1.2. Пример маркировки для распределения трафика на основе подсетей.
Допустим, имеется две подсети, которые были нами созданы в Главе 1.4. Необходимо промаркировать их трафик для отправки через разные внешние каналы. Идем в "IP" - "Firewall" - "Mangle".
Вкладка General:
- Chain: prerouting
- Src. Address: вводим адрес нашей первой подсети 192.168.88.0/24
Вкладка Action:
- Action: Mark Routing
- New Routing Mark: задаем условное имя маршрута, например "to_provider1".
- Passthrough: если предполагается еще какая-либо обработка трафика, то ставим птичку, если нет - убираем.

Аналогичным образом маркируем маршрут для второй подсети 192.168.89.0.24, задав New Routing Mark: to_provider2

1.7.1.3. Маркировка на основе портов или VLAN осуществляется способом, схожим с п.1.7.1.2., только вместо "Src. Address" необходимо использовать "In. Interface" и выбрать необходимый интерфейс.

1.7.2. Распределение промаркированного трафика на разные интерфейсы.
Сначала необходимо отключить автоматическое добавление маршрутов в интернет, если оно у вас включено.
Затем идем в IP - Firewall - Route и проверяем, что маршруты на 0.0.0.0/0 отсутствуют. Создаем новый маршрут:
- Dst. Address: 0.0.0.0/0
- Gateway: здесь указываем шлюз первого провайдера либо название интерфейса (в случае PPP-подключения).
При необходимости можно добавить проверку доступности шлюза при помощи ping или arp.
- Distance: 3
- Routing Mark: выбираем "to_provider1"

Аналогичным образом создаем правило для второго провайдера, указав соответственно его Gateway и выбрав маркировку маршрута "to_provider2".

1.7.3. Обработка отказа одного из внешних каналов.
В случае отказа одного из внешних каналов, добавляем резервные маршруты согласно Главе 1.5.


F.A.Q по Mikrotik и RouterOS. Часть 1.       F.A.Q по Mikrotik и RouterOS. Часть 2.



Autor Algon, Herausgeber VladMay. Краснодар