Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:mikrotik:ru [2014/12/03 17:03]
asmodeus [Управление шейпером]
abills:docs:mikrotik:ru [2016/01/15 10:37] (текущий)
anton создано
Строка 1: Строка 1:
-=====Mikrotik===== +[[abills:​docs:​nas:​mikrotik:​ru| Mikrotik: Раздел переместили сюда ]]
-{{http://​www.mikrotik.com/​img/​header/​sitelogo.png|http://​www.mikrotik.com}}\\ +
-Version: >=2.9.13 \\ +
- +
-===Настройка на сервере биллинга=== +
- +
- +
- +
- +
-====FreeRadius==== +
- +
-**radius/​etc/​raddb/​dictionary** +
- +
-  $INCLUDE ​       /​usr/​local/​share/​freeradius/​dictionary.mikrotik +
- +
- +
-**В /​usr/​local/​share/​freeradius/​dictionary.mikrotik ​ добавляем такой атрибут** +
- +
-  ATTRIBUTE ​      ​Mikrotik-Address-List ​                  ​19 ​  ​string +
-  ATTRIBUTE ​      ​Mikrotik-Total-Limit ​                   17   ​integer +
-  ATTRIBUTE ​      ​Mikrotik-Total-Limit-Gigawords ​         18   ​integer +
- +
- +
- +
-Добавляем сервер доступа в RADIUS \\ +
- +
-**raddb/​clients.conf** +
- +
- +
-  client xx.xx.xx.xx { +
-    secret ​    = radsecret +
-  }  +
- +
- +
-После внесения всех изменений ​ перезагрузите радиус +
- +
- +
-====Управление через ssh==== +
-Удалённое выполнение команд на Mikrotik через ssh, используется для управления правилами шейпера и фаервола.  +
-Для выполнения команд нужно создать ssh  сертификат с пустым паролем и залить его на микротик по ftp. Перед созданием сертификата убедитесь включён ли на микротике ftp. +
- +
-**Создание сертификата**\\ +
-Сделайте сертификат пустым паролем(для дальнейшего управления микротиком) +
-  # /​usr/​abills/​misc/​certs_create.sh ssh abills_admin -UPLOAD_FTP admin@10.20.1.1 +
- +
-**Не используйте пользователя '​admin'​. Для удалённого доступа создайте отдельного пользователя.** \\ +
-Создание пользователя +
-  [admin@mikrotik]>​ user add name=abills_admin group=write +
- +
-Подключите SSH ключ пользователю +
-  [admin@mikrotik]>​ user ssh-keys import public-key-file=id_dsa.abills_admin.pub user=abills_admin +
- +
- +
-**Проверяем:​**\\ +
-  % ssh -l abills_admin ​ -i /​usr/​abills/​Certs/​id_dsa.abills_admin ​ 10.20.1.1 "/​system identity print"​ +
- +
-если все правильно сделано результат\\ +
- +
-  name: "​MikroTik"​ +
- +
- +
- +
- +
-====Mikrotik PPPoE/​PPTP==== +
- +
-===Radius=== +
-**Настройка через консоль** +
- +
- +
- ​тут вводим адрес Radius сервера  +
-  /radius add address=192.168.1.50 secret=radsecret service=ppp +
-  /radius incoming set accept=yes port=1700  +
- +
-**Настройка через WinBox** +
- +
-авторизация на RADIUS сервере \\ +
-{{http://​abills.net.ua/​img/​radius1.jpg?​400|radius}} +
- +
-Открытие RADIUS PoD для сброса с линии \\ +
- +
-{{http://​abills.net.ua/​img/​radius2.jpg?​400|radius}} +
- +
-===PPP=== +
- +
-Через консоль +
- +
-  /ppp aaa set accounting=yes use-radius=yes interim-update=300 +
-  /ppp profile set default local-address=192.168.101.10 +
-   +
-Через WinBox +
- +
-{{http://​abills.net.ua/​img/​ppp_acounting.jpg?​400|ppp_acounting}} +
-{{http://​abills.net.ua/​img/​ppp_profile.jpg?​400|ppp_profile}} +
- +
-===PPPoE=== +
- +
-Через консоль +
- +
-  /interface pppoe-server server add interface=ether1 \ +
-  \... service-name=pppoe-in authentication=chap +
- +
-Через WinBox +
- +
-{{http://​abills.net.ua/​img/​pppoe.jpg?​450|pppoe}} +
- +
- +
-===PPTP=== +
- +
-Через консоль +
- +
-  /interface pptp-server server set enabled=yes authentication=chap +
- +
-Через WinBox +
- +
-{{http://​abills.net.ua/​img/​pptp.jpg?​450|pptp}} +
- +
- +
- +
- +
-====Mikrotik IPN==== +
- +
- +
- +
-===Настройка сервера доступа=== +
- +
-''/​ System configuration/​ NAS/''​ +
- +
-^Type                  | ipcad| +
-/ System configuration/​ NAS/ IP POOLs/ +
-Нужно внести пул адресов,​ с которых можно авторизоваться. +
-Тарифные планы +
- +
-Модуль использует тарифную логику модуля Dv (Internet).  +
-Заводим классы трафика / System configuration/​ Internet/ Traffic Classes. Глобальный класс трафика должен иметь номер 0. +
-Заводим тарифные планы в / System configuration/​ Internet/ Tarif plans/ . +
-**В тарифном плане в  Intervals обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика**. +
- +
-**Слушать и отправлять flow пакеты на сервер для их подальшей обработки с помощью колектора (flow-tools)** +
- +
-Через консоль +
- +
-  /ip traffic-flow set enabled=yes +
-  /ip traffic-flow target add address=10.0.0.10:​9996 version=5 +
-  /ip traffic-flow set interfaces=ether3 active-flow-timeout=30m inactive-flow-timeout=15s cache-entries=4k enabled=yes ; +
- +
-ether3 интерфейс на котором слушать +
-10.0.0.10 - адрес сервера обработки flow пакетов +
- +
-Также добавить правила для перенаправления на клиентский кабинет для подключения к IPN +
-   +
-  /ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp +
-   ​src-address=192.168.6.0/​24 dst-address=0.0.0.0/​0 dst-port=80 +
- +
-Инициализация и контроль правил шейпера +
- +
-  # /​usr/​abills/​libexec/​billd checkspeed mikrotik RECONFIGURE=1 NAS_IDS=1  +
- +
-Дополнительные параметры +
- +
-|NAT=1 | Поднять маскарадинг ​ для всех адрес листов | +
-|SKIP_NAT_IPS=xxx.xxx.xxx.xxx | Не маскарадить обращения к адресу ​  | +
-|NAS_IDS=1 ​ | Номер сервера доступа | +
- +
- +
-**config.pl** +
-  $conf{IPN_FW_START_RULE}="/​usr/​bin/​sudo /​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=abills_admin"​. ' > /dev/null 2>&​1';​ +
-  $conf{IPN_FW_STOP_RULE}="/​usr/​bin/​sudo /​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=abills_admin"​. ' > /dev/null 2>&​1';​ +
- +
- +
-====Mikrotik DHCP==== +
-Для управления данным функционалом нужен модуль ​[[abills:​docs:​modules:​dhcphosts:​ru?&#​freeradius_dhcp|Freeradius DHCP]]. \\ +
-При данной схеме работы DHCP  запросы клиентов приходят на Mikrotik DHCP,  затем Mikrotik их трансформирует в radius запрос и отправляет на RADIUS ​ сервер где происходит авторизация пакета и отправка результата на Mikrotik. После получения результата от RADIUS ​ сервера Mikrotik формирует пакет DHCP  для клиента. +
- +
- +
-**Возможности** \\ +
-  * Динамическая и статическая раздача IP адресов +
-  * Option 82 (Удобная система интеграции с любым нестандартным оборудованием) +
-  * Нарезка скорости абонентам +
-  * Гостевой доступ +
-   +
-** Настройка** \\ +
-**config.pl**\\ +
- +
-  $AUTH{mikrotik_dhcp}='​Mac_auth';​ +
-Так как DNS, маска сети и шлюз прописываются на Mikrotik ​  и их нельзя изменить через radius вы можете для гостевых сетей только отправлять параметры длительности для ип адреса и как гостевые адреса использовать часть сети dhcp. \\ +
-Пример параметров для гостевого пула +
- +
-  $conf{DHCPHOSTS_GUEST_POOLS}='​0:​16:​Session-Timeout=300';​ +
-   +
-   +
-{{:​abills:​docs:mikrotik:2.jpg|}} +
- +
-\\ +
- +
-{{:​abills:​docs:​mikrotik:​1.jpg |}} +
- +
-\\ +
- +
-Если все правильно настроено на RADIUS сервер приходят следующие пары. +
- +
- +
-<​code>​ +
-NAS-Port-Type = Ethernet +
-NAS-Port = 2205156610 +
-Called-Station-Id = "​DHCP-server"​ +
-User-Name = "​00:​1B:​FC:​3A:​B7:​AA"​ +
-User-Password = ""​ +
-Agent-Remote-Id = 0x00067072cf5c8f82 +
-Agent-Circuit-Id = 0x0004000b0101 +
-NAS-Identifier = "​MikroTik"​ +
-NAS-IP-Address = 10.10.0.1 +
-</​code>​ +
- +
-Если используете авторизацию по порту и маку коммутатора в запросе обязательно должны быть параметры Option 82 +
- +
-  Agent-Remote-Id = 0x00067072cf5c8f82 +
-  Agent-Circuit-Id = 0x0004000b0101 +
- +
- +
-Ответ RADIUS ​ для микротика (Access-Accept/​Access-Deny) +
-<​code>​ +
-Sending Access-Accept of id 19 to 193.106.59.230 port 55118 +
-        Mikrotik-Address-List = "​CLIENTS_12"​ +
-        Session-Timeout = 300 +
-        Framed-IP-Address = 10.10.1.200 +
-</​code>​ +
- +
-====Управление шейпером==== +
- +
-Инициализация и контроль правил шейпера. При использовании разных скоростей в разные промежутки времени нужно через крон вызывать данную команду на границе интервалов. Данную команду нужно делать для любого типа подключения PPPoE, PPTP  или IPoE. \\ +
- +
-Программа инициализации правил шейпера ​ и загрузки их на mikrotik ​ сервера +
-  # /​usr/​abills/​libexec/​billd checkspeed mikrotik RECONFIGURE=1 +
- +
-Параметры +
-^NAS_IDS='​1,​2' ​  | Список серверов доступа. По умолчанию скорость просматривается на всех ​ | +
-^RECONFIGURE=1 ​  | переинициализировать правила шейпера | +
-^NAT=1 ​          | Включение ната | +
-^SHOW_SPEED=1 ​   | Показать абонентов для которых применён шейпер id, address_list,​ ip | +
-^DEBUG=1..7 ​     | Режимы отладки. \\ **1** - Отображать базовые сообщения программы и писать лог команд для Mikrotik. Лог записывается в файл /​usr/​abills/​var/​log/​mikrotik_cmd.log ​ \\ **2** - Отображать команды для Mikrotik на экран. \\ **5** - Отображать но не выполнять команды \\ **7** -  Отображать SQL запросы к базе во время выполнения программы ​  | +
- +
- +
-После инициализации правил шейпера при подключении абонента ​ на Mikrotik передаётся только IP  адрес абонента с указанием в какой список его внести. \\  +
-При использовании PPoE, PPTP адрес передаётся системой через RADIUS ​ пары: +
- +
-  Mikrotik-Address-List=CLIENTS_[TP_ID] +
-   +
- +
-При использовании IPN  используется стандарnный ​ [[abills:​docs:​modules:​ipn:ru#​kontrol_dostupa_i_narezka_trafika|IPN механизм $conf{IPN_START_RULES} $conf{IPN_STOP_RULES}]] +
- +
- +
- +
-**Проверка правил шейпера:​** \\ +
- +
-Если всё настроено правильно и команда "​builld RECONFIGURE=1"​ сделала свое дело ,- вы должны получить приблизительно такие ответы по соответствующих запросах в консоли MikroTik: +
-  /ip firewall mangle print  +
-   ​0 ​  ​chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_2_out passthrough=yes +
-     ​dst-address=0.0.0.0/​0 src-address-list=CLIENTS_2 +
-  1   ​chain=forward action=mark-packet new-packet-mark=ALLOW_TRAFFIC_CLASS_2_in passthrough=yes +
-     ​src-address=0.0.0.0/​0 dst-address-list=CLIENTS_2 +
-   +
-  /queue tree print  +
-  0   ​name="​TP_2_in_global"​ parent=global-out packet-mark=ALLOW_TRAFFIC_CLASS_2_in limit-at=0 +
-     ​queue=TP_2_in_global_speed priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s +
-  1   ​name="​TP_2_out_global"​ parent=global-out packet-mark=ALLOW_TRAFFIC_CLASS_2_out limit-at=0 +
-     ​queue=TP_2_out_global_speed priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s  +
-   +
-====ABillS==== +
- +
-**/ System configuration/​ NAS/** +
- +
-^IP| IP Адрес ​Mikrotik ​+
-^Type                  | mikrotik ​                                       | +
-^Alive | Время обновления статистики. Рекомендуемое значение 300 | +
-^:Manage: ​             | | +
-^:Radius NAS Identifier| используеться только в случае нескольких радиус клиентов на одном IP | +
-^IP:​PORT: ​             | IP адрес и порт для контроля соединения. Например,​ для отключения пользователя с веб-интерфейса. ​   MIKROTIC_IP:​CoA_PORT:​SSH_PORT \\ \\ MIKROTIC_IP - адрес микротик \\ CoA_PORT - порт дял сброса пользователя с линии (По умолчанию 1700)\\ SSH_PORT - порт для управления по ssh (По умолчанию 22)   \\ **пример:​** 10.11.11.1:​1700:​22 | +
-^User: ​                | abills_admin \\ Имя пользователя для запуска удалённых команд через SSH.\\ После заведения пользователя заведите [[ SSH сертификат]] в системе. | +
-^Password: ​            | radsecret - Пароль PoD/​CoA ​ для сброса пользователя с линии. | +
- +
-====Перенаправление в клиентский кабинет ==== +
- +
-  ip firewall nat add chain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp +
-  src-address=192.168.6.0/​24 dst-address=0.0.0.0/​0 dst-port=80 +
-   +
- +
- +
- +
- +
- +
- +
- +
- +
-===== Настройка HotSpot на Mikrotik ===== +
- +
-Инструкция по настройке hotspot на Mikrtoik ​ RouterBoard ​ через интерфейс WinBox: +
-Рекомендуем обнулить систему RouterOS перед настройкой ,- в терминале делаем : +
-  >system reset-configuration  +
-   +
-   +
- +
-  - Создаем новый bridge :   ​**bridge ->  "​+"​ -> "​OK"​** +
-  - Добавляем туда wlan порт :   ​**ports -> "​+"​ -> interface: wlan1** +
-  - Добавляем DHCP клиент :    ** IP -> DHCP Client -> "​+"​ -> interface: bridge1** +
-  - Добавляем новый пул адресов для хотспота :   **IP -> Adresses -> "​+"​ -> interface: bridge1 , adress: свободный пул адресов , например 192.168.111.0/​24** +
-  - Переключаем wifi модуль в режим bridge : **Wireless -> intefaces -> wlan1 -> Wireless - mode: bridge ​ , band: 2GHz-B/G , protocol 802.11 ​ ,  enable ​  , OK**  +
-  - Настраиваем хотспот :  **IP -> Hotspot -> Hotspot setup -> Hotspot interface: bridge1 -> Local Adress of Network:​(пул который мы создали) -> Adress pool of network:(оставляем как есть) -> SSL-sertificate:​ none -> SMTP server: 0.0.0.0 -> DNS servers :(8.8.8.8 ,​-гугловский DNS , можно свой) -> DNS name: можно оставить пустым -> готово** +
- +
- +
-если нам нужно чтобы хотспот использовал для авторизации внешний Radius сервер , - в терминале пишем : +
- +
-  > ip hotspot profile set hsprof1 use-radius=yes +
-  > radius add service=hotspot address=y.y.y.y secret=123456 +
-  +
-где y.y.y.y - адрес радиуса и secret - пароль к радиусу. +
- +
-Для того чтобы hotspot работал с Abills ,- нужно cоздать в биллинге сервер доступа : +
-** Настройки -> Сервер доступа -> "​+"​ -> IP:(IP Mikrotik) ,​тип:​MikroTik** +
- +
-{{youtube>​large:​3ezFzH14k8c|ABillS:​ настройка Mikrotik+HotSpot+ABillS}} +
- +
- +
- +
- +
- +
- +
-=====Автонастройщик mikrotik_configure===== +
- +
-Программа авто настройки mikrotik дает возможность настроить микротик удалённо,​ а также после настройки сохранить конфигурацию для последующей заливки в однотипные сервера (доступна в коммерческой версии системы)  +
- +
- +
-=====Дополнительно===== +
-  * Выставление скорости с возможностью быстрого серфинга +
-Для это используем RADIUS параметр Mikrotik-Rate-Limit. Для примера скорость 1 мегабит. Данный параметр стоит занести в радиус пары тарифного плана (''/​ Система/​ Internet/ Тарифные планы/ Добавить/''​) : +
- +
-  Mikrotik-Rate-Limit=1M 1536k 768k 8 8 1M +
- +
- +
-  rx-rate – 1 Mbps +
-  rx-burst-rate – 1536 kbps +
-  rx-burst-threshold – 768 kbps +
-  rx-burst-time – 8 секунд +
-  priority – 8 +
-  rx-rate-min – 1 Mbps +
- +
-Т.е. я ограничиваю полосу пропускания канала в 1 мегабит (как гарантированную,​ так и максимальную),​ но если пользователь за 8 секунд не превышает 768 кбит, то ему может быть отдано 1.5 мегабита. +
- +
-**При использовании данного скорость интервалов не будет учитиватсья и соответственно нельзя будет построить скоростя с учётом времени суток (Например день/​ночь) **     +
- +
-===Проверка синхронности сессий микротика с билингом=== +
- +
-Программа проверяет активные сессии на микротике и сравнивает их с билингом. Не зарегистрированные в биллинге сессии программа отключает. Также есть возможность просмотр активных сессий микротика. +
- +
-  /​usr/​abills/​libexec/​billd checkmikro +
- +
- +
-^NAS_IDS='​1,​2' ​  | Список серверов доступа. По умолчанию скорость просматривается на всех ​ | +
-^DEBUG=1..7 ​     | Режимы отладки. \\ **1** - Отображать базовые сообщения программы и писать лог команд для | +
- +
- +
-===Видео пособие по настройке Mikrotik=== +
-\\ +
- +
-{{youtube>​large:​M6YU9g9W9VU|ABillS:​ Установка и настройка коммерческой версии}} +
- +
-\\ +
-==Другие ресурсы == +
-  * [[http://​abills.net.ua/​forum/​viewforum.php?​f=45|Обсуждение]] +