Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:nas:mikrotik:dhcp [2015/12/05 17:50]
127.0.0.1 внешнее изменение
abills:docs:nas:mikrotik:dhcp [2019/06/21 15:13] (текущий)
asmodeus
Строка 1: Строка 1:
 ====Mikrotik DHCP==== ====Mikrotik DHCP====
 Для управления данным функционалом нужен модуль [[abills:​docs:​modules:​dhcphosts:​ru?&#​freeradius_dhcp|Freeradius DHCP]]. \\ Для управления данным функционалом нужен модуль [[abills:​docs:​modules:​dhcphosts:​ru?&#​freeradius_dhcp|Freeradius DHCP]]. \\
 +\\
 +**Начиная в версии 0.74 есть альтернатива для Freeradius DHCP. - управление через ''​mikrotik_dhcp_leases.pl''​**\\
 +[[abills:​docs:​nas:​mikrotik:​dhcp_leases| Управление DHCP серверами на Mikrotik'​e ]]\\
  
-перед началом работ настройте [[abills:​docs:​nas:​mikrotik:​freeradius|Freeradius c Mikrotik]] 
  
 +перед началом работ настройте [[abills:​docs:​nas:​mikrotik:​freeradius|Freeradius c Mikrotik]]
  
 При данной схеме работы DHCP  запросы клиентов приходят на Mikrotik DHCP,  затем Mikrotik их трансформирует в radius запрос и отправляет на RADIUS ​ сервер где происходит авторизация пакета и отправка результата на Mikrotik. После получения результата от RADIUS ​ сервера Mikrotik формирует пакет DHCP  для клиента. При данной схеме работы DHCP  запросы клиентов приходят на Mikrotik DHCP,  затем Mikrotik их трансформирует в radius запрос и отправляет на RADIUS ​ сервер где происходит авторизация пакета и отправка результата на Mikrotik. После получения результата от RADIUS ​ сервера Mikrotik формирует пакет DHCP  для клиента.
Строка 18: Строка 21:
  
   $AUTH{mikrotik_dhcp}='​Mac_auth';​   $AUTH{mikrotik_dhcp}='​Mac_auth';​
 +  $ACCT{mikrotik_dhcp}='​Mac_auth';​
  
 **данная опция должна быть обязательно под опцией ''​%AUTH=();''​** **данная опция должна быть обязательно под опцией ''​%AUTH=();''​**
  
  
-Так как DNS, маска сети и шлюз прописываются на Mikrotik и их нельзя изменить через ​radius, для гостевых сетей можно отправлять только параметры длительности lease для IP адреса и использовать часть сети как гостевые адреса для dhcp. \\+Так как DNS, маска сети и шлюз прописываются на Mikrotik ​(''/​ IP / DHCP Servers/ Networks ''​) ​и их нельзя изменить через ​RADIUS. 
 + 
 +Для гостевых сетей можно отправлять только параметры длительности lease для IP адреса и использовать часть сети как гостевые адреса для dhcp. \\
 **Пример параметров для гостевого пула** **Пример параметров для гостевого пула**
  
   $conf{DHCPHOSTS_GUEST_POOLS}='​0:​16:​Session-Timeout=300';​   $conf{DHCPHOSTS_GUEST_POOLS}='​0:​16:​Session-Timeout=300';​
  
-**Параметр Session-Timeout=300 - время через которое система переспрашивает у RADIUS сервера статус клиента. ​ Если не указывать,​ Mikrotik ​ обновляет сессию не запрашивая статус**+**Параметр Session-Timeout=300 - время через которое система переспрашивает у RADIUS сервера статус клиента. ​ Если не указывать,​ Mikrotik ​ обновляет сессию не запрашивая статус**. Данный параметр должен быть такой же как и NAS Alive.
  
 **Настройка DHCP** **Настройка DHCP**
 +
 +**через терминал**
 +<​code>​
 +  /ip dhcp-server add interface=ether2 address-pool=static-only authoritative=after-2sec-delay use-radius=yes lease-time=5min
 +  /radius add address=192.168.1.62 secret=secretpass timeout=300ms authentication-port=1812 accounting-port=1813 service=dhcp
 +</​code>​
  
 с помощью Winbox\\ с помощью Winbox\\
Строка 40: Строка 52:
 \\ \\
  
-Если все правильно настроено на RADIUS сервер приходят следующие пары.+Если все правильно настроено на RADIUS сервер приходят следующие пары ​в дебаг режиме (radiusd -X).
  
  
Строка 72: Строка 84:
 **Пример выражения** \\ **Пример выражения** \\
  
-  $conf{DHCPHOSTS_EXPR}='​Agent-Circuit-Id:​0x0004(\S{4})\d{2}([0-9a-f]{2}):​VLAN,​PORT;​Agent-Remote-Id:​0x0006([0-9a-f]{12}):​MAC;'​+  $conf{AUTH_EXPR}='​Agent-Circuit-Id:​0x0004(\S{4})\d{2}([0-9a-f]{2}):​VLAN,​PORT;​Agent-Remote-Id:​0x0006([0-9a-f]{12}):​MAC;'​
   . '​Agent-Circuit-Id:​0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$:​VLAN,​PORT_DEC;​Agent-Remote-Id:​0x([0-9a-f]{12})$:​MAC;';​   . '​Agent-Circuit-Id:​0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$:​VLAN,​PORT_DEC;​Agent-Remote-Id:​0x([0-9a-f]{12})$:​MAC;';​
 +  ​
 +  ​
 +[[abills:​docs:​modules:​dhcphosts_expr:​ru|примеры выражений]]
 ====Шейпер==== ====Шейпер====
  
Строка 82: Строка 97:
  
  
-если включить опцию **$conf{DHCPHOSTS_EXTERNAL_SHAPPER}=1;​** система будет производить шейпер через внешние табличные правила и добавлять абонента в адрес лист через+если включить опцию ​ ​**$conf{INTERNET_EXTERNAL_SHAPPER}=1;​** (для старых версий ​**$conf{DHCPHOSTS_EXTERNAL_SHAPPER}=1;​**система будет производить шейпер через внешние табличные правила и добавлять абонента в адрес лист через ​
  
         Mikrotik-Address-List = "​CLIENTS_67"​         Mikrotik-Address-List = "​CLIENTS_67"​
Строка 95: Строка 110:
  
 {{:​abills:​docs:​nas:​mikrotik:​dhcp_relay.png|}} {{:​abills:​docs:​nas:​mikrotik:​dhcp_relay.png|}}
 +
 +
 +=====Подсчет трафика=====
 +
 +Подсчет трафика осуществляется через модуль IPN. 
 +====возможные ошибки====
 +
 +**Нет связи с радиусом **
 +
 +  /log print
 +  17:28:45 dhcp,error ONU: radius authentication failed for 40:​ED:​98:​60:​33:​59:​ RADIUS server is not responding ​
 +
 +**radiusd -X**
 +
 +  Access-Request packet from host 172.30.9.1 port 35496, id=32, length=111
 +        NAS-Port-Type = Ethernet
 +        NAS-Port = 2211448818
 +        Calling-Station-Id = "​1:​40:​ed:​98:​60:​33:​59"​
 +        Called-Station-Id = "​ONU"​
 +        User-Name = "​40:​ED:​98:​60:​33:​59"​
 +        User-Password = "​P\301\377cJ\237\255\244\302\350\2230\3370=\335"​
 +       ​^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 +        NAS-Identifier = "​MikroTik"​
 +        NAS-IP-Address = 172.30.9.1
 +  ​
 +  Sending Access-Accept of id 31 to 172.30.9.1 port 50139
 +        Framed-IP-Address = 10.0.0.2
 +        Mikrotik-Address-List = "​CLIENTS_1"​
 +        Session-Timeout = 600
 +
 +
 +
 +скорее всего секретный ключ radius secret не совпадает. ​
 +Нужно повторно внести в поле пароля управления RADIUS секрет и перезагрузить радиус,​ также этот пароль нужно обновить на микротике
 +
 +