Биллинговая система Nodeny
03 Мая 2024, 23:43:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 3 [4] 5
  Печать  
Автор Тема: Mikrotik API  (Прочитано 23563 раз)
sov
Постоялец
***

Карма: 0
Offline Offline

Сообщений: 101


Просмотр профиля
« Ответ #45 : 22 Октября 2014, 20:13:05 »

Документация по модулю планируется?

А то вот купил, настроил по своему разумению, а оно не работает как положено. И сижу, чешу репу - какую из настроечек, предполагаемую автором, я не удосужился догадаться включить.

Неужели написать десяток строк краткого описания займёт так много времени?

PS В конфиге есть параметр target / target-addresses для старых/новых микротиков. Как определить старость микротика?

PSS Клиент по PPPoE законнектился, очередь с его адресом на микротике имеется, в гудбойзах его адреса нет (поскольку нет ни одной услуги и доступ в биллинге запрещён). При этом интернет у клиента есть!
« Последнее редактирование: 22 Октября 2014, 20:41:42 от sov » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #46 : 22 Октября 2014, 22:15:58 »

Насколько я помню, изначально ко мне кто-то обратился с просьбой написать модуль и сам готов был его протестировать. Я написал по аналогии с Н50, только исправил баги. Человек протестировал и сказал "все ок". Я выложил модуль и получил комментарий:
Цитировать
ничего сложного.
1 распаковать модуль и положить в папку modules
2 подредактировать create.cfg.mikrotik.cfg.pm
3 создать юзера на микротике и пропустить IP биллинга через фаервол + IP микротика через фаервол биллинга
4 запустить модуль (прописать в rc.local  строку "/usr/bin/perl /usr/local/nodeny/noserver.pl -g=mikrotik.cfg.pm -d &")
получите управление шейпером и аксеслистом.
Поскольку никто не жаловался на проблемы - я и забыл кому изначально делал, так бы попросил чтоб он написал что менял в микротике. Если он сам найдется - пусть здесь напишет, я потом перенесу в документацию
Записан
sov
Постоялец
***

Карма: 0
Offline Offline

Сообщений: 101


Просмотр профиля
« Ответ #47 : 23 Октября 2014, 07:16:19 »

Да понятно, что там ничего сложного. Тем более, что на предыдущих версиях Нодени я микротик использовал, и догадываюсь, как оно настраивается. Но вот тупанул, забыл что-то где-то включить. Не работает. Тут-бы и свериться с инструкцией, ан нет её! Грустный
Записан
YuSHa
NoDeny
Постоялец
*

Карма: 6
Offline Offline

Сообщений: 183


318444293
Просмотр профиля Email
« Ответ #48 : 23 Октября 2014, 09:43:59 »

1 - В конфиге есть параметр target / target-addresses для старых/новых микротиков.  новые это 6 ветка. старые 5-я и ниже.
2 - Если pppoe поднялось - значит связка биллинг - радиус сервер - радиус клиент(микротик) работает. это уже пол дела.
3 - далее не забываем включить управление по API тут
Код:
> ip service enable api
4 - Инет у клиентов можно отрубить несколькими способами
    а - натить только тех, кто есть в списке good boys. пример:
Код:
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether5-ins src-address=10.10.0.0/16 src-address-list=goodboys
    б - в фаерволе сделать несколько правил на акссес для определённых IP (перевод на заглушку, приват, etc.) следующим же правилом разрешить forvard только для тех, кто в address-list куда угодно. последним блокируем всех и везде

З.Ы. пример для перевода на заглушку:
Код:
/ip firewall nat
add action=dst-nat chain=dstnat disabled=no dst-address=!192.168.110.150 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=192.168.110.150 to-ports=8080
НО не забываем поменять порт web сервера самого микротика. а то будете биться в агонии и говорить, что не работает.

как попустит с работой постараюсь сделать пошаговый мануал
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #49 : 23 Октября 2014, 09:58:13 »

YuSHa, спасибо
Записан
sedo26
Постоялец
***

Карма: 0
Offline Offline

Сообщений: 100


Просмотр профиля Email
« Ответ #50 : 23 Октября 2014, 11:13:33 »

Так же купил n+ модуль микротика, работает стабильно.
Вопрос по 49(50) модулю микрота, какие ошибки можно исправить, чтоб более корректно работал с 400 и больше кол-вом клиентов, иногда прописывает некорректно нарезку на клиента.
Записан
sov
Постоялец
***

Карма: 0
Offline Offline

Сообщений: 101


Просмотр профиля
« Ответ #51 : 23 Октября 2014, 21:16:05 »

Сбросил микротик в ноль, настроил заново и всё заработало Улыбающийся

Ниже привожу заготовку для мануала. Надеюсь, YuSHa и прочие дополнят и поправят, если я ошибся или сделал неоптимальные настройки. И добавка для переброски на заглушку тоже не помешает.

Исходные данные для примера:

Сервер биллинга - 192.168.1.1
Микротик - 192.168.1.2
Сеть, обслуживаемая микротиком - 192.168.2.0/24
Микротик обслуживает клиентов по PPPoE

1. Добавляем в биллинге новый сателлит с сетью 192.168.2.0/24

2. Добавляем клиента для микротика в настройках Radius-а  - файл clients.conf:
client 192.168.1.2 {
  secret = abrakadabra # это пароль - заменить на свой
  shortname = mikrotik1
  nastype = other
}

Перезапускаем радиус

3. В файрволе биллинга пропускаем IP микротика

4. Модуль распаковываем в папку /usr/local/nodeny/modules/mikrotik

5. Редактируем файл create.cfg.mikrotik.cfg.pm:
$host = '192.168.1.2';
$user = 'mikrotik';
$pass = 'slavyanskij_shkaf'; # это пароль - заменить на свой

6. Возвращаемся в каталог /usr/local/nodeny и делаем perl install.pl -x

7. Делаем автозапуск модуля, прописывая в rc.local  строку "/usr/bin/perl /usr/local/nodeny/noserver.pl -g=mikrotik.cfg.pm -d &"

8. Сбрасываем микротик на заводские настройки

9. Заходим на управление микротиком и выполняем следующие команды (это в терминале, но можно их-же через GUI винбокса):

/user add name=mikrotik group=full password=slavyanskij_shkaf

/ip address
add address=192.168.2.1/24 interface=ether2-master-local network=\
    192.168.2.0

/ip dns
set allow-remote-requests=yes servers=8.8.8.8,77.88.8.8

/ip pool
add name=pool2 ranges=192.168.2.2-192.168.2.254

/radius
add address=192.168.1.1 secret=abrakadabra service=ppp

/ppp aaa
set interim-update=30s use-radius=yes

/ppp profile
add local-address=pool2 name=pppoe-client

/interface pppoe-server server
add authentication=chap,mschap2 default-profile=pppoe-client disabled=no \
    interface=ether2-master-local max-mru=1480 max-mtu=1480 mrru=1600 \
    service-name=pppoe-server

/ip firewall nat
add action=masquerade chain=srcnat \
    out-interface=ether1-gateway src-address-list=goodboys

10. В очередях (Queues) должен появиться список адресов со скоростями, а в Address-List - список адресов, которым разрешён доступ в интернет.

11. Добавляем в биллинге клиента для созданного в п.1 сателлита и пытаемся войти в интернет (настроив на компьютере Высокоскоростное соединение). В биллинге запрещаем/разрешаем доступ для клиента, меняем скорости, и проверяем, как это всё отрабатывает.
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #52 : 15 Апреля 2015, 09:53:05 »

Как настроить модуль, чтобы Микротик мог обслуживает клиентов по DHCP? А то я Radius не использую
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #53 : 15 Апреля 2015, 12:16:42 »

Судя по Queues в микротике, данный модуль не умеет разделять трафик в Украину и Мир. Или может?
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #54 : 20 Апреля 2015, 01:03:57 »

Как настроить модуль, чтобы Микротик мог обслуживает клиентов по DHCP? А то я Radius не использую
В create.noserver.hw_mikrotik.pm описаны обычные команды управление микротиком, через терминал:
Цитировать
 
# добавление и удаление IP в ip/firewall/address-list
        $m->set_tag();
        my $id = $list_id;
        map{ $id = $id*256 + $_ } split /\./, $ip;
        my @cmd = $action? (
            "/ip/firewall/address-list/add",
            "=list=$list_name",
            "=address=$ip",
            "=comment=$id",
            "=disabled=no",
            ".tag=".$m->{tag}
        ) : (
            "/ip/firewall/address-list/remove",
            "=.id=$id",
            ".tag=".$m->{tag}

Помогите добавить IP в /ip/dhcp-server/lease для DHCP+IP+MAC:
Цитировать
#Пример команда привязки IP+МАС в микротике
/ip dhcp-server lease add address=10.0.0.184 mac-address=00:03:FD:HG:CA:00 address-list=goodboys insert-queue-before=167772343 comment=Pepkin

Может так:
Цитировать
$m->set_tag();
        my $id = $list_id;
        map{ $id = $id*256 + $_ } split /\./, $ip;
        my @cmd = $action? (
            "/ip/dhcp-server/lease/add",
            "=address=$ip",
            "=mac-address=$mac",
            "=list=$list_name",
            "=insert-queue-before=$list_queue",
            "=comment=$id",
            "=disabled=no",
            ".tag=".$m->{tag}
        ) : (
            "/ip/dhcp-server/lease/remove",
            "=.id=$id",
            ".tag=".$m->{tag}
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #55 : 20 Апреля 2015, 01:06:29 »

Если развивать тему, то можно:
1) Добавлять pool:
Цитировать
/ip pool add name=dhcp-pool-1 ranges=192.168.1.100-192.168.1.254
2) Добавляем DHCP сервер на порт ether2 с pool`ом выше:
Цитировать
/ip dhcp-server add address-pool=dhcp-pool-1 disabled=no interface=ether2 name=dhcp1
3) Присваиваем IP на ether2:
Цитировать
/ip address add address=192.168.1.1/24 interface=ether2
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #56 : 20 Апреля 2015, 01:21:44 »

Как настроить модуль, чтобы Микротик мог обслуживает клиентов по DHCP? Это нужно для автономной работы Mikrotik`a в случае падения билинга и для тех кто использует модуль DHCP. Например: билинг стоит в Уругвае, а Mikrotik в Румынии. И тут билинг падает, время аренды IP заканчивается, и Интернет отваливается, до тех пор, пока билинг не восстановится. Вся проблема в том, что DHCP стоит на сервере с билингом, при том, что Mikrotik сам умеет раздавать адреса.
После осмотра кода модуля mikrotik, я понял, что модуле не хватает строк для добавления IP+MAC в Mikrotik.
В create.noserver.hw_mikrotik.pm описаны обычные команды управление, через терминал микротика:
Цитировать
 
# добавление и удаление IP в ip/firewall/address-list
        $m->set_tag();
        my $id = $list_id;
        map{ $id = $id*256 + $_ } split /\./, $ip;
        my @cmd = $action? (
            "/ip/firewall/address-list/add",
            "=list=$list_name",
            "=address=$ip",
            "=comment=$id",
            "=disabled=no",
            ".tag=".$m->{tag}
        ) : (
            "/ip/firewall/address-list/remove",
            "=.id=$id",
            ".tag=".$m->{tag}

Помогите добавить IP+MAC в /ip/dhcp-server/lease для DHCP+IP+MAC:
Цитировать
#Пример команда привязки IP+МАС в терминале микротика:
/ip dhcp-server lease add address=10.0.0.184 mac-address=00:03:FD:HG:CA:00 address-list=goodboys insert-queue-before=167772343 comment=Pepkin

Может так:
Цитировать
$m->set_tag();
        my $id = $list_id;
        map{ $id = $id*256 + $_ } split /\./, $ip;
        my @cmd = $action? (
            "/ip/dhcp-server/lease/add",
            "=address=$ip",
            "=mac-address=$mac",
            "=list=$list_name",
            "=insert-queue-before=$list_queue",
            "=comment=$id",
            "=disabled=no",
            ".tag=".$m->{tag}
        ) : (
            "/ip/dhcp-server/lease/remove",
            "=.id=$id",
            ".tag=".$m->{tag}
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #57 : 20 Апреля 2015, 01:28:58 »

Перенесено в : htt_://forum.nodeny.com.ua/index.php?topic=448.90
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #58 : 27 Июня 2015, 02:34:00 »

1 - В конфиге есть параметр target / target-addresses для старых/новых микротиков.  новые это 6 ветка. старые 5-я и ниже.
2 - Если pppoe поднялось - значит связка биллинг - радиус сервер - радиус клиент(микротик) работает. это уже пол дела.
3 - далее не забываем включить управление по API тут
Код:
> ip service enable api
4 - Инет у клиентов можно отрубить несколькими способами
    а - натить только тех, кто есть в списке good boys. пример:
Код:
/ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=ether5-ins src-address=10.10.0.0/16 src-address-list=goodboys
    б - в фаерволе сделать несколько правил на акссес для определённых IP (перевод на заглушку, приват, etc.) следующим же правилом разрешить forvard только для тех, кто в address-list куда угодно. последним блокируем всех и везде

З.Ы. пример для перевода на заглушку:
Код:
/ip firewall nat
add action=dst-nat chain=dstnat disabled=no dst-address=!192.168.110.150 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=192.168.110.150 to-ports=8080
НО не забываем поменять порт web сервера самого микротика. а то будете биться в агонии и говорить, что не работает.

как попустит с работой постараюсь сделать пошаговый мануал
Можно увидеть примеры? -"б - в фаерволе сделать несколько правил на акссес для определённых IP (перевод на заглушку, приват, etc.)"
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #59 : 27 Июня 2015, 22:19:42 »

В Mikrotik на 1м порту, что смотрит в сеть, создал 2а DHCP server`а на реальные и серые IP-адреса. Клиенту с серым IP, дает и блокирует доступ в Интернет. При выдаче клиенту белого IP адреса, адрес выдается правильно, но доступа в интернет нет.

По сути, в связке NoDeny+Mikrotik, не работает
а)доступ в Интернет при белом IP
б)перевод на заглушку при блокировке доступа
в)при смене IP адреса в билинге с серого на белый в Firewall-Address List добавляется строка "goodboys 216.55.77.246"(БЕЗ COMMENT) с буквой D, который нельзя исправить. В Queues не создается правило на скорость. При этом не удалилась строка с серым IP "4462739708 goodboys 10.0.0.252". У белого IP, доступа в интернет нет.
При смене с белого IP адреса на серый в Firewall-Address List удаляется "goodboys 216.55.77.246" и выдает доступ в Интернет.
« Последнее редактирование: 27 Июня 2015, 22:53:02 от k291 » Записан
Страниц: 1 2 3 [4] 5
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!