Биллинговая система Nodeny

Главная категория => Модули NodenyPlus => Тема начата: Efendy от 05 Мая 2015, 11:31:02



Название: Микротик
Отправлено: Efendy от 05 Мая 2015, 11:31:02
В модуле Микротика появились 3 дополнительных параметра:

Код:
$do_not_use_shape = 0;          # 1 - если не нужно шейпить клиентов

$test_whithout_connect = 0;     # 1 - тестирование без соединения с микротиком

$pause_after_x_bytes = 10000;   # пауза каждые x байт (если тупит микротик)

Установите в 1 параметр $do_not_use_shape, если НЕ хотите, чтобы микротик управлял скоростью абонентов - это уменьшит нагрузку на микротик.

У одного из покупателей NoDeny обнаружилась проблема, что его микротики не успевали обрабатывать команды по API - пришлось после отосланной пачки данных делать паузу. Размер пачки данных задается параметром $pause_after_x_bytes. 0 - не делать никогда паузу


Название: Re: Микротик
Отправлено: Tooreagen от 17 Августа 2015, 16:54:23
А есть описание как модуль устанавливать и настраивать?


Название: Re: Микротик
Отправлено: Efendy от 19 Августа 2015, 11:07:37
http://forum.nodeny.com.ua/index.php?topic=2394.msg26681#msg26681
http://forum.nodeny.com.ua/index.php?topic=2394.msg26686#msg26686  
спасибо sov и YuSHa.  Сегодня постараюсь перепроверить на микротике на виртуальной машине

P.S. Протестил http://nodeny.com.ua/wiki/index.php/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%82%D0%B8%D0%BA


Название: Re: Микротик
Отправлено: Efendy от 21 Августа 2015, 15:47:40
Обновил доку - добавил информацию по заглушке. На самом деле нетривиальная задача. В примере от YuSHa предусматривается, что сервер с админкой NoDeny находится в DMZ (не в сети с абонентами). Поэтому там работает правило - всех заблокированных натим в dst-nat этого сервера.

Если же сервер находится не в DMZ - такое не прокатит, поскольку сервер будет слать ответы напрямую абонентам, минуя микротик.

Пришлось взяться за доку микротика и реализовать такую с маркировкой пакетов и нат в ip в сети админки и абнентов


Название: Re: Микротик
Отправлено: Efendy от 23 Августа 2015, 02:19:38
Пишу доку по mikrotik + dhcp + radius. Все работает, кроме аккаунтинга. Если кто реально знает как включить аккаунтинг для dhcp - расскажите пожалуйста. Речь идет именно о dhcp. Вот ответ радиуса, который я посылаю на микротик:

Код:
	Framed-IP-Address = 10.1.0.10
Session-Timeout = 600
Acct-Interim-Interval = 60

вот конфиг микротика:

Код:
/ip address
add address=10.1.0.11/16 interface=ether1 network=10.1.0.0
/ip dhcp-server
add disabled=no interface=ether1 name=dhcp1 use-radius=yes
/ip dhcp-server network
add dns-server=8.8.4.4 gateway=10.1.0.11 netmask=16
/radius
add address=10.1.0.1 secret=hardpass5 service=dhcp


Название: Re: Микротик
Отправлено: k291 от 24 Августа 2015, 23:15:10
немного дополню доку в вики:
Mysql процедуры:
Код:
shell> mysql -u root -p
Enter password: hardpass

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
| nodeny   |
+----------+

mysql> USE nodeny

........ дальше по инструкции.......


Название: Re: Микротик
Отправлено: k291 от 14 Октября 2015, 21:28:40
Как по мне, остался большой минус.
Если клиент не в сети, его IP не попадает в Mikrotik: IP-Firewall-Address Lists. И если биллинг не доступен/падает, то IP клиента которого нет в Address Lists не получит доступ в Интернет.
Надо добавлять все IP в IP-Firewall-Address Lists, а удалять их по значению "Заблокирован=ДА". В этом случае мы получим надежный роутер(Mikrotik) с которым клиенты не увидят упавший билинг.


Название: Re: Микротик
Отправлено: Warlock от 15 Октября 2015, 08:17:08
Так может лучше сделать так, чтоб билинг не падал? В этом случае Вы получите надежный билинг.


Название: Re: Микротик
Отправлено: k291 от 15 Октября 2015, 22:25:08
Так может лучше сделать так, чтоб билинг не падал? В этом случае Вы получите надежный билинг.
Лучше, сделать билинг и роутер(микротик) надежный.
Ситуации бывают разные. А с данным дополнением, мы не будем думать о том, жив ли билинг, запущенны ли модуля, MySQL, есть ли место на винтах сервера, есть ли электричество, хватит ли UPSа, не пропадет ли Интернет у клиентов, если что либо обновить, и т.д.


Название: Re: Микротик
Отправлено: Warlock от 16 Октября 2015, 09:19:43
А с данным дополнением, мы не будем думать о том, жив ли билинг, запущенны ли модуля, MySQL, есть ли место на винтах сервера, есть ли электричество, хватит ли UPSа, не пропадет ли Интернет у клиентов, если что либо обновить, и т.д.
Ну так в том и дело что ситуации разные. Нужно постоянно все мониторить.. у меня все мониторится через zabbix, с смс уведомлением о срабатывании критических триггеров.


Название: Re: Микротик
Отправлено: Tooreagen от 28 Октября 2015, 11:01:20
Ребят подскажите что может быть. Настраивал модуль микротика, все нормально работало до момента когда нужно установить новый конфиг Nodeny. Останавливается на строке:

Код:
--- Модуль dhcp ---

И все...
После нажатия Ctrl+C показывает такое сообщение:

Код:
sql error. Run with -v at /usr/local/nodeny/modules/dhcp/run.pl line 27.
Модуль DHCP переустанавливал.

Что может быть, помогите.


Название: Re: Микротик
Отправлено: Tooreagen от 29 Октября 2015, 08:20:57
Ребят подскажите что может быть. Настраивал модуль микротика, все нормально работало до момента когда нужно установить новый конфиг Nodeny. Останавливается на строке:

Код:
--- Модуль dhcp ---

И все...
После нажатия Ctrl+C показывает такое сообщение:

Код:
sql error. Run with -v at /usr/local/nodeny/modules/dhcp/run.pl line 27.
Модуль DHCP переустанавливал.

Что может быть, помогите.
Все заработало. Обновил биллинг, хотя расхождение ревизий было около 2-3


Название: Re: Микротик
Отправлено: Tooreagen от 04 Ноября 2015, 17:07:06
Как по мне, остался большой минус.
Если клиент не в сети, его IP не попадает в Mikrotik: IP-Firewall-Address Lists. И если биллинг не доступен/падает, то IP клиента которого нет в Address Lists не получит доступ в Интернет.
Надо добавлять все IP в IP-Firewall-Address Lists, а удалять их по значению "Заблокирован=ДА". В этом случае мы получим надежный роутер(Mikrotik) с которым клиенты не увидят упавший билинг.
Кстати это очень большой +

Вопрос! Как убрать NAS на FreeBSD и поставить микротик чтобы абоны не заметили? Я думаю если подключить микротик с уже загруженными в него IP+MAC то никто ничего не заметит.


Название: Re: Микротик
Отправлено: k291 от 21 Ноября 2015, 15:18:43
2 Efendy: могли бы вы добавить в модуль возможность отправлять(возможно по группам) все IP+MAC в микротик, чтобы в случае недоступности билинга, клиенты продолжали получать доступ в интернет.


Название: Re: Микротик
Отправлено: Efendy от 22 Ноября 2015, 11:38:47
2 Efendy: могли бы вы добавить в модуль возможность отправлять(возможно по группам) все IP+MAC в микротик, чтобы в случае недоступности билинга, клиенты продолжали получать доступ в интернет.
http://forum.nodeny.com.ua/index.php?topic=2718.0


Название: Re: Микротик
Отправлено: Pa4ka от 26 Ноября 2015, 18:04:34
А как реализовано если много вланов на микротике должно быть?
Есть в районе коммутатор. Для NASа хотим поставить микротик.
Но щас реализовано просто VLAN на группу пользователей каждый влан свой пул адресов в бд.
Я запустил на виртуалке микротик и сервер, настроил, но он выбирает ИПы из другого пула адресов.
1. Как заставить микротик выдавать для конкретного влана конкретный пул адресов из базы?


Название: Re: Микротик
Отправлено: Efendy от 26 Ноября 2015, 18:50:18
Как раз недавно такое настроил одной сети. При этом были внесены небольшие изменения:

1) в таблице mac_uid поле mac было увеличено до 16 символов - перед маком сохраняется номер вилана.
2) файл радиуса /usr/local/etc/raddb/sql.conf:

Код:
 
        authorize_check_query = "call radcheck('%{User-Name}')"                       
        authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')"
        postauth_query = "call radupdate('%{User-Name}','%{reply:Framed-IP-Address}',\
                '%{Called-Station-Id}', 'nas=%{NAS-IP-Address}')"
        accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\
                '%{Called-Station-Id}', 'nas=%{NAS-IP-Address}')"}
микротик в параметре Called-Station-Id присылает имя ... эээ... короче, на каждом вилане настроен dhcp с именем dhcp_номерvlan. Запросы с этого вилана будут идти на радиус, например, так: Called-Station-Id = dhcp_15. Здесь 15 - номер vlan

3) в mysql процедурах я сделал "отрезание" префикса dhcp_ (обратите внимание, что это имя прописано жестко в процедурах) и по оставшемуся числу берем подсетку. Например, для 15 получим  10.0.15.xx

Сами процедуры:

Код:
alter table mac_uid change mac `mac` varchar(16) DEFAULT NULL;

DROP FUNCTION IF EXISTS `get_ip_w_net`;
DELIMITER $$
CREATE FUNCTION `get_ip_w_net` (user_id INTEGER UNSIGNED, net INTEGER UNSIGNED)
    RETURNS VARCHAR(15) NO SQL
BEGIN
    DECLARE user_ip VARCHAR(15);
    DECLARE real_ip VARCHAR(15);

    SELECT net * 256 INTO net;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id AND type='static' LIMIT 1;
    IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;

    UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300
    WHERE id = (SELECT id FROM (
        (SELECT id, uid FROM ip_pool
        WHERE uid = 0
            AND type = 'dynamic'
            AND realip = IF(real_ip>0,1,0)
            AND ip >= (INET_ATON('10.0.0.0') + net)
            AND ip <= (INET_ATON('10.0.0.255') + net)
        LIMIT 1)
            UNION
        (SELECT id, uid FROM ip_pool
        WHERE uid = user_id
            AND type = 'dynamic'
            AND realip = IF(real_ip>0,1,0)
            AND ip >= (INET_ATON('10.0.0.0') + net)
            AND ip <= (INET_ATON('10.0.0.255') + net)
        LIMIT 1)
    ) AS tbl ORDER BY uid DESC LIMIT 1);

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id
        AND ip >= (INET_ATON('10.0.0.0') + net)
        AND ip <= (INET_ATON('10.0.0.255') + net)
        LIMIT 1;
    RETURN user_ip;
END$$
DELIMITER ;

DROP FUNCTION strSplit;
CREATE FUNCTION strSplit(x MEDIUMTEXT, delim MEDIUMTEXT, pos int)
    RETURNS MEDIUMTEXT
RETURN
    TRIM(BOTH '\r' FROM TRIM(
        REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
                LENGTH(SUBSTRING_INDEX(x, delim, pos - 1)) + 1), delim, '')
    ));


DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64), IN net VARCHAR(64))
BEGIN
    DECLARE usr_mac VARCHAR(16);
    DECLARE usr_ip VARCHAR(15);
    DECLARE usr_id INT;
    DECLARE usr_state VARCHAR(10);
    DECLARE add_attr MEDIUMTEXT;
    DECLARE line MEDIUMTEXT;
    DECLARE i INT DEFAULT 1;

    SELECT REPLACE(net, 'dhcp_', '') INTO net;
    SELECT REPLACE(login, ':', '') INTO usr_mac;
    SELECT CONCAT(net, usr_mac) INTO usr_mac;
    SELECT uid INTO usr_id FROM mac_uid WHERE mac=usr_mac;
    IF usr_id IS NOT NULL AND usr_id>0 THEN
        SELECT get_ip_w_net(usr_id, net) INTO usr_ip;
        UPDATE mac_uid SET ip=0 WHERE ip=INET_ATON(usr_ip) AND uid<>usr_id;
        UPDATE mac_uid SET ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP() WHERE uid=usr_id;
    ELSE
        UPDATE mac_uid SET ip=0 WHERE time < (UNIX_TIMESTAMP()-3600);
        START TRANSACTION;
        SELECT INET_NTOA(ip) INTO usr_ip FROM ip_pool p WHERE uid=0 AND type='dynamic'
            AND NOT EXISTS (SELECT ip FROM mac_uid WHERE ip=p.ip)
            AND ip >= (INET_ATON('10.0.0.0') + net*256)
            AND ip <= (INET_ATON('10.0.0.255') + net*256)
            ORDER BY RAND() LIMIT 1 FOR UPDATE;
        INSERT INTO mac_uid VALUES(
            NULL, usr_mac, INET_ATON(usr_ip), 0, UNIX_TIMESTAMP(), 0, 0, 0)
        ON DUPLICATE KEY
            UPDATE ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP();
        COMMIT;
        SELECT INET_NTOA(ip) INTO usr_ip FROM mac_uid WHERE mac=usr_mac;
    END IF;

    SELECT radius_attr INTO add_attr FROM users_services
        WHERE uid=usr_id AND tags LIKE '%,inet,%' LIMIT 1;

    SELECT NULL, login, 'Framed-IP-Address', usr_ip, '=';
    SELECT NULL, login, 'Session-Timeout', '900', '=';

    attr_loop: WHILE TRUE DO
        SELECT strSplit(add_attr, '\n', i) INTO line;
        IF LENGTH(line) = 0 OR i > 20 THEN LEAVE attr_loop; END IF;
        IF line LIKE '%+=%' THEN
            SELECT NULL,login,strSplit(line, '+=', 1),strSplit(line, '+=', 2),'+=';
        ELSEIF line LIKE '%=%' THEN
            SELECT NULL,login,strSplit(line, '=', 1),strSplit(line, '=', 2),'=';
        END IF;
        SET i = i + 1;
    END WHILE;
END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radupdate`;
DELIMITER $$
CREATE PROCEDURE `radupdate`(
    IN login VARCHAR(64), IN ipa VARCHAR(16), IN net VARCHAR(64), IN properties VARCHAR(255))
BEGIN
    DECLARE usr_mac VARCHAR(16);
    SELECT REPLACE(login, ':', '') INTO usr_mac;
    SELECT REPLACE(net, 'dhcp_', '') INTO net;
    CALL set_auth(ipa, CONCAT('mod=dhcp;vlan=', net, ';user=', usr_mac, ';', REPLACE(properties,':','')));
    UPDATE mac_uid SET time=UNIX_TIMESTAMP() WHERE ip=INET_ATON(ipa) LIMIT 1;
END$$
DELIMITER ;

Если у вас пул не 10.0.xx.xx, то меняйте INET_ATON('10.0.0.0') + net на, например INET_ATON('192.168.0.0') + net и т.д

P.S. Рекомендую ознакомиться http://nodeny.com.ua:8080/wiki/index.php/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%82%D0%B8%D0%BA
P.P.S. В процедурах добавлен код из модуля радиус атрибутов - если вам не нужна скорость по радиусу - удалите от attr_loop до END WHILE


Название: Re: Микротик
Отправлено: Pa4ka от 26 Ноября 2015, 19:01:57
Ага, тогда докуплю еще модуль радиус атрибуты.
Сегодня только купил модуль микротика, вдумчиво читаю пробую.
Спасибо за помощь.


Название: Re: Микротик
Отправлено: Efendy от 26 Ноября 2015, 19:11:30
Ты сначала настрой без виланов, а то радиус атрибуты + виланы сразу будет сложнова-то отладить


Название: Re: Микротик
Отправлено: Pa4ka от 26 Ноября 2015, 19:15:14
Ты сначала настрой без виланов, а то радиус атрибуты + виланы сразу будет сложнова-то отладить
так и сделаю


Название: Re: Микротик
Отправлено: Pa4ka от 27 Ноября 2015, 11:38:24
Пробую добиться результата по влану но вот такая ошибка если процедура
Цитировать
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64), IN net VARCHAR(64))
BEGIN
    DECLARE usr_mac VARCHAR(16);
    DECLARE usr_ip VARCHAR(15);
    DECLARE usr_id INT;
    DECLARE usr_state VARCHAR(10);
    DECLARE add_attr MEDIUMTEXT;
    DECLARE line MEDIUMTEXT;
    DECLARE i INT DEFAULT 1;

    SELECT REPLACE(net, 'dhcp_', '') INTO net;
    SELECT REPLACE(login, ':', '') INTO usr_mac;
    SELECT CONCAT(net, usr_mac) INTO usr_mac;
    SELECT uid INTO usr_id FROM mac_uid WHERE mac=usr_mac;
    IF usr_id IS NOT NULL AND usr_id>0 THEN
        SELECT get_ip_w_net(usr_id, net) INTO usr_ip;
        UPDATE mac_uid SET ip=0 WHERE ip=INET_ATON(usr_ip) AND uid<>usr_id;
        UPDATE mac_uid SET ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP() WHERE uid=usr_id;
    ELSE
        UPDATE mac_uid SET ip=0 WHERE time < (UNIX_TIMESTAMP()-3600);
        START TRANSACTION;
        SELECT INET_NTOA(ip) INTO usr_ip FROM ip_pool p WHERE uid=0 AND type='dynamic'
            AND NOT EXISTS (SELECT ip FROM mac_uid WHERE ip=p.ip)
            AND ip >= (INET_ATON('10.0.0.0') + net*256)
            AND ip <= (INET_ATON('10.0.0.255') + net*256)
            ORDER BY RAND() LIMIT 1 FOR UPDATE;
        INSERT INTO mac_uid VALUES(
            NULL, usr_mac, INET_ATON(usr_ip), 0, UNIX_TIMESTAMP(), 0, 0, 0)
        ON DUPLICATE KEY
            UPDATE ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP();
        COMMIT;
        SELECT INET_NTOA(ip) INTO usr_ip FROM mac_uid WHERE mac=usr_mac;
    END IF;

    SELECT radius_attr INTO add_attr FROM users_services
        WHERE uid=usr_id AND tags LIKE '%,inet,%' LIMIT 1;

    SELECT NULL, login, 'Framed-IP-Address', usr_ip, '=';
    SELECT NULL, login, 'Session-Timeout', '900', '=';
END$$
DELIMITER ;
Цитировать
CALL radreply('00:11:22:33:44:55');
ERROR 1318 (42000): Incorrect number of arguments for PROCEDURE nodeny_test1.radreply; expected 2, got 1


Название: Re: Микротик
Отправлено: Efendy от 27 Ноября 2015, 12:07:53
Я с вас удивляюсь. Ты поставил задачу выдать свою сеть в каждом вилане. Почему ты не указал вилан?

Код:
CALL radreply('00:11:22:33:44:55', 'dhcp_1');


Название: Re: Микротик
Отправлено: Pa4ka от 27 Ноября 2015, 17:43:28
Выдало ип абоненту если
правильно ли так?
/usr/local/etc/raddb/sql.conf
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}')"
колед стейшн ид
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')"


Название: Re: Микротик
Отправлено: Pa4ka от 27 Ноября 2015, 19:47:59
Выдало ип абоненту если
правильно ли так?
/usr/local/etc/raddb/sql.conf
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}')"
колед стейшн ид
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')"
да ето не верно, я просто методом тыка
ип клиент получает из базы, но авторизация уже в билинге не показывается
помогите пожалуйста)


Название: Re: Микротик
Отправлено: Pa4ka от 28 Ноября 2015, 16:24:28
Выдало ип абоненту если
правильно ли так?
/usr/local/etc/raddb/sql.conf
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}')"
колед стейшн ид
Цитировать
       authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')"
да ето не верно, я просто методом тыка
ип клиент получает из базы, но авторизация уже в билинге не показывается
помогите пожалуйста)
Все получилось, я просто не внимательно первый пункт прочитал где:
Цитировать
1) в таблице mac_uid поле mac было увеличено до 16 символов - перед маком сохраняется номер вилана.
поставил номер вилана и все заработало.


Название: Re: Микротик
Отправлено: k291 от 27 Марта 2016, 19:34:14
В Н+ ктото решил проблему с ping`ом из билинга на клиента за Mikrotik`ом?


Название: Re: Микротик
Отправлено: Pa4ka от 28 Марта 2016, 08:11:47
В Н+ ктото решил проблему с ping`ом из билинга на клиента за Mikrotik`ом?
route add сеть_клиента/маска ip мікротіка


Название: Re: Микротик
Отправлено: shadowxxx от 18 Апреля 2016, 12:09:21
Возникла проблема! Кто ее реши - поделитесь. или может подскажите как разрулить нагрузку по процам.
/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d   
этот модуль грузит одно из ядер на 100 процентов (от 70-100) и это не зависит от времени суток. Кто как решил. ?


Название: Re: Микротик
Отправлено: shadowxxx от 18 Апреля 2016, 16:16:57
Если можно. Подскажите как доделалть модуль микротика, так что бы перл мог работать или по всем ядрам или хотябы б указывать количество ядер. потому что ядро 2.16 гигагерц забить это жестоко и не двигаться дальше. ну поставлю я 3.2 гигагерца, а дальше куда?


Название: Re: Микротик
Отправлено: elite от 19 Апреля 2016, 11:50:17
А что за процессор?


Название: Re: Микротик
Отправлено: shadowxxx от 19 Апреля 2016, 13:18:41
сейчас процессор Ксеон 5639 . это 2.13 гигагерц одно ядро. хоть и ядер 24 на одну тачку , ноот них толку мало. нужна частота получается чем выше тем лучше. А это не выход. Нужна поддержка мультипроцессорность. а не временна 32 битных приложений.


Название: Re: Микротик
Отправлено: elite от 20 Апреля 2016, 10:13:42
работайте с микротиком по радиусу - будет меньше нагрузка


Название: Re: Микротик
Отправлено: Cell от 20 Апреля 2016, 15:52:29
работайте с микротиком по радиусу - будет меньше нагрузка
А ты сам пробовал? Мне показалось что оно не стабильно с радиусом работает и все равно не отменяет api
 


Название: Re: Микротик
Отправлено: shadowxxx от 21 Апреля 2016, 10:22:19
работайте с микротиком по радиусу - будет меньше нагрузка

с какого бубна меньше. Вы сами попробуйте запустить тупо выключив сеть. и увидите что на ровном месте сам модуль жрет непомерянно много. Это как?


Название: Re: Микротик
Отправлено: elite от 21 Апреля 2016, 22:08:35
работайте с микротиком по радиусу - будет меньше нагрузка
А ты сам пробовал? Мне показалось что оно не стабильно с радиусом работает и все равно не отменяет api
 
а зачем апи?


Название: Re: Микротик
Отправлено: Cell от 22 Апреля 2016, 01:37:09
работайте с микротиком по радиусу - будет меньше нагрузка
А ты сам пробовал? Мне показалось что оно не стабильно с радиусом работает и все равно не отменяет api
 
а зачем апи?
гудбойсов коммутировать


Название: Re: Микротик
Отправлено: k291 от 28 Мая 2016, 23:34:45
Сервер задает по DHCP 10.0.0.0/24
Микротик(IP 10.0.10.1) DHCP 10.0.10.0/24
Все настроил по инструкции. Подключаю клиента к микротику. Клиент получает IP 10.0.0.208/24(IP что выдавал сервер), DNS 10.0.10.1, шлюз 10.0.10.1.
Соответственно доступа в интернет нет.
В чем может быть дело?
DHCP на сервере, должен быть настроен по "Варианту без Radius" или "Вариант с Radius" ?
Может при переходе на Микротик у всех клиентов надо удалить все МАК-адреса?


Название: Re: Микротик
Отправлено: Warlock от 29 Мая 2016, 20:54:33
А как клиент увидит шлюз находящийся в другой сети?


Название: Re: Микротик
Отправлено: Cell от 30 Мая 2016, 10:59:53
А кто подскажет как мне сделать масштабирование управления микротиками, т.е. заюзать их несолько штук но так, чтобы в гудбойсы не попадали все юзеры на всех микротиках? т.к. когда речь заходит о количестве очередей приближающихся к 6 тысячам, грустно становится. На 50й версии было можно вьюхи настроить на нужные группы и саттелиты отрабатывали только их. А здесь как?


Название: Re: Микротик
Отправлено: Efendy от 30 Мая 2016, 11:09:25
Код:
grep ip_tags cfg/noserver.cfg.pm


Название: Re: Микротик
Отправлено: Cell от 30 Мая 2016, 11:11:46
только хотел спросить что такое
Цитировать
$ip_tags    = '';               # обрабатывать ip только с этим тегом
Что это? регулярное выражение, список ип, шаблон ип? Где это описано?


Название: Re: Микротик
Отправлено: Cell от 30 Мая 2016, 12:06:59
только хотел спросить что такое
Цитировать
$ip_tags    = '';               # обрабатывать ip только с этим тегом
Что это? регулярное выражение, список ип, шаблон ип? Где это описано?

Сам спросил, сам посмотрел код, сам нашел в базе что за гомно и сам ответил - это теги, присвоенные в ip-пуле, перечисленные через запятую.


Название: Re: Микротик
Отправлено: k291 от 12 Июня 2016, 00:08:03
только хотел спросить что такое
Цитировать
$ip_tags    = '';               # обрабатывать ip только с этим тегом
Что это? регулярное выражение, список ип, шаблон ип? Где это описано?

Сам спросил, сам посмотрел код, сам нашел в базе что за гомно и сам ответил - это теги, присвоенные в ip-пуле, перечисленные через запятую.
То есть(если не так, то поправьте), для того, чтобы в микротик загружались определенный/ные пулы ip адресов, нам надо сделать следующее:
1) "Главная настройка - Ip пул" выбираем нужный пул, дальше "Изменить", в "Теги" пишем pobedy15. В  другом пуле в "Теги", прописываем Moskovskaya3.
2) В файле ./nodeny/cfg/_mikrotik1.cfg.pm в "$ip_tags = 'pobedy15,Moskovskaya3';"


Название: Re: Микротик
Отправлено: Efendy от 12 Июня 2016, 18:11:20
Да. Вернее, что значит загружались пулы адресов? Если быть точным: скрипт принимает во внимание только тех, абонентов, у которых в ip в поле "тег" присутствует заданный тег(и).


Название: Re: Микротик
Отправлено: Cell от 13 Июля 2016, 20:36:23
Вопрос по переменной конфига $no_shape_speed - как применять?
Что-то в модуле я не нашел где она заюзана. Идея заключается в том, чтобы не шейпить клиентов, у которых скорость 100мбит или 0 т.е. вообще не создавать очередь для данных ипов.
 


Название: Re: Микротик
Отправлено: Efendy от 14 Июля 2016, 16:56:45
В nofire.pm очень даже встречается, просто надо было искать без знака $, поскольку там используется префикс cfg::

И по дефолту как раз для 100 мбит не будет создаваться очередь. Правда это относится к модулю ipfw, для микротика я скорее всего данную фичу не использовал, но вставить ее туда не мне, думаю, труда не много


Название: Re: Микротик
Отправлено: Cell от 14 Июля 2016, 23:04:57
В nofire.pm очень даже встречается, просто надо было искать без знака $, поскольку там используется префикс cfg::

И по дефолту как раз для 100 мбит не будет создаваться очередь. Правда это относится к модулю ipfw, для микротика я скорее всего данную фичу не использовал, но вставить ее туда не мне, думаю, труда не много
Это было бы приятно т.к. речь идет именно о модуле микротика и в его конфиге я наткнулся на переменную, но заюзать не получилось.


Название: Re: Микротик
Отправлено: Efendy от 01 Августа 2016, 14:46:28
1) Чтобы дать полную скорость достаточно просто не создавать simple queue?
2) Чтобы нарезать скорость по разным направлениям нужно в simple queue использовать target-addresses я так понял? В 6.32.2 я не нашел такого параметра
3) Ну и чтоб 2 раза не вставать: за что там все критиковали simple queue? Гугл говорит, что в 6й версии они норм работают? В принципе можно переделать и на queue tree, просто скажите какие команды нужно посылать


Название: Re: Микротик
Отправлено: Cell от 01 Августа 2016, 21:38:49
1) Чтобы дать полную скорость достаточно просто не создавать simple queue?
2) Чтобы нарезать скорость по разным направлениям нужно в simple queue использовать target-addresses я так понял? В 6.32.2 я не нашел такого параметра
3) Ну и чтоб 2 раза не вставать: за что там все критиковали simple queue? Гугл говорит, что в 6й версии они норм работают? В принципе можно переделать и на queue tree, просто скажите какие команды нужно посылать
Да оно и так все нормально работает и если не создавать simple queue для максимума - 90% останутся счастливы.
Что касается скоростей по направлениям то меня это как бы и не интересует особо. Есть там какой-то параметр типа Dst в котором можно интерфейс указать может в эту сторону курить надо... хз.


Название: Re: Микротик
Отправлено: k291 от 17 Октября 2016, 11:05:15
Как снимать трафик с порта(хотя бы UP-link`а) Микротика? не прибегая к сторонним програмам


Название: Re: Микротик
Отправлено: Warlock от 17 Октября 2016, 12:32:23
Netflow. Или это "сторонняя программа"?


Название: Re: Микротик
Отправлено: Cell от 19 Октября 2016, 20:22:20
Не задумывался ли автор  об управлении  микротиком целиком через RADIUS?   DHCP в микротике не все радиус-атрибуты воспринимает ну и фиг бы на него, зато hotspot отлично работает в режиме IPoE, и скорости нарезает и сессии рвет когда нужно и аксесс листы любые может создавать через радиус. Ведь очень удобно. Никаких лишних скриптов. Опять же аккаунтинг можно было бы осуществлять без всяких пожирающих ресурсы разбиралок нетфлоу.
Это не в укор спрашиваю, а просто интересно - возможность такая рассматривалась? Просто сейчас довольно симпатичные железячки на микротике за вполне вменяемые деньги продают и в подобной связке это была бы мегабомба.
То что это возможно я знаю точно т.к. подобная связка мной лично настроена и работает с биллингом ............(не рекламируем).
Может и тут замутим?
 


Название: Re: Микротик
Отправлено: lts от 20 Октября 2016, 22:51:39
hБББttp://app.nodeny-plus.com.ua/docs/work/modules.html#radius_attr



Название: Re: Микротик
Отправлено: Cell от 20 Октября 2016, 23:14:47
hБББttp://app.nodeny-plus.com.ua/docs/work/modules.html#radius_attr
Если бы ты напрягся и попробовал реализовать это на микротик в режиме IPoE - ты бы понял, что этой строчки слегка маловато.
Ну да ладно, если никому не интересно, то мне тоже пох.


Название: Re: Микротик
Отправлено: k291 от 21 Октября 2016, 01:08:46
Если бы все говорили пох, то и Н+ не было бы.
Мне тоже нравится связка Н+ и микротика. Для того,чтобы чтото добавить, надо знать, что. Прошу выложить настройки микротика, в том числе IPoE. Чтобы автор знал, что от него хотят и не тратил время на изучение.
Мы можем сами попробовать добавить функционал, но наши знания в Н+ не сравнятся со знаниями автора.


Название: Re: Микротик
Отправлено: k291 от 21 Октября 2016, 01:11:31
Netflow. Или это "сторонняя программа"?
Стороняя. Лишнее ПО. У Н+ есть свой подсчет, его надо научить. Только как?


Название: Re: Микротик
Отправлено: Warlock от 21 Октября 2016, 06:46:18
Netflow. Или это "сторонняя программа"?
Стороняя. Лишнее ПО. У Н+ есть свой подсчет, его надо научить. Только как?
"Свой подсчет" - это ipcad, что с таким же удовольствием тоже можно назвать "сторонней программой".


Название: Re: Микротик
Отправлено: Cell от 21 Октября 2016, 20:40:43
Мне тоже нравится связка Н+ и микротика. Для того,чтобы чтото добавить, надо знать, что. Прошу выложить настройки микротика, в том числе IPoE. Чтобы автор знал, что от него хотят и не тратил время на изучение.
Я это и имел ввиду когда сказал "может и тут замутим" НО...
В том-то и дело, что автор выше таких "мелочей" как хотя бы свое отношение к предложению высказать.
В настройках модуля - явный баг с  максимальной скоростью и его предложение "дописать это самостоятельно" наводят на мысль что и автору пох.
Не, я все понимаю... ему техническое задание надо и он может быть, когда-то, при наличии времени и хорошего настроения сделает. А может и нет. Я уже предлагаю всем вместе, на общественных началах что-то сделать и то, что-то отклика не нахожу.


Название: Re: Микротик
Отправлено: Cell от 21 Октября 2016, 20:51:57
Вот настройки для микротика
Код:
/ip hotspot profile add hotspot-address=10.254.111.1 html-directory=hotspotmacwithoutpass login-by=mac mac-auth-mode=mac-as-username-and-password name=IPOE nas-port-type=ethernet radius-interim-update=5m use-radius=yes
/ip hotspot add address-pool=v111 addresses-per-mac=1 disabled=no interface=bridge name=IPOE-hotspot profile=IPOE
/ip hotspot user add name=admin
/radius add address=172.16.0.1 secret=hardpass service=hotspot,dhcp timeout=2s
/radius incoming set accept=yes

управление доступом по вкусу, типа такого

Код:
/ip firewall filter
add action=accept chain=forward dst-port=80 out-interface=ether1-gw protocol=tcp src-address-list=!goodboys
add action=drop chain=forward out-interface=ether1-gw src-address-list=!goodboys
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 protocol=tcp src-address-list=!goodboys to-addresses=10.20.30.40 to-ports=80
Остается только передать радиусом необходимые атрибуты и все поехало.
Необходимые дополнительные атрибуты (для фрирадиуса видимо их нужно внести в словарь) это Mikrotik-Address-List и Mikrotik-Rate-Limit


Название: Re: Микротик
Отправлено: elite от 22 Октября 2016, 17:25:05
Необходимые дополнительные атрибуты (для фрирадиуса видимо их нужно внести в словарь) это Mikrotik-Address-List и Mikrotik-Rate-Limit
И научить радиус вести подсчет трафика


Название: Re: Микротик
Отправлено: Cell от 23 Октября 2016, 11:09:09
Необходимые дополнительные атрибуты (для фрирадиуса видимо их нужно внести в словарь) это Mikrotik-Address-List и Mikrotik-Rate-Limit
И научить радиус вести подсчет трафика
Радиус умеет это делать, а научить нужно биллинг.


Название: Re: Микротик
Отправлено: Groov от 25 Октября 2016, 13:47:56
Ребят такова картина с процедурами на микротике, во первых проходит авторизация pppoe сразу N количества с одного логина. И формат мак адреса у микротика 74:D4:35:5D:58:3E а через mpd5 74:d4:35:5d:58:3e перестаёт работать привязка по маку(надо переписать процедуруы). КТО ТО МОЖЕТ ПОМОЧЬ, МОЖЕТ КТО ТО РЕШИЛ ЭТУ ПРОБЛЕМУ.


Название: Re: Микротик
Отправлено: Cell от 26 Октября 2016, 20:14:57
Ребят такова картина с процедурами на микротике, во первых проходит авторизация pppoe сразу N количества с одного логина. И формат мак адреса у микротика 74:D4:35:5D:58:3E а через mpd5 74:d4:35:5d:58:3e перестаёт работать привязка по маку(надо переписать процедуруы). КТО ТО МОЖЕТ ПОМОЧЬ, МОЖЕТ КТО ТО РЕШИЛ ЭТУ ПРОБЛЕМУ.
А нафига логины привязывать  к оборудованию? Достаточно не авторизовывать повторно, если клиент уже авторизован (раздаешь свой логин-пароль, тогда будь готов сидеть и ждать когда кто-то освободит)


Название: Re: Микротик
Отправлено: Groov от 26 Октября 2016, 21:34:40
Ребят такова картина с процедурами на микротике, во первых проходит авторизация pppoe сразу N количества с одного логина. И формат мак адреса у микротика 74:D4:35:5D:58:3E а через mpd5 74:d4:35:5d:58:3e перестаёт работать привязка по маку(надо переписать процедуруы). КТО ТО МОЖЕТ ПОМОЧЬ, МОЖЕТ КТО ТО РЕШИЛ ЭТУ ПРОБЛЕМУ.
А нафига логины привязывать  к оборудованию? Достаточно не авторизовывать повторно, если клиент уже авторизован (раздаешь свой логин-пароль, тогда будь готов сидеть и ждать когда кто-то освободит)
Один проплатил 1 месяц даёт логин соседу пока тот на работе, потом на оборот. (ВОТ ЗАЧЕМ).А микротите одновременно даёт подключится обоим, но кто последний того и тапки.
Вполне нормальные вопросы. которые работают на freebsd.


Название: Re: Микротик
Отправлено: Efendy от 27 Октября 2016, 16:05:51
Сейчас некогда вникать, но с маками с заглавными буквами лечение скорее всего такое: приводить к нижнему регистру в процедурах. Вот я бегло пробежался и в radreply увидел:
Код:
SELECT REPLACE(login, ':', '') INTO usr_mac;
попробуй заменить на:
Код:
SELECT LOWER(REPLACE(login, ':', '')) INTO usr_mac;

Это если речь идет о маке абонента


Название: Re: Микротик
Отправлено: Cell от 27 Октября 2016, 22:31:38
(ВОТ ЗАЧЕМ)
Кричать не надо, ок? В чем предъява? Тариф оплачен? - Оплачен! Пользуется 1 юзер? Да, один! А уж кто там бабушка, дедушка, или их тапочки - вас то с какого перепуга колыхает? Эти два-три абонента не сделают вам экономику предприятия если у вас там не три калеки и все босиком. Что вы будете делать когда юзер поставит себе дома RB450 или типа того и будет по впн раздавать ВСЕМ своим друзьям одновременно, причем используя вашу же физику? Легче станет? Так вот - не занимайтесь херней ))) а лучше продумывайте тарифы, чтобы такой фигней было заниматься не выгодно.
При наличии даже зачатков мозга у юзера (у которого не заработало с правильным логином и паролем и вашей магасуперзащитой) понять что дело в mac адресе дело нехитрое, еще более просто обойти все это. Но дело хозяйское, если нравится - вперед и с песней.


Название: Re: Микротик
Отправлено: Groov от 28 Октября 2016, 20:29:22
(ВОТ ЗАЧЕМ)
Кричать не надо, ок? В чем предъява? Тариф оплачен? - Оплачен! Пользуется 1 юзер? Да, один! А уж кто там бабушка, дедушка, или их тапочки - вас то с какого перепуга колыхает? Эти два-три абонента не сделают вам экономику предприятия если у вас там не три калеки и все босиком. Что вы будете делать когда юзер поставит себе дома RB450 или типа того и будет по впн раздавать ВСЕМ своим друзьям одновременно, причем используя вашу же физику? Легче станет? Так вот - не занимайтесь херней ))) а лучше продумывайте тарифы, чтобы такой фигней было заниматься не выгодно.
При наличии даже зачатков мозга у юзера (у которого не заработало с правильным логином и паролем и вашей магасуперзащитой) понять что дело в mac адресе дело нехитрое, еще более просто обойти все это. Но дело хозяйское, если нравится - вперед и с песней.
Ну я не кричал  ))))),  в сети pppoe. + ethernet type 0x8863 - 0x8864. Это называется удачи в раздаче )))). подмена мака вычисляется ))).  вся сеть на OLT нафига нужны те кто плотность занимают и не оплачивают.

Лучше помогли с процедурой, я про бывал варианты LCASE  LOWER  . У меня не получилось (


Название: Re: Микротик
Отправлено: sever от 29 Октября 2016, 00:07:03
Цитировать
вся сеть на OLT нафига нужны те кто плотность занимают и не оплачивают.

Рекомендую vlan per user, и все проблемы с авторизацией и привязкой по маку сразу отпадут.


Название: Re: Микротик
Отправлено: Cell от 29 Октября 2016, 08:50:42
Цитировать
Это называется удачи в раздаче ))))
Наивный. Блажен, кто верует! Настрой лучше аксель как сказано выше и будет тебе счастье. И вообще от коммутации можно отказаться. Меньше накладных расходов будет - оборудование будет лучше себя чувствовать.


Название: Re: Микротик
Отправлено: Groov от 03 Ноября 2016, 14:05:53
Я вроде не спрашивал как лучше (Но всё равно спасибо). Меня интересует всё таки процедура mysql.


Название: Re: Микротик
Отправлено: Groov от 12 Января 2017, 17:50:23
Доброе время суток, знатоки подскажите пожалуйста на mpd5 mac выглядит так (Calling-Station-Id = "6с3b6b502d4b") и также и в базе Mysql, а вот в микротике вот так (Calling-Station-Id = "6C:3B:6B:50:2D:4B") как преобразить без ":" и в нижнем регистре Mysql  процедуре ?


Название: Re: Микротик
Отправлено: Pa4ka от 12 Января 2017, 19:20:11
Доброе время суток, знатоки подскажите пожалуйста на mpd5 mac выглядит так (Calling-Station-Id = "6с3b6b502d4b") и также и в базе Mysql, а вот в микротике вот так (Calling-Station-Id = "6C:3B:6B:50:2D:4B") как преобразить без ":" и в нижнем регистре Mysql  процедуре ?
Привет
REPLACE(имя поля или просто текст, что меняем, на что меняем) - примерно:
REPLACE('6C:3B:6B:50:2D:4B',':','')
а по поводу нижнего регистра:
SELECT LOWER('MYTESTSTRING'); = myteststring


Название: Re: Микротик
Отправлено: Groov от 13 Января 2017, 16:54:21
Дело обстоит так, я изначально сам себя запутал и за этого не правильно задал вопрос. Calling-Station-Id = "6с3b6b502d4b" в таком формате берёт с базы и даёт радиусу на проверку. А необходимо Calling-Station-Id = "6C:3B:6B:50:2D:4B" давало радиусу. как из 6с3b6b502d4b в процедуре сделать 6C:3B:6B:50:2D:4B.


Название: Re: Микротик
Отправлено: Pa4ka от 13 Января 2017, 16:57:42
Дело обстоит так, я изначально сам себя запутал и за этого не правильно задал вопрос. Calling-Station-Id = "6с3b6b502d4b" в таком формате берёт с базы и даёт радиусу на проверку. А необходимо Calling-Station-Id = "6C:3B:6B:50:2D:4B" давало радиусу. как из 6с3b6b502d4b в процедуре сделать 6C:3B:6B:50:2D:4B.
Уже и я запутался, давай лучше скажи зачем оно нужно?
А то я незнаю как тебе помочь.
Calling-Station-Id отправляет радиус клиент серверу, а на сервере уже разбирай как угодно


Название: Re: Микротик
Отправлено: Groov от 13 Января 2017, 17:03:15
Дело обстоит так, я изначально сам себя запутал и за этого не правильно задал вопрос. Calling-Station-Id = "6с3b6b502d4b" в таком формате берёт с базы и даёт радиусу на проверку. А необходимо Calling-Station-Id = "6C:3B:6B:50:2D:4B" давало радиусу. как из 6с3b6b502d4b в процедуре сделать 6C:3B:6B:50:2D:4B.
Уже и я запутался, давай лучше скажи зачем оно нужно?
А то я незнаю как тебе помочь.
Calling-Station-Id отправляет радиус клиент серверу, а на сервере уже разбирай как угодно

Чтобы работала проверка мака при авторизации по pppoe на микротике.


Название: Re: Микротик
Отправлено: Groov от 13 Января 2017, 17:04:21
в Настойках модуля для микротика есть вот такая штука НО ОНА У МЕНЯ НЕ РАБОТАЕТ.
$no_shape_speed = 10**8;        # бит/сек - скорость, начиная с которой шейп не применяется


Название: Re: Микротик
Отправлено: Groov от 13 Января 2017, 17:29:32
Calling-Station-Id отправляет радиус клиент серверу, а на сервере уже разбирай как угодно
Как раз и нет, в момент прохода по процедуре, радиусу говорит какой должен будет мак у клиента проходящего авторизацию, если не совпадает то досвидос.
в противном случаи, загорался бы ключик, а потом бы авторизация отваливалась. (СТАС СКАЖИ ПРАВИЛЬНО ИЛИ НЕТ).


Название: Re: Микротик
Отправлено: Cell от 13 Января 2017, 17:45:51
Радиус клиент запрашивает у сервера авторизацию. Радиус сервер сверяется с базой данных и если он считает что все ок (а  это как раз выполняется процедурами) то радиус-клиенту выдаются радиус-атрибуты необходимые для организации соединения (в данном конкретном случае PPPoE на микротике). Т.е. вам в процедуре входящие переменные перевести в нижний регистр и избавится от двоеточий. Проблема может возникнуть когда один радиус-сервер обслуживает запросы от разных клиентов (мпд5 и микротик) тогда да, запара ))) но как я понимаю у вас там разные радиус сервера и с этим проблем не будет.


Название: Re: Микротик
Отправлено: Cell от 13 Января 2017, 17:50:35
в Настойках модуля для микротика есть вот такая штука НО ОНА У МЕНЯ НЕ РАБОТАЕТ.
$no_shape_speed = 10**8;        # бит/сек - скорость, начиная с которой шейп не применяется
Ни у кого не работает, Стас обломался эту хрень впиливать в микротик.


Название: Re: Микротик
Отправлено: k291 от 14 Января 2017, 23:20:38
Есть сервер с DHCP и 3-и микротика. Для каждого создал свой пулл:
10.0.0.2 .. 10.0.0.254 - сервер
10.0.1.2 .. 10.0.1.254 - микротик 1
10.10.0.1 .. 10.10.0.254 - микротик 2
10.75.0.1 .. 10.75.0.254 - микротик 3
Настроил микротик по инструкции. Остановил DHCP на сервере. Запустил Radius. Очистил таблицу МАС`ов в БД TRUNCATE TABLE mac_uid;
Подключаю клиента к Микротику 1, получаю IP(10.0.1.234) из нужного pool`a. Прописываю МАС на странице клиента, через пару минут IP меняется на 10.0.0.3.
Подскажите куда копать, почему после того как МАС прописываешь в билинге, микротик вместо 10.0.1... выдает 10.0.0... ?


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 00:40:24
Если пулы динамические - не будет работать так как вы задумали.
Сделайте пулы статическими и пропишите связку ip+mac в настройках абонента, тогда будет выдавать так как прописано. Есть еще вариант с костылями и  хардкодом (http://forum.nodeny.com.ua/index.php?topic=2703.15) но это вообще как-то не але и смахивает на китайскую подделку )))


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 01:08:30
Со статикой совершенно не удобно. Я все же надеюсь, что Mikrotik`и будут получать от Н+ адреса с определенных pool`ов.
У pool`а есть параметр "Теги" по которому можно выдавать конкретный блок на определенный Mikrotik. Может в сущностях "улица" надо добавить "Теги"?
В целом возможно чтото сделать, чтобы связка Nodeny+Mikrotik работало как надо?


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 01:19:57
Со статикой совершенно не удобно. Я все же надеюсь, что Mikrotik`и будут получать от Н+ адреса с определенных pool`ов.
У pool`а есть параметр "Теги" по которому можно выдавать конкретный блок на определенный Mikrotik. Может в сущностях "улица" надо добавить "Теги" и привязать улицу к pool`у?
В целом возможно чтото сделать, чтобы связка Nodeny+Mikrotik работало как надо с выдачей динамических адресов из конкретного pool`а?


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 01:35:16
В Н+ ктото решил проблему с ping`ом из билинга на клиента за Mikrotik`ом?
route add сеть_клиента/маска ip мікротіка
Пример для Ubuntu. Может надо еще чтото сделать? ping`и не идут.
Цитировать
route add -net 10.0.1.0 netmask 255.255.255.0 gw 217.55.200.250


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 01:49:46
Со статикой совершенно не удобно. Я все же надеюсь, что Mikrotik`и будут получать от Н+ адреса с определенных pool`ов.
У pool`а есть параметр "Теги" по которому можно выдавать конкретный блок на определенный Mikrotik. Может в сущностях "улица" надо добавить "Теги"?
В целом возможно чтото сделать, чтобы связка Nodeny+Mikrotik работало как надо?
Я тебе за горькую правду жизни а ты удобно-неудобно ))
Я же дал ссылку, как это решается при помощи хардкода процедур и такой-то матери?


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 03:06:34
Со статикой совершенно не удобно. Я все же надеюсь, что Mikrotik`и будут получать от Н+ адреса с определенных pool`ов.
У pool`а есть параметр "Теги" по которому можно выдавать конкретный блок на определенный Mikrotik. Может в сущностях "улица" надо добавить "Теги"?
В целом возможно чтото сделать, чтобы связка Nodeny+Mikrotik работало как надо?
Я тебе за горькую правду жизни а ты удобно-неудобно ))
Я же дал ссылку, как это решается при помощи хардкода процедур и такой-то матери?
Отпугнула фраза -"похоже на китайскую подделку" ))
-"каждом вилане настроен dhcp с именем dhcp_номерvlan. Запросы с этого вилана будут идти на радиус, например, так: Called-Station-Id = dhcp_15. Здесь 15 - номер vlan"
где прописывать VLAN? на абонентском порту в Mikrotik`e?


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 10:07:15
Да причем тут влан? Просто ситуация похожая. Там три влана у тебя три микротика - ничего не меняется от этого потому что дхцп демон у микротика так устроен, что нужно его настраивать для каждого влана отдельно, т.е. Called-Station-Id для каждого влана будет свой. И на отдельных микротиках Called-Station-Id будет у каждого свой (если конечно их разными настроить) и равен НАЗВАНИЮ дхцп демона (параметр Name)
Есть один побочный эффект у этого способа - если параллельно уже используются какие-либо средства авторизации на основе mac адресов - то скорее всего они откажут т.к. изменения вносятся в способ хранения самого адреса.


Название: Re: Микротик
Отправлено: Efendy от 15 Января 2017, 13:23:53
10.0.1.2 .. 10.0.1.254 - микротик 1
Настроил микротик по инструкции. Остановил DHCP на сервере. Запустил Radius. Очистил таблицу МАС`ов в БД TRUNCATE TABLE mac_uid;
Подключаю клиента к Микротику 1, получаю IP(10.0.1.234) из нужного pool`a.
Каким образом ты сообщил radius-у, что он должен для микротика 1 выдать этот ip?  Я так понимаю, что настроено так: радиус говорит "юзер с таким мак-ом не зареган" и микротик САМ из своего пула выдает ip?

Если ты хочешь чтоб ip выдавался в зависимости от каких-либо условий - нужно использовать теги. Но в твоем случае тег - это не характеристика абонента, а устройства. Неважно что за абонент подключился, например, он не известен, важно к какому микротику. Поэтому в процедуре, которая выдает ip в зависимости от тега, нужно в качестве тега подсовывать идентификатор миктротика (например, его имя), и в пулах ip в биллинге использовать этот идентификатор в тегах.

Или у тебя иначе там настроено?


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 14:27:56
В том-то и прикол, что в доке (http://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius) описана процедура в которой теги вообще не учавствуют:
Код:
        SELECT INET_NTOA(ip) INTO usr_ip FROM ip_pool p WHERE uid=0 AND type='dynamic'
            AND NOT EXISTS (SELECT ip FROM mac_uid WHERE ip=p.ip)
            ORDER BY RAND() LIMIT 1 FOR UPDATE;
и ип выбирает из первого попавшегося пула с динамическим типом.
Тут нужно чесать репу и менять процедуру под себя.


Название: Re: Микротик
Отправлено: Efendy от 15 Января 2017, 15:21:11
А это: http://forum.nodeny.com.ua/index.php?topic=2374.0


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 17:34:33
А это: http://forum.nodeny.com.ua/index.php?topic=2374.0
Вот теперь стало понятно как сделать, только где это в документации описано? Даже имея желание, время и умение читать и понимать совершенно не реально было разыскать эту тему на форуме.


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 18:00:47
10.0.1.2 .. 10.0.1.254 - микротик 1
Настроил микротик по инструкции. Остановил DHCP на сервере. Запустил Radius. Очистил таблицу МАС`ов в БД TRUNCATE TABLE mac_uid;
Подключаю клиента к Микротику 1, получаю IP(10.0.1.234) из нужного pool`a.
Каким образом ты сообщил radius-у, что он должен для микротика 1 выдать этот ip?  Я так понимаю, что настроено так: радиус говорит "юзер с таким мак-ом не зареган" и микротик САМ из своего пула выдает ip?

Если ты хочешь чтоб ip выдавался в зависимости от каких-либо условий - нужно использовать теги. Но в твоем случае тег - это не характеристика абонента, а устройства. Неважно что за абонент подключился, например, он не известен, важно к какому микротику. Поэтому в процедуре, которая выдает ip в зависимости от тега, нужно в качестве тега подсовывать идентификатор миктротика (например, его имя), и в пулах ip в биллинге использовать этот идентификатор в тегах.

Или у тебя иначе там настроено?
1) Настроивал по инструкции Микротик и Dhcp+Radius из WiKi.
Очистил таблицу  mac_uid. Включаю клиента в Mikrotik, получаю IP с разных pool`ов. Видимо мне показало, что если в Mikrotik`е прописано
Код:
/ip dhcp-server network add dns-server=10.0.1.1 gateway=10.0.1.1 netmask=24
то я получаю адрес из 10.0.1.0/24.

Сейчас в Mikrotik`е у DHCP прописал назвал "dhcp_16"(/ip dhcp-server add name=dhcp_16), не зарегистрированный клиент начал получать адреса из pool`а 10.0.16.0/24(Пробовал раз 10, меняется только последняя цифра):
Код:
mysql>  SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
|  1 | 005533007766 | 167776437 |   0 | 1484492413 | 0          |           0 |          0 | 10.0.16.181   |
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
1 row in set (0,00 sec)
Но как только прописал МАС на странице клиента, через пару минут получил 10.0.0.3(первый пул со статическими адресами):]
Код:
mysql>  SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
|  2 | 005533007766 | 167772163 |   2 | 1484492608 |            |           0 |          0 | 10.0.0.3      |
+----+--------------+-----------+-----+------------+------------+-------------+------------+---------------+
1 row in set (0,00 sec)
--------------------------
2) -"Неважно что за абонент подключился, например, он не известен, важно к какому микротику" Именно так! Адреса из pool`лов должны выдаваться по тегам
Я не селен в процедурах, как научить MySQL выдавать нужный pool по названию Mikrotik`a ?

На всякий случай, напишу, что должно получится в результате:
1) Сервер с Nodeny,стоящий где-то за бугром и резервный под рукой.
1.1) В случае падения основного сервера, клиенты по домену попадают на резервный(в нем в личном кабинете уведомление,что это резервный сервер, оплаты на пройдут. И платеж не затерся при репликации БД с основного сервера).
1.2) Между серверами настроена репликация БД.
2) В районах, домах стоят Mikrotik`и в качестве NAS`ов.
2.1) Каждый Mikrotik будет выдавать адреса из своего pool`а.
2.2) Новых клиентов(не зарегистрированных в билинге) перенаправляет на заглушку для регистрации по логину и паролю.
2.3) Можем выдать статический серый IP, назначив его статически в кабинете клиента
2.4) Можем выдать реальный IP, назначив его статически в кабинете клиента
3) На Mikrotik`e настроено автоматическое переключение на резервный канал с [ether1 на ether2] и [ether2 на ether1] в случае восстановление основного канала с уведомлением на почту.
4) Надеюсь когда-то появится: мониторинг в билинге со списком всех NAS/Mikrotik`ов и идентификацией на каком канале(основной,резервный) сейчас работают клиенты.


Название: Re: Микротик
Отправлено: Efendy от 15 Января 2017, 18:31:29
А это: http://forum.nodeny.com.ua/index.php?topic=2374.0
Вот теперь стало понятно как сделать, только где это в документации описано? Даже имея желание, время и умение читать и понимать совершенно не реально было разыскать эту тему на форуме.
для этой темы я не проверял актуальность текущей версии n+, поэтому в доку не выложил


Название: Re: Микротик
Отправлено: Efendy от 15 Января 2017, 19:07:13
...
я так понял ты хочешь чтоб заработало рандомом? не получится


Название: Re: Микротик
Отправлено: k291 от 15 Января 2017, 19:31:16
...
я так понял ты хочешь чтоб заработало рандомом? не получится
Нет. Хочу как ты написал:
Цитировать
Поэтому в процедуре, которая выдает ip в зависимости от тега, нужно в качестве тега подсовывать идентификатор миктротика (например, его имя), и в пулах ip в биллинге использовать этот идентификатор в тегах.
Главное не использовать ip NAS`a для Тега. IP может меняться.


Название: Re: Микротик
Отправлено: Cell от 15 Января 2017, 23:49:44
ну напиши в теге чебурашка, а в другом барабашка ))) какая разница, что там будет написано? Используй Called-Station-Id для идентификации наса и вся любовь.


Название: Re: Микротик
Отправлено: Efendy от 16 Января 2017, 00:06:22
Начни, вообще, без микротика. В консоли mysql выполни sql, которые должен запускать радиус. Например, первая процедура при подключении абона - это radcheck. Эта процедура должна выдавать "все ок" для любого мак-адреса, хоть известного, хоть неизвестного (если ты, конечно, не собираешься отшивать юзеров с неизвестными маками). Далее идет radreply. Смотришь в конфиг радиуса, что передается этой процедуре. Допустим только логин. Тогда ты говоришь "бля, я забыл передавать не только логин, но и  идентификатор микротика". В консоли mysql выполняешь "call radreply('00:11:22:33:44:55', '00:aa:bb:cc:dd:ee:ff')". Получил то, что надо? Не получил: смотришь есть ли в пуле ипы с тегом '00:aa:bb:cc:dd:ee:ff'. А мак '00:11:22:33:44:55' у абонента? Не, херь какая-то получается, пробую выполнить SELECT get_ip_by_tag('00:aa:bb:cc:dd:ee:ff','10.1.0.1'). Ip по тегу выбирается все ок. И тут... да ну его нах, почему я не могу нанять админа...


Название: Re: Микротик
Отправлено: Groov от 16 Января 2017, 14:16:16
Сейчас некогда вникать, но с маками с заглавными буквами лечение скорее всего такое: приводить к нижнему регистру в процедурах. Вот я бегло пробежался и в radreply увидел:
Код:
SELECT REPLACE(login, ':', '') INTO usr_mac;
попробуй заменить на:
Код:
SELECT LOWER(REPLACE(login, ':', '')) INTO usr_mac;

Это если речь идет о маке абонента

Код:
BEGIN
  SELECT u.id, u.name, 'Password' AS Attribute, AES_DECRYPT(passwd,'hardpass') AS Value,'==' AS Op FROM users u WHERE u.name=login ;
IF ((SELECT m.uid FROM users u JOIN mac_uid m WHERE uid=u.id ORDER BY m.uid DESC LIMIT 1) <> '')
THEN
  SELECT users.id,users.name,'Calling-Station-Id' AS Attribute,mac_uid.mac AS Value,'==' AS Op FROM users,mac_uid WHERE mac_uid.uid=users.id AND users.name=login ORDER BY mac_uid.uid DESC LIMIT 1;
END IF;  
END

Я много перепробовал, ((((  но не получается у меня подскажите куда добавить?


Название: Re: Микротик
Отправлено: Groov от 18 Января 2017, 13:01:09
Сейчас некогда вникать, но с маками с заглавными буквами лечение скорее всего такое: приводить к нижнему регистру в процедурах. Вот я бегло пробежался и в radreply увидел:
Код:
SELECT REPLACE(login, ':', '') INTO usr_mac;
попробуй заменить на:
Код:
SELECT LOWER(REPLACE(login, ':', '')) INTO usr_mac;

Это если речь идет о маке абонента

Код:
BEGIN
  SELECT u.id, u.name, 'Password' AS Attribute, AES_DECRYPT(passwd,'hardpass') AS Value,'==' AS Op FROM users u WHERE u.name=login ;
IF ((SELECT m.uid FROM users u JOIN mac_uid m WHERE uid=u.id ORDER BY m.uid DESC LIMIT 1) <> '')
THEN
  SELECT users.id,users.name,'Calling-Station-Id' AS Attribute,mac_uid.mac AS Value,'==' AS Op FROM users,mac_uid WHERE mac_uid.uid=users.id AND users.name=login ORDER BY mac_uid.uid DESC LIMIT 1;
END IF;  
END

Я много перепробовал, ((((  но не получается у меня подскажите куда добавить?

Ребят не могу понять здесь что то комически сложное не можете подсказать ??


Название: Re: Микротик
Отправлено: k291 от 21 Января 2017, 17:28:13
Настроил заглушку на Микротике по инструкции h_ttp://nodeny.com.ua:8080/wiki/index.php/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%82%D0%B8%D0%BA
Заглушка
На микротике выполним команды:
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=!1.1.1.2 src-address=!1.1.1.2 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=1.1.1.2 to-ports=8080
Здесь 1.1.1.2 - ip сервера с админкой NoDeny

Но на заглушку не переводит заблокированных клиентов. Надо еще чтото сделать, чтобы она работала?
На сервере(Ubuntu)в фаерволе все разрешено.


Название: Re: Микротик
Отправлено: Cell от 21 Января 2017, 20:14:12
Но на заглушку не переводит заблокированных клиентов. Надо еще чтото сделать, чтобы она работала?
На сервере(Ubuntu)в фаерволе все разрешено.
Тут сложно что-то угадать. Ты бы для начала на биллинге дамп посмотрел типа так:
tcpdump -i em0 -n port 8080
Проанализировал что происходит. Я вот вангую, что твой биллинг в душе не знает о существовании жизни за микротиком.


Название: Re: Микротик
Отправлено: k291 от 22 Января 2017, 07:49:23
Установлена Ubuntu
217.55.66.252 адрес машины с Нодени
217.55.66.250 адрес микротика

В фаерволе:
Код:
y# iptables -n -L -v --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     1638  110K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
2      186  9412 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
3      314  226K ACCEPT     all  --  enp2s0 *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     tcp  --  *      *       217.55.66.250        0.0.0.0/0            tcp dpt:8080
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            217.66.99.250        tcp dpt:8080
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            217.66.99.250        tcp spt:8080
4        0     0 ACCEPT     tcp  --  *      *       217.55.66.250        0.0.0.0/0            tcp dpt:8080

Chain OUTPUT (policy ACCEPT 309 packets, 37457 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     3414  211K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:8080
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1812
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:1812
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1813
5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:1813

Клиент заблокирован в билинге: Интернета нет
Tcpdump на сервере, выдает:
Цитировать
root@my:/usr/local/nodeny# tcpdump -i enp2s0 -n port 8080
tcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
07:04:10.943602 IP 217.55.66.252.8080 > 10.0.1.2.56014: Flags [S.], seq 1418934811, ack 2950311529, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:10.943610 IP 10.0.1.2.56015 > 217.55.66.252.8080: Flags [S.], seq 35142073, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
07:04:10.943619 IP 217.55.66.252.8080 > 10.0.1.2.56015: Flags [S.], seq 184472726, ack 35142074, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:11.205887 IP 217.55.66.252.8080 > 10.0.1.2.56010: Flags [S.], seq 1652429136, ack 1915600124, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:11.717886 IP 217.55.66.252.8080 > 10.0.1.2.56013: Flags [S.], seq 470908392, ack 2625623687, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:11.717901 IP 217.55.66.252.8080 > 10.0.1.2.56012: Flags [S.], seq 3322572897, ack 3205600477, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:11.973888 IP 217.55.66.252.8080 > 10.0.1.2.56015: Flags [S.], seq 184472726, ack 35142074, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:11.973903 IP 217.55.66.252.8080 > 10.0.1.2.56014: Flags [S.], seq 1418934811, ack 2950311529, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:04:12.549889 IP 217.55.66.252.8080 > 10.0.1.2.56011: Flags [S.], seq 3484709457, ack 816735160, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
^C
34 packets captured
34 packets received by filter
0 packets dropped by kernel


Клиент в билинге не заблокирован. Все работает, заглушка в том числе:
Цитировать
root@my:/usr/local/nodeny# tcpdump -i enp2s0 -n port 8080
07:01:38.702975 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [S.], seq 2832799464, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
07:01:38.703003 IP 217.55.66.252.8080 > 217.66.99.250.55970: Flags [S.], seq 40183081, ack 2832799465, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
07:01:38.703759 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [.], ack 1, win 256, length 0
07:01:38.710228 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [P.], seq 1:421, ack 1, win 256, length 420: HTTP: GET / HTTP/1.1
07:01:38.710241 IP 217.55.66.252.8080 > 217.66.99.250.55970: Flags [.], ack 421, win 237, length 0
07:01:38.710581 IP 217.55.66.252.8080 > 217.66.99.250.55970: Flags [P.], seq 1:488, ack 421, win 237, length 487: HTTP: HTTP/1.1 200 OK
07:01:38.710648 IP 217.55.66.252.8080 > 217.66.99.250.55970: Flags [F.], seq 488, ack 421, win 237, length 0
07:01:38.710980 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [.], ack 488, win 254, length 0
07:01:38.712289 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [.], ack 489, win 254, length 0
07:01:38.712869 IP 217.66.99.250.55970 > 217.55.66.252.8080: Flags [R.], seq 421, ack 489, win 0, length 0


Название: Re: Микротик
Отправлено: k291 от 22 Января 2017, 07:50:45
Ктото запустил заглушку на микротике? и как?


Название: Re: Микротик
Отправлено: k291 от 22 Января 2017, 07:56:07
Я вот вангую, что твой биллинг в душе не знает о существовании жизни за микротиком.
Чтобы билинг знал о микротике, достаточно прописать разрешения в фаерволе сервера?
Код:
${f} add 350 allow tcp from any to any 22,80,443,8080 in
${f} add 450 allow udp from 1.1.1.1 to any 1812,1813 in
${f} add 600 fwd 1.1.1.1 tcp from any 8080 to any
1.1.1.1 адрес микротика


Название: Re: Микротик
Отправлено: Cell от 22 Января 2017, 09:21:01
Беда беда... ну все же ясно как белый день....

на биллинге выполните и сохраните в rc.local

/sbin/route add 10.0.1.0/24 217.55.66.250

так вы объясните биллингу что сеть 10.0.1.0/24 нужно искать за микротиком.


Название: Re: Микротик
Отправлено: k291 от 22 Января 2017, 19:08:01
Спасибо!
Для работы заглушки(только при обращении на http страницы.https заглушка не работает) у клиентов за Микротитиком надо:

1) По инструкции http://nodeny.com.ua:8080/wiki/index.php/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%82%D0%B8%D0%BA. Это правило должно быть выше Маскарадинга:
Код:
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=!1.1.1.2 src-address=!1.1.1.2 dst-port=80 fragment=no protocol=tcp src-address-list=!goodboys to-addresses=1.1.1.2 to-ports=8080
(Здесь 1.1.1.2 - ip сервера с админкой NoDeny )

2) Прописать маршрут на сервере:
Ubuntu:
Код:
route add -net 10.0.1.0/24 gw 217.55.66.250 dev enp2s0
10.0.1.0/24 - клиентская сеть за микротиком
17.55.66.250 - адрес микротика
enp2s0 - внешний интерфейс на сервере
FreeBSD:
Код:
/sbin/route add 10.0.1.0/24 217.55.66.250

3) Разрешить прохождение пакетов в фаерволе:
Ubuntu:
Код:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT

iptables -A INPUT -p tcp --dport 1813 -d 217.55.66.250/32 -j ACCEPT
iptables -A INPUT -p tcp --sport 1813 -s 217.55.66.250/32 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1813 -d 217.55.66.250/32 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1813 -s 217.55.66.250/32 -j ACCEPT

iptables -A FORWARD -p tcp --dport 8080 -d 217.55.66.250/32 -j ACCEPT
iptables -A FORWARD -p tcp --dport 8080 -s 217.55.66.250/32 -j ACCEPT
FreeBSD:
По инструкции h_ttp://nodeny.com.ua:8080/wiki/index.php/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%82%D0%B8%D0%BA.
------------------------------------------------------------------------------
Если чтото не работает в Ubuntu(Во FreeBSD смотреть инструкцию по ссылке выше):
Разрешить все и всем:
Код:
iptables -A INPUT -i enp2s0 -j ACCEPT
iptables -A OUTPUT -i enp2s0 -j ACCEPT

Показать статус.
Код:
iptables -n -L -v --line-numbers

Показать движение пакетов:
Код:
tcpdump -i enp2s0 -n port 8080
tcpdump -i enp2s0 -n port 1812
tcpdump -i enp2s0 -n port 1813


Название: Re: Микротик
Отправлено: k291 от 22 Января 2017, 19:28:06
Для прохождения ping`ов(для работы модуля ping) с сервера на клиента за микротиком, надо чтото прописать в NAT`е микротика?
На сервере маршрут прописал:
Код:
route add -net 10.0.1.0/24 gw 217.66.55.250 dev enp2s0
Уже столько сижу перед микротик,что уже туплю)


Название: Re: Микротик
Отправлено: Cell от 22 Января 2017, 23:53:04
Да проверить очень просто, ставишь пинг на клиента (естественно он должен уметь пинговаться, а не так как винда за брандмауэром).
А в файрволе создай два правила в таблице форвард как можно ближе к началу что-то типа разрешить протокол icmp, для входящего (второе правило для исходящего) интерфейса.
что-то типа такого
Цитировать
/ip firewall filter
add action=accept chain=forward out-interface=ether2 protocol=icmp src-address=1.1.1.1
add action=accept chain=forward dst-address=1.1.1.1 out-interface=ether1 protocol=icmp
А лучше покажи весь свой файрвол на микротике
/ip firewall export
а там уж решим


Название: Re: Микротик
Отправлено: k291 от 23 Января 2017, 01:15:54
Код:
add action=accept chain=forward out-interface=ether1 protocol=icmp src-address=217.66.55.252
add action=accept chain=forward dst-address=217.66.55.252 out-interface=ether1 protocol=icmp
217.66.55.252 адрес сервера

/ip firewall - все запреты отключены
Цитировать
[admin@RouterOS] > /ip firewall export
# jan/23/2017 00:55:40 by RouterOS 6.38
# software id = YJLW-CR7U
#
/ip firewall address-list
add address=10.77.0.5 comment=4467785733 list=goodboys
add address=10.0.0.100 comment=4462739556 list=goodboys
add address=10.0.1.2 comment=7939974135 list=goodboys
/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=established,related
add action=accept chain=forward comment="default configuration" connection-state=established,related
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input connection-state=established
add action=accept chain=input src-address=10.77.0.0/24
add action=accept chain=input src-address=10.0.0.0/24
add action=accept chain=input src-address=10.0.1.0/24
add action=accept chain=forward out-interface=ether1 protocol=icmp src-address=217.66.55.252
add action=accept chain=forward dst-address=217.66.55.252 out-interface=ether1 protocol=icmp
add action=accept chain=icmp comment="ICMP echo reply" icmp-options=0:0 protocol=icmp
add action=accept chain=icmp comment="ICMP net unreachable" icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="ICMP net unreachable" icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="ICMP host unreachable" icmp-options=3:1 protocol=icmp
add action=accept chain=icmp comment="ICMP host unreachable fragmentation required" icmp-options=3:4 protocol=icmp
add action=accept chain=icmp comment="ICMP allow source quench" icmp-options=4:0 protocol=icmp
add action=accept chain=icmp comment="ICMP allow echo request" icmp-options=8:0 protocol=icmp
add action=accept chain=icmp comment="ICMP allow time exceed" icmp-options=11:0 protocol=icmp
add action=accept chain=icmp comment="ICMP allow parameter bad" icmp-options=12:0 protocol=icmp
add action=accept chain=input comment="Accept PPTP tunnels" dst-port=1723 protocol=tcp
add action=accept chain=input protocol=gre
add action=accept chain=input comment="Allow Established connections" connection-state=established
add action=accept chain=input comment="Allow Related connections" connection-state=related
add action=accept chain=input comment="Allow SSH" dst-port=22 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=22 in-interface=ether2 protocol=tcp
add action=accept chain=input comment="Allow HTTP" dst-port=80 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=80 in-interface=ether2 protocol=tcp
add action=accept chain=input comment="Allow SNMP" dst-port=161 in-interface=ether1 protocol=udp
add action=accept chain=input dst-port=161 in-interface=ether2 protocol=udp
add action=accept chain=input comment="Allow HTTPS" dst-port=443 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=443 in-interface=ether2 protocol=tcp
add action=accept chain=input comment="Allow OpenVPN" dst-port=1194 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=1194 in-interface=ether1 protocol=udp
add action=accept chain=input dst-port=1194 in-interface=ether2 protocol=tcp
add action=accept chain=input dst-port=1194 in-interface=ether2 protocol=udp
add action=accept chain=input comment=Winbox dst-port=8291 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=8291 in-interface=ether1 protocol=udp
add action=accept chain=input dst-port=8291 in-interface=ether2 protocol=tcp
add action=accept chain=input dst-port=8291 in-interface=ether2 protocol=udp
add action=accept chain=input comment="Allow L2TP tcp" dst-port=1701 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=1701 in-interface=ether2 protocol=tcp
add action=accept chain=input comment="Allow L2TP udp" dst-port=1701 in-interface=ether1 protocol=udp
add action=accept chain=input dst-port=1701 in-interface=ether2 protocol=udp
add action=accept chain=input comment="Allow L2TP IPSec" dst-port=500 protocol=udp
add action=accept chain=input protocol=ipsec-ah
add action=accept chain=forward protocol=ipsec-esp
add action=accept chain=input comment="Allow PPTP" dst-port=1723 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-port=1723 in-interface=ether2 protocol=tcp
add action=accept chain=input comment="Allow GRE" in-interface=ether1 protocol=gre
add action=accept chain=input in-interface=ether2 protocol=gre
add action=accept chain=forward comment="Allow Established connections" connection-state=established
add action=accept chain=forward comment="Allow Related connections" connection-state=related
add action=drop chain=forward disabled=yes src-address=192.168.89.0/24
add action=drop chain=input comment="Drop everything else" disabled=yes in-interface=ether1
add action=drop chain=input comment="Drop everything else" disabled=yes in-interface=ether2
add action=drop chain=forward comment="Drop Invalid connections" connection-state=invalid disabled=yes
add action=drop chain=icmp comment="ICMP deny all other types" disabled=yes
add action=drop chain=forward comment="Block Bogon IP Address" disabled=yes src-address=127.0.0.0/8
add action=drop chain=forward disabled=yes dst-address=127.0.0.0/8
add action=drop chain=forward disabled=yes src-address=224.0.0.0/3
add action=drop chain=forward disabled=yes dst-address=224.0.0.0/3
add action=drop chain=input comment="Drop DNS" disabled=yes dst-port=53 in-interface=ether1 protocol=udp
add action=drop chain=input disabled=yes dst-port=53 in-interface=ether1 protocol=tcp
add action=drop chain=input comment="Drop DNS" disabled=yes dst-port=53 in-interface=ether2 protocol=udp
add action=drop chain=input disabled=yes dst-port=53 in-interface=ether2 protocol=tcp
add action=drop chain=input comment="Block hole Windows" disabled=yes dst-port=135,137-139,445,593,4444 protocol=tcp
add action=drop chain=forward disabled=yes dst-port=135,137-139,445,593,4444 protocol=tcp
add action=drop chain=input disabled=yes dst-port=135,137-139 protocol=udp
add action=drop chain=forward disabled=yes dst-port=135,137-139 protocol=udp
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="Port scanners to list" disabled=yes protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" disabled=yes protocol=tcp tcp-flags=\
    fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="SYN/FIN scan" disabled=yes protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="SYN/RST scan" disabled=yes protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" disabled=yes protocol=tcp tcp-flags=\
    fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="ALL/ALL scan" disabled=yes protocol=tcp tcp-flags=\
    fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list=port_scanners address-list-timeout=2w chain=input comment="NMAP NULL scan" disabled=yes protocol=tcp tcp-flags=\
    !fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input comment="dropping port scanners" disabled=yes src-address-list=port_scanners
add action=drop chain=forward comment="dropping port scanners" disabled=yes src-address-list=port_scanners
add action=jump chain=forward comment="Zashita ot DDOS s fiksacyey na 10 minet istochnika i naznacheniya" connection-state=new disabled=yes jump-target=block-ddos
add action=drop chain=forward connection-state=new disabled=yes dst-address-list=ddosed src-address-list=ddoser
add action=return chain=block-ddos disabled=yes dst-limit=50,50,src-and-dst-addresses/10s
add action=add-dst-to-address-list address-list=ddosed address-list-timeout=10m chain=block-ddos disabled=yes
add action=add-src-to-address-list address-list=ddoser address-list-timeout=10m chain=block-ddos disabled=yes
/ip firewall nat
add action=masquerade chain=srcnat disabled=yes
add action=accept chain=srcnat disabled=yes protocol=icmp
add action=accept chain=dstnat disabled=yes protocol=icmp
add action=dst-nat chain=dstnat dst-address=!217.66.55.252 dst-port=80,443 fragment=no protocol=tcp src-address=!217.66.55.252 src-address-list=!goodboys to-addresses=\
    217.66.55.252 to-ports=8080
add action=masquerade chain=srcnat out-interface=ether1 src-address=10.0.1.0/24 src-address-list=goodboys
add action=masquerade chain=srcnat out-interface=ether2 src-address=10.0.1.0/24 src-address-list=goodboys
[admin@RouterOS] >

Когда пускаешь пинг на сервере в сторону клиента за микротиком:
Цитировать
root@my:/usr/local/nodeny# ping 10.0.1.2
PING 10.0.1.2 (10.0.1.2) 56(84) bytes of data.
From 217.66.99.250 icmp_seq=1 Destination Host Unreachable
From 217.66.99.250 icmp_seq=2 Destination Host Unreachable
From 217.66.99.250 icmp_seq=3 Destination Host Unreachable
При каждом запуске пинга, в нижних правилах растет трафик:
Код:
/ip firewall nat
add action=accept chain=srcnat disabled=yes protocol=icmp
add action=accept chain=dstnat disabled=yes protocol=icmp


Название: Re: Микротик
Отправлено: Cell от 23 Января 2017, 11:49:49
Это жесть какая-то а не файрвол.
Чем меньше правил, тем меньше нагрузка на ядро будет. Думайте об этом иногда!
Цитировать
add action=accept chain=forward out-interface=ether1 protocol=icmp src-address=217.66.55.252
add action=accept chain=forward dst-address=217.66.55.252 out-interface=ether1 protocol=icmp
аут интерфейс в обоих случаях не может быт ether1 - это бред. В одном случае он ин а в другом аут

Цитировать
add action=accept chain=srcnat disabled=yes protocol=icmp
add action=accept chain=dstnat disabled=yes protocol=icmp
вообще не знаю что ты имел ввиду с этими правилами. Убери их нах )


Название: Re: Микротик
Отправлено: k291 от 23 Января 2017, 13:25:52
Это тестовый микротик. Пока для экспериментов.
Чтобы сервер ping`ал клиентов которые находятся за Mikrotik`ом, необходимо сделать следующее:
1) В микротике:
Код:
add action=accept chain=forward src-address=217.66.55.252 in-interface=ether1 protocol=icmp
add action=accept chain=forward dst-address=217.66.55.252 out-interface=ether1 protocol=icmp
Где 217.66.55.252 адрес сервера.

2) На сервере:
Ubuntu:
Код:
route add -net 10.0.1.0/24 gw 217.10.30.2 dev enp2s0
10.0.1.0/24 клиентская сеть за микротиком
217.10.30.2 адрес внешнего порта микротика
enp2s0 внешний интерфей на сервере

FreeBSD:
Код:
/sbin/route add 10.0.1.0/24 217.10.30.2


Название: Re: Микротик
Отправлено: k291 от 01 Февраля 2017, 02:51:11
В случае связки с Микротиком как можно увеличить время аренды IP адреса на 10 дней?

В модуле dhcp я увеличил. Ядра перезагрузил.
Код:
my $db = Db->sql("SELECT INET_NTOA(ip) AS ipa FROM mac_uid WHERE uid>0 AND ip>0 AND time>(UNIX_TIMESTAMP()-?)", [b]14405[/b]*60);

/etc/dhcp/dhcpd.conf вроде не участвует, но max-lease-time увеличил 14400. dhcp на всякий случай перезагрузил. Где еще надо увеличить время?


Название: Re: Микротик
Отправлено: k291 от 01 Февраля 2017, 22:57:15
В случае связки с Микротиком как можно увеличить время аренды IP адреса на 10 дней?

В модуле dhcp я увеличил. Ядра перезагрузил.
Код:
my $db = Db->sql("SELECT INET_NTOA(ip) AS ipa FROM mac_uid WHERE uid>0 AND ip>0 AND time>(UNIX_TIMESTAMP()-?)", [b]14405[/b]*60);

/etc/dhcp/dhcpd.conf вроде не участвует, но max-lease-time увеличил 14400. dhcp на всякий случай перезагрузил. Где еще надо увеличить время?
Время выдачи IP адреса берется с процедуры h_ttp://forum.nodeny.com.ua/index.php?topic=2919.msg30680#msg30680:
Код:
    SELECT NULL, login, 'Session-Timeout', '600', '=';
'2592000' = 30 дней.


Название: Re: Микротик
Отправлено: k291 от 20 Июня 2017, 02:42:49
Написал netwatch, задача которого пинговать host с билингом. В случае отсутствия связи с билингом, все выданные IP адреса по DHCP становятся статическими, чтобы у клюентов не пропадал доступ в интернет.
При восстановлении связи с билингом, удаляем статические адреса и ждем адреса от билинга.
Код:
tool netwatch add host=200.200.200.200 
up-script=#Pri aktivnoy svyazi s bilingo, udalyaem vse staticheskie adresa
/ip dhcp-server lease remove [/ip dhcp-server lease find]
down-script=#Vse aktivnye adresaperevodim v statiku,chtoby u klienta rabotal internet v sluchae otsutstviya svyazi s bilingom
/ip dhcp-server lease make-static [/ip dhcp-server lease find]

Но столкнулся со следующей проблемой:
Билинг выдает первый свободный адрес из пулла, так как связи с билинго не было, в пулле все адреса свободные. Но некоторые роутеры(>50%), по какой-то причине не получают адрес от билинга, а продолжают работать с ранее полученным. Выходит, что в сети уже два роутера с одинаковыми адресами, введу чего интернет у обоих не работает.
Выходит, что после появления связи с билингом, интернет не работает у 90% клиентов. Приходится клиентам отключать роутер на 10минут.

Не могли бы Вы сделать постоянную привязку IP+MAC в MySQL, как это сделано в FreeBSD?


Название: Re: Микротик
Отправлено: Efendy от 20 Июня 2017, 10:12:11
Так а в чем проблема прописать в учетке абона статический ip и там же добавить ему мак?


Название: Re: Микротик
Отправлено: k291 от 20 Июня 2017, 14:28:36
При добавлении статического адреса в билинге на странице клиента, назначенный адрес не выдается(скрин в аттаче).
Напротив статического адреса в пулле, ТЕГ такойже как и у остальных адресов(скрин в аттаче).

Даже если бы выдавало статический адрес, то при большом количестве адресов устанешь всем назначать статику))


Название: Re: Микротик
Отправлено: Efendy от 20 Июня 2017, 16:56:34
Цитировать
Не могли бы Вы сделать постоянную привязку IP+MAC
во фре сам dhcpd сервер за этим следит и наверняка есть логика, когда пула ip не хватает и dhcpd выдает уже ранее использованный ip, но привязанный к другому маку.

Почему на твоем скриншоте не выдает статический ip - нужно смотреть процедуры. Приведи, а то их уже достаточно много вариантов

 


Название: Re: Микротик
Отправлено: k291 от 20 Июня 2017, 19:47:59
Цитировать
Не могли бы Вы сделать постоянную привязку IP+MAC
во фре сам dhcpd сервер за этим следит и наверняка есть логика, когда пула ip не хватает и dhcpd выдает уже ранее использованный ip, но привязанный к другому маку.

Почему на твоем скриншоте не выдает статический ip - нужно смотреть процедуры. Приведи, а то их уже достаточно много вариантов

 
Процедура h_ttp://forum.nodeny.com.ua/index.php?topic=2919.msg30680#msg3068, от 21 Января 2017

Во FreeBSD я все настраивал по инструкции и у меня так: Клиент регистрируется в сети, получает IP. Выключает роутер. Через "неделю" включает, и получает тотже IP, что и изначально. И так всегда, пока не сменит устройство.

Предположу, что по процедуре выше, МАС-адреса на всегда записываются в mac_uid, а IP адреса очищаются через время.


Название: Re: Микротик
Отправлено: Efendy от 21 Июня 2017, 07:34:40
По ссылке в процедурах не учитываются статические ip. В доке учитываются: http://nodeny.com.ua/wiki/index.php/%D0%92%D1%8B%D0%B4%D0%B0%D1%87%D0%B0_ip_%D0%B2_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BE%D1%82_%D1%82%D0%BE%D0%B3%D0%BE,_%D0%BA_%D0%BA%D0%B0%D0%BA%D0%BE%D0%BC%D1%83_NAS_%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD_%D0%B0%D0%B1%D0%BE%D0%BD%D0%B5%D0%BD%D1%82


Название: Re: Микротик
Отправлено: k291 от 02 Сентября 2017, 01:57:54
Процедура выше помогла, но появилась другие проблемы:
1) В "Маки авторизаций" на центральной странице, пропали МАС адреса. Вообще не чего нет, кроме "Таблица слева показывает......."
2) На странице клиента "Последняя авторизация 02:52 методом «pppoe»", но я pppoe, а использую DHCP
3) При переходе на "Последняя авторизация" скрин в аттаче
Возможно чтото надо поменять в процедуре для DHCP. Я использую (Ubuntu+Radius)+(Mikrotik+DHCP)


Название: Re: Микротик
Отправлено: k291 от 02 Сентября 2017, 12:56:33
Достаточно поменять pppoe на dhcp в процедуре ниже?

Код:
DROP PROCEDURE IF EXISTS `radupdate`;
.........
CALL set_auth(usr_ip, CONCAT('mod=[b]pppoe[/b];', REPLACE(properties,':','')));


Название: Re: Микротик
Отправлено: k291 от 17 Октября 2017, 20:15:13
Вдруг кому понадобится:
Отправка сообщений на email и telegram непосредственно с Mikrotik.

1) Для начала, нам надо создать BOT в Telegram:
На телефоне в Telegram, находим @BotFather в нем создаем бота(Например @Nodeny), узнаем token bot`a "/mybots", выбираем своего бота, в ответ получаем "777777777:AAF1IywqEMRsNObEXUwtiNL2Y3ygJtMVQrU".
Теперь надо узнать ID Chat(по сути ID телеграма,что установлен на телефоне), находим @MyTelegramID_bot, "/start", получаем ответ "333344444"

1.2) Подключаем SNMP(google) для отправки email:
/tool e-mail set address=173.194.69.108 port=587 start-tls=yes from=pupkin@gmail.com user=pupkin password=1234567a

2) В Mikrotik переходим в Tools -> Netwatch
Сождаем Netwatch
Host: 222.333.444.1
interval: 00:00:15
Comment: Test ISP1 na nalichie interneta

В UP добавляем:
Код:
:log warning "UP - ISP1(Ubi.nets): IP poyavilsya v internete";

/tool e-mail send to=Priem@email.net from="MikroTik: Pobedy24<robot@mysite.ru>" \
subject="UP - ISP1(Ubi.nets): IP poyavilsya v internete" \
body="UP - ISP1(Ubi.nets): IP poyavilsya v internete\nData: $[/system clock get date]\nTime: $[/system clock get time]\nSostoyanie: ISP1: $[/interface get number=ISP1 last-link-up-time]\nSostoyanie: ISP2: $[/interface get number=ISP2 last-link-up-time]\nSostoyanie: ISP3: $[/interface get number=ISP3 last-link-up-time]";

#Telegram
/tool fetch url="h_ttps://api.telegram.org/bot777777777:AAF1IywqEMRsNObEXUwtiNL2Y3ygJtMVQrU/sendMessage\?chat_id=333344444&text=UP - MikroTik: Pobedy24 - ISP1(Ubi.nets): IP poyavilsya v internete"

В Down  добавляем:
Код:
:log warning "DOWN - ISP1(Ubi.nets): IP propal v internete";

/tool e-mail send to=Priem@email.net from="MikroTik: Pobedy24<robot@mysite.ru>" \
subject="DOWN - ISP1(Ubi.nets): IP propal v internete" \
body="DOWN - ISP1(Ubi.nets): IP propal v internete\nData: $[/system clock get date]\nTime: $[/system clock get time]\nSostoyanie: ISP1: $[/interface get number=ISP1 last-link-up-time]\nSostoyanie: ISP2: $[/interface get number=ISP2 last-link-up-time]\nSostoyanie: ISP3: $[/interface get number=ISP3 last-link-up-time]";

#Telegram
/tool fetch url="h_ttps://api.telegram.org/bot777777777:AAF1IywqEMRsNObEXUwtiNL2Y3ygJtMVQrU/sendMessage\?chat_id=333344444&text=DOWN - MikroTik: Pobedy24 - ISP1(Ubi.nets): IP propal v internete"

PS:  h_ttps меняем на нормальный


Название: Re: Микротик
Отправлено: Stronglan от 11 Апреля 2018, 17:36:51
Удалось ли решить проблему с загрузкой одного ядра проца?


Название: Re: Микротик
Отправлено: Cell от 12 Апреля 2018, 00:47:19
Удалось ли решить проблему с загрузкой одного ядра проца?
Проца чего? У микротика нет таких проблем. Разве что на каких-то старых прошивках бывало.


Название: Re: Микротик
Отправлено: DezZ от 12 Апреля 2018, 11:55:15
Добрый день.
А предусмотрена ли защита от мультисессий? можно ли запретить поднятие повторной РРРоЕ сессии, с тем же логином и паролем но с другим маком?


Название: Re: Микротик
Отправлено: Cell от 12 Апреля 2018, 14:14:16
Можно это довольно легко осуществить с помощью процедур базы данных, обсуждалось уже много раз на форуме. Кроме всего этого в PPPoE сервере микротика есть настройка, не позволяющая двойные и тройные авторизации с одного хоста.


Название: Re: Микротик
Отправлено: DezZ от 12 Апреля 2018, 14:16:52
Можно это довольно легко осуществить с помощью процедур базы данных, обсуждалось уже много раз на форуме. Кроме всего этого в PPPoE сервере микротика есть настройка, не позволяющая двойные и тройные авторизации с одного хоста.

Видимо я неправильные критерии поиска задал. Спасибо поищу.
Запрет дублей с одного хоста не проблема. Тут вопрос в том, что б не допускать двойные сессии с разных хостов.


Название: Re: Микротик
Отправлено: Stronglan от 12 Апреля 2018, 18:59:13
Удалось ли решить проблему с загрузкой одного ядра проца?
Проца чего? У микротика нет таких проблем. Разве что на каких-то старых прошивках бывало.

Имелось ввиду загрузка одного ядра сервера на котором работает модуль для связки с микротиком.


Название: Re: Микротик
Отправлено: Cell от 12 Апреля 2018, 19:40:24
Удалось ли решить проблему с загрузкой одного ядра проца?
Проца чего? У микротика нет таких проблем. Разве что на каких-то старых прошивках бывало.

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


Название: Re: Микротик
Отправлено: Stronglan от 12 Апреля 2018, 22:07:04
Возникла проблема! Кто ее реши - поделитесь. или может подскажите как разрулить нагрузку по процам.
/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d   
этот модуль грузит одно из ядер на 100 процентов (от 70-100) и это не зависит от времени суток. Кто как решил. ?

Вот это я имел ввиду)


Название: Re: Микротик
Отправлено: Cell от 12 Апреля 2018, 22:21:29
Возникла проблема! Кто ее реши - поделитесь. или может подскажите как разрулить нагрузку по процам.
/usr/bin/perl /usr/local/nodeny/noserver.pl -g=_mikrotik1.cfg.pm -d   
этот модуль грузит одно из ядер на 100 процентов (от 70-100) и это не зависит от времени суток. Кто как решил. ?

Вот это я имел ввиду)
гм. Никак не решал т.к. ни разу я не сталкивался с такой проблемой. Там довольно не напряжный демон. Мне трудно даже представить сколько должно быть юзеров чтобы оно начало обсираться. Видимо там совсем слабенький таз был. У микротиков довольно туповатое апи и много юзеров через него управлять довольно плохо со стороны самого микротика. 1500-2000 это край. Потом само апи тупить начинает.


Название: Re: Микротик
Отправлено: Stronglan от 13 Апреля 2018, 07:28:38
Вот настройки для микротика
Код:
/ip hotspot profile add hotspot-address=10.254.111.1 html-directory=hotspotmacwithoutpass login-by=mac mac-auth-mode=mac-as-username-and-password name=IPOE nas-port-type=ethernet radius-interim-update=5m use-radius=yes
/ip hotspot add address-pool=v111 addresses-per-mac=1 disabled=no interface=bridge name=IPOE-hotspot profile=IPOE
/ip hotspot user add name=admin
/radius add address=172.16.0.1 secret=hardpass service=hotspot,dhcp timeout=2s
/radius incoming set accept=yes

управление доступом по вкусу, типа такого

Код:
/ip firewall filter
add action=accept chain=forward dst-port=80 out-interface=ether1-gw protocol=tcp src-address-list=!goodboys
add action=drop chain=forward out-interface=ether1-gw src-address-list=!goodboys
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 protocol=tcp src-address-list=!goodboys to-addresses=10.20.30.40 to-ports=80
Остается только передать радиусом необходимые атрибуты и все поехало.
Необходимые дополнительные атрибуты (для фрирадиуса видимо их нужно внести в словарь) это Mikrotik-Address-List и Mikrotik-Rate-Limit

Может быть тогда вернемся к данному посту? И попросим автора поработать в данном направлении, думаю многим будет интересно


Название: Re: Микротик
Отправлено: Cell от 13 Апреля 2018, 09:31:48
Все давно уже реализовано. Не знаю к чему вы там собираетесь возвращаться. Скажи что именно ты хочешь и я тебе дам ссылки на мануал как это настраивать.


Название: Re: Микротик
Отправлено: k291 от 13 Апреля 2018, 20:28:49
Подскажите, как выдаватать ip из другой под сети(без доступа в интернет), заблокированным клиентам.


Название: Re: Микротик
Отправлено: Cell от 13 Апреля 2018, 21:45:35
Подскажите, как выдаватать ip из другой под сети(без доступа в интернет), заблокированным клиентам.
В процедурах можно предусмотреть такую проверку но как по мне то это не правильно, т.к. сейчас ты заблокированный а через 30 секунд уже нет.


Название: Re: Микротик
Отправлено: gen PSI от 26 Апреля 2018, 21:27:52
Приветствую всех уважаемых гуру !

Есть проблемка с связкой Нодени-МТ . Биллинг создает время от времени спонтанно queue с ограничением 100Мбит(а иногда unlimited) для все и вся(помимо нормальной нарезки ) и это естественно негативно влияет на работу сети.
Есть пару вариантов
1)Вылечить эту проблему
2)Убрать нарезку из модуля совсем так как в сети и так осталось пару тарифов.

Подскажите пожалуйста.


Название: Re: Микротик
Отправлено: Cell от 26 Апреля 2018, 23:44:39
У микротика туповатое апи поэтому при количестве абонентово 2000+ такое иногда бывает. Лечится удалением всех шейперов через планировщик. Через пару минут заезжают новые шейпера - более актуальные.
Ну а если хотите вообще отключить шейпер - в конфиге модуля есть переменная для этого, даже не знаю как ее можно по другому истолковать.


Название: Re: Микротик
Отправлено: gen PSI от 27 Апреля 2018, 08:26:44
Спасибо за ответ. Клиентов около 1000 .... Очереди удалял руками , потом они нормально появляются , но после опять начинаются чудеса.
Тогда лучше отключить шейпер полностью ... Какая переменная и способ ее отключения ?


Название: Re: Микротик
Отправлено: Cell от 27 Апреля 2018, 11:54:05
да загляни в конфиг, там 10 срочек всего


Название: Re: Микротик
Отправлено: gen PSI от 27 Апреля 2018, 13:39:44
Можно немного конкретнее какой файл и какие строчки ?


Название: Re: Микротик
Отправлено: Redmen от 28 Апреля 2018, 14:10:33
Можно немного конкретнее какой файл и какие строчки ?
cfg/mikrotik1.cfg.pm или как он у тебя зовется
а в нем
Код:
$do_not_use_shape = 0;          # 1 - если не нужно шейпить клиентов
выстави в 1 и simple-queues перестанут создаваться
но нужно перезапустить модуль микротика, затем вручную на микротике удалить все simple-queues


Название: Re: Микротик
Отправлено: gen PSI от 28 Апреля 2018, 20:23:01
Спасибо,попробуем.


Название: Re: Микротик
Отправлено: gen PSI от 01 Мая 2018, 10:08:37
файл конфига называется Hw_mikrotik и там нету $do_not_use_shape = 0; 

Есть какой то большой скрипт для очередей . Какие еще варианты могут быть чтоб очереди не создавались ?


Название: Re: Микротик
Отправлено: Cell от 01 Мая 2018, 14:53:10
тему пора переносить в юмор


Название: Re: Микротик
Отправлено: k291 от 01 Мая 2018, 15:31:50
файл конфига называется Hw_mikrotik и там нету $do_not_use_shape = 0;  

Есть какой то большой скрипт для очередей . Какие еще варианты могут быть чтоб очереди не создавались ?
Скорей всего, надо обновить модуль.
Отпишитесь по итогу


Название: Re: Микротик
Отправлено: gen PSI от 01 Мая 2018, 17:17:29
как обновить? меня интиресует ршение вопроса с текущим модулем. Надо просто отключить нарузку .


Название: Re: Микротик
Отправлено: SerjioMati от 01 Мая 2018, 23:02:22
как обновить? меня интиресует ршение вопроса с текущим модулем. Надо просто отключить нарузку .

Код:
ee /usr/local/nodeny/modules/mikrotik/create.cfg.mikrotik.cfg.pm 
найти
Код:
$do_not_use_shape = 0;          # 1 - если не нужно шейпить клиентов
заменить на
Код:
$do_not_use_shape = 1;          # 1 - если не нужно шейпить клиентов


Название: Re: Микротик
Отправлено: gen PSI от 03 Мая 2018, 09:07:03
Есть фаил hw_mikrotik.pl
версия nodeny 50.32


ee /usr/local/nodeny/modules/mikrotik/create.cfg.mikrotik.cfg.pm ничего не дает.


Название: Re: Микротик
Отправлено: Efendy от 03 Мая 2018, 10:17:28
Ответ в прикреплении


Название: Re: Микротик
Отправлено: gen PSI от 03 Мая 2018, 13:34:43
Это ответ ? "Биллинговая система Nodeny > Главная категория > Модули NodenyPlus > Микротик" чем это ответ? Что-то вы не то прекрепили ...


Название: Re: Микротик
Отправлено: Warlock от 03 Мая 2018, 15:32:21
версия nodeny 50.32
Кажется вы веткой форума ошиблись.


Название: Re: Микротик
Отправлено: gen PSI от 03 Мая 2018, 18:53:22
Этот ответ более понятен. Спасибо.
Жаль что проблема хоть и не верной темы - но не решена.


Название: Re: Микротик
Отправлено: Efendy от 04 Мая 2018, 08:28:27
Решение проблемы - перейти на Н+. В н50 модуль микротика очень проблемный и был полностью переписан в Н+


Название: Re: Микротик
Отправлено: gen PSI от 11 Мая 2018, 09:06:34
Решение проблемы - перейти на Н+. В н50 модуль микротика очень проблемный и был полностью переписан в Н+
Спасибо за ответ. Мы уже думаем про этот вариант.


Название: Re: Микротик
Отправлено: Stronglan от 06 Июня 2018, 13:30:11
Удалось ли кому то реализовать авторизацию абонента через заглушку путем ввода логина и пароля? У меня просто пишет "Вы не авторизованы, обратитесь к администрации"


Название: Re: Микротик
Отправлено: NoDeny support от 06 Июня 2018, 16:42:40
Удалось ли кому то реализовать авторизацию абонента через заглушку путем ввода логина и пароля? У меня просто пишет "Вы не авторизованы, обратитесь к администрации"
а у вас сервер где поднята заглушка, видит ип абонов с микротика?


Название: Re: Микротик
Отправлено: Stronglan от 06 Июня 2018, 20:00:56
Да видит, например при заблокированном счете заглушка отрабатывает, пишет минусовой балланс т. д


Название: Re: Микротик
Отправлено: k291 от 14 Августа 2018, 00:41:00
Использую Mikrotik+Radius+DHCP+скрипт который все адреса в DHCP делает статическими в случае отсутствия связи с билингом. Бывает моменты, когда скрипт по разным причитан не удаляет статические адреса. Соответственно Mikrotik не обращается к Radius для получения IP. Через время билинг считает, что клиент ушел в офлайн, пропадает зеленый ключик и модуль Mikrotik не отправляет команду с добавление IP в белый список, а наоборот шлет об удалении. Соответственно у клиента пропадает интернет. До тех пор, пока не удалишь статику.
Если бы модуль Mikrotik брал данные не от авторизации, а от "Доступ Да/Нет" таких бы ситуаций не было.


Название: Re: Микротик
Отправлено: Cell от 13 Сентября 2018, 10:20:13
Предостерегаю всех от необдуманных обновлений прошивки 6.43
Очень много изменений, сначала изучите чтобы потом не было мучительно больно.
Ну и вишенкой на торте изменения в АПИ, процесс авторизации - https://wiki.mikrotik.com/wiki/Manual:API#Initial_login  нужно ждать обновления модуля. Иначе вообще работать перестанет.


Название: Re: Микротик
Отправлено: Cell от 17 Сентября 2018, 09:35:02
Уж не знаю, что они там наобновляли в авторизации АПИ, но все работает после обновления. Нашлись смелые для проверки ))


Название: Re: Микротик
Отправлено: Jovani от 07 Декабря 2018, 08:28:11
Подскажите в чём проблема может быть, при запуске скрипта такая ошибка?
Код:
root@nodeny:/usr/local/nodeny # perl noserver.pl -g=_mikrotik1.cfg.pm -v
Experimental keys on scalar is now forbidden at noserver.pl line 257.
Type of arg 1 to keys must be hash or array (not hash element) at noserver.pl line 257, near "}) "
Execution of noserver.pl aborted due to compilation errors.


Название: Re: Микротик
Отправлено: Efendy от 07 Декабря 2018, 19:42:08
Подскажите в чём проблема может быть, при запуске скрипта такая ошибка?
последняя ревизия биллинга?

P.S. Все, не надо. Понял в чем ошибка - чертовы разные версии perl, некоторые фичи были удалены, все забываю об этом. Сейчас будет фикс

P.P.S. Обнови биллинг. В версии 547 пофикшено


Название: Re: Микротик
Отправлено: Jovani от 07 Декабря 2018, 19:56:14
уже решил сам ($n+1) == keys (% {$M->{users}{$uid}{ips}}) or next;
Cпасибо.


Название: Re: Микротик
Отправлено: k291 от 13 Декабря 2018, 18:41:15
Подскажите, как научить модуль добавлять данные в таблицу goodboys по статусу "Заблокирован "НЕТ"", а не по зеленому ключику? А то, все хорошо, но блин удаление IP из goodboys, при оплаченной услуге, из за отсутствие авторизации, это не правильно.


Название: Re: Микротик
Отправлено: Cell от 13 Декабря 2018, 22:28:33
Подскажите, как научить модуль добавлять данные в таблицу goodboys по статусу "Заблокирован "НЕТ"", а не по зеленому ключику? А то, все хорошо, но блин удаление IP из goodboys, при оплаченной услуге, из за отсутствие авторизации, это не правильно.
Всегда онлайн решает )


Название: Re: Микротик
Отправлено: Revizor от 07 Мая 2019, 14:50:05
Всем привет

Уже довольно давно мучает проблема:
Учетная запись биллинга выпадает из микротика и он начинает резко удалить адреса из списка goodboys - потом он авторизовывается обратно ну и конечно возвращает на родину все адреса.
Пока он там размышляет о высоком пользователей выкидывает на заглушку с фразой что интернет есть все ок но никуда не пускает (я думаю понятно почему)

Log
Код:
06:37:02 system,info address list entry removed by bill 
06:37:02 system,info address list entry removed by bill
06:37:02 system,info address list entry removed by bill
06:37:03 system,info address list entry removed by bill
06:37:03 system,info address list entry removed by bill
06:37:03 system,info address list entry removed by bill
06:37:03 system,info address list entry removed by bill
06:37:03 system,info,account user bill logged out from 10.1.0.5 via api
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:04 system,info address list entry removed by bill
06:37:06 system,info address list entry removed by bill
06:37:06 system,info address list entry removed by bill
06:37:06 system,info address list entry removed by bill
06:40:44 system,info,account user bill logged in from 10.1.0.5 via api
06:41:01 system,info address list entry removed by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
06:41:06 system,info address list entry added by bill
Это малая часть лога, за пару секунд он успевает перелопатить довольно много адресов
Не зависит от нагрузки и времени суток, может не вылазить неделю месяц, может за неделю два-три раза повторить
 
У кого была такая проблема? Как решили?

P.S.
bill - пользователь специально заведенный для биллинга имеет права на чтение и запись по api
Ревизия последняя (Наблюдается уже около года проблема)
Прошивка в микротике уже последняя (от версии не зависит появилось давно)
Версия модуля последняя


Название: Re: Микротик
Отправлено: Efendy от 07 Мая 2019, 18:07:34
Цитировать
Учетная запись биллинга выпадает из микротика и он начинает резко удалить адреса из списка goodboys
учетная запись биллинга - ты имеешь ввиду учетку, под которой биллинг коннектиться по АПИ к микротику? Пока не могу глянуть в код, но по идее наоборот биллинг должен пытаться добавить все ip в goodboys. По приезду домой разберусь - думаю можно будет проверять есть ли доступ по апи в случае, если на команду микротик ничего не ответил. Короче, разрулим


Название: Re: Микротик
Отправлено: Efendy от 09 Мая 2019, 11:08:25
Не удалось повторить проблему:

1) удалил учетную запись в микротике - тут ваще прикол в том, что соединение по апи продолжал работать хотя учетки уже не было :)
2) заморозил микротик чтобы он не отвечал по апи - биллинг стал ругаться, что нет соединения. Разморозил  - все ок, никакие ip не начал удалять

пошел дальше:

3) потушил mysql. Через некоторое время поднял - все ок
4) потушил noserver, потушил mysql, запустил noserver - он не захотел ничего делать с микротиком пока нет соединения с noserver

в общем, не могу повторить проблему


Название: Re: Микротик
Отправлено: Revizor от 10 Июля 2019, 22:14:11
К сожалению да, я тоже не могу ее повторить на других, есть догадки, сообщу как выясню.

Тут подъехала новая проблема - после обновления RouterOS до версии 6.45.1 биллинг не может авторизоваться
Вот что говорит микротик
Old API authentication method will also no longer work, see documentation for new login procedure:
wiki.mikrotik.com/wiki/Manual:API#Initial_login


Название: Re: Микротик
Отправлено: Cell от 10 Июля 2019, 22:34:58
Блин, это потеря потерь. Они давно предупреждали кстати.


Название: Re: Микротик
Отправлено: WideAreaNetwork от 11 Июля 2019, 08:06:10
предыдущая stable 6.44.3
6.45.1 настолько багованая что они после нее выпустили вроде 6.44.5
как вообще можно обновляться не прочитав аннотации к ней? :) на форуме мтиковцев все негодуют, я после прочтения первой страницы решил таки на 6.44.3 остаться)


Название: Re: Микротик
Отправлено: Revizor от 11 Июля 2019, 13:15:12
Коллеги, на продакшене никто такие вещи не тестирует)))
А насчет предупреждали то да.
Как дальше жить будем?


Название: Re: Микротик
Отправлено: Efendy от 12 Июля 2019, 15:47:58
Не тестировал, но вроде бы должно помочь, в create.noserver.hw_mikrotik.pm

Код:
    my $reply = $m->hw_dialog('/login') or return 0;
    exists $reply->{ret} or return 0;
    my $md5 = new Digest::MD5;
    $md5->add(chr(0));
    $md5->add($m->{pass});
    $md5->add(pack('H*',$reply->{ret}));
    $reply = $m->hw_dialog('/login','=name='.$m->{user},'=response=00'.$md5->hexdigest) or return 0;
    return $reply->{'!done'};

заменить на:

Код:
    my $reply = $m->hw_dialog('/login','=name='.$m->{user},'=password='.$m->{pass}) or return 0;
    return $reply->{'!done'};

P.S. Теперь пароль просто посылается в открытом виде)


Название: Re: Микротик
Отправлено: Efendy от 13 Июля 2019, 09:17:59
никто не протестировал? Делать мне переключатель старая/новая авторизация?


Название: Re: Микротик
Отправлено: Cell от 13 Июля 2019, 09:37:31
никто не протестировал? Делать мне переключатель старая/новая авторизация?

Я протестировал. Новый способ на прошивке 6.45.1 работает! Переключатель делать обязательно! т.к. у меня есть одна сеть, где более 10 брасов и находятся все в разных местах и не все есть возможность обновить мгновенно.


Название: Re: Микротик
Отправлено: Cell от 13 Июля 2019, 09:39:43
P.S. Теперь пароль просто посылается в открытом виде)

О чем блин думают эти люди? я хренею...


Название: Re: Микротик
Отправлено: lidusya49 от 15 Июля 2019, 15:50:13
никто не протестировал? Делать мне переключатель старая/новая авторизация?

Я протестировал. Новый способ на прошивке 6.45.1 работает! Переключатель делать обязательно! т.к. у меня есть одна сеть, где более 10 брасов и находятся все в разных местах и не все есть возможность обновить мгновенно.
Может модуль надо дописать, чтобы в настройках билинга заводить микротики, выводить версию прошивки + кнопку "обновить". Ну и выводить тому подобные данные.


Название: Re: Микротик
Отправлено: Cell от 31 Июля 2019, 14:50:55
Кстати, всем внимание.
Особенно тем кто не читает информацию об обновлении.
Если с версии 6.45.ХХ осуществить даунгрейт до версии 6.44.4 и ниже - то у всех системных юзеров микротика снесет пароли. Тупо и решительно.
Уже есть пострадавшие. Будьте внимательны.


Название: Re: Микротик
Отправлено: k291 от 02 Августа 2019, 11:46:23
Как-то обновился до 6.43.16, билинг перестал логинится к микротику. В логе микротика "login failure for user admin from .......... via api". В микротике создал нового юзера с админ правами, поменял данные в билинге, билинг смог подключится.
На другом микротике с версией  6.43.8, такой проблемы нет.


Название: Re: Микротик
Отправлено: elvin от 17 Сентября 2019, 14:12:31
Добрый день!
Подскажите, модуль обновили уже для работы с версией 6.45+ ?


Название: Re: Микротик
Отправлено: AmiGoSS от 20 Сентября 2019, 21:00:16
Графики трафика по нетфло считаются немного не верно, периодически больше в 2-3 раза чем по тарифу у абона, ну и общая скорость по группам так же -то приблизительно верно, то огромная. Посоветуйте на что обратить внимание.


Название: Re: Микротик
Отправлено: k291 от 20 Сентября 2019, 22:02:28
Графики трафика по нетфло считаются немного не верно, периодически больше в 2-3 раза чем по тарифу у абона, ну и общая скорость по группам так же -то приблизительно верно, то огромная. Посоветуйте на что обратить внимание.
У меня в winbox`e на 100 Мбит`ном порту, периодически скачет под 160 Мбит. Скорей всего нетфлов показывает то, что отдает микротик.

Я собираю график Zabix`ом через SNMP, там эти скачки не видны.

Вопрос: может есть вариант собирать информацию куда ходят клиенты? Как в traf_log("Трафик" на главной странице) в биллинге


Название: Re: Микротик
Отправлено: Jovani от 19 Октября 2019, 21:08:19
никто не протестировал? Делать мне переключатель старая/новая авторизация?

Протестировано на версии 6.45.6 (Stable) первый разок есть коннект, все прописывает на МТ. Дальше если скрипт остановить, или отвалится микротик, больше не цепляется, connect error. Кажется что снова зацепится после перезагрузки МТ... И даже нет в логах ошибок о коннекте по api.


Название: Re: Микротик
Отправлено: Cell от 19 Октября 2019, 22:26:16
Я собираю график Zabix`ом через SNMP, там эти скачки не видны.
У заббикса срез 5 минут а у тебя 1 скорее всего. Поставь 5 и у тебя будет красивее. Только не понятно зачем? Нетфлоу предназначен считать трафик а не скорость. К подсчету трафика вопросы есть? Мая  считает что это особенность работы коллектора нетфлоу с различными видами трафика. Длинные закачки не оконченные во время текущего среза учитываются в следующем. Отсюда может получиться отображение скорости выше чем на самом деле. И это... снмп и нетфлоу это разные вообще-то хрени )))


Название: Re: Микротик
Отправлено: Jovani от 23 Октября 2019, 15:04:25
никто не протестировал? Делать мне переключатель старая/новая авторизация?

Протестировано на версии 6.45.6 (Stable), первый разок есть коннект, все прописывает на МТ. Дальше если скрипт остановить, или отвалится микротик, больше не цепляется, connect error. Кажется что снова зацепится после перезагрузки МТ... И даже нет в логах ошибок о коннекте по api.

Протестировано и на версии 6.44.5 (Stable), тоже самое. Скрипт начинает работать только после перезагрузки МТ...


Название: Re: Микротик
Отправлено: Cell от 03 Декабря 2019, 15:44:58
Добрый день!
Подскажите, модуль обновили уже для работы с версией 6.45+ ?
Тоже интересует, т.к. вышло большое обновление 6.46 а старый модуль микротика выше чем 6.44.6 не работает т.к. не авторизует апи новым способом.


Название: Re: Микротик
Отправлено: Jovani от 03 Декабря 2019, 17:00:10
На 6.45.6 работает.
Только в открытом виде отправлять логин и пароль.


Название: Re: Микротик
Отправлено: Cell от 03 Декабря 2019, 17:05:38
Только в открытом виде отправлять логин и пароль.
Спасибо кэп, это была ценная информация ))) правда баянистая. Вопрос был в том - обновился модуль или нет.


Название: Re: Микротик
Отправлено: elvin от 05 Декабря 2019, 12:42:34
UP-нем тему, модуль обновили?


Название: Re: Микротик
Отправлено: SlavikUA от 12 Января 2020, 19:17:30
Тоже не працювала авторизація по АПІ. Але зробив такі зміни по рекомендації Ефенді
 Файл create.noserver.hw_mikrotik

$m->{sock}->blocking(0);

    # my $reply = $m->hw_dialog('/login') or return 0; так було
   my $reply = $m->hw_dialog('/login','=name='.$m->{user},'=password='.$m->{pass}) or return 0;    # так порекомендували
    return $reply->{'!done'};

Потім по звичному алгоритму - перекомпілювати модулі, перезапустити.


Название: Re: Микротик
Отправлено: elvin от 15 Января 2020, 12:14:15
а как на счет того что вылогинивается и обратно не логинится до ребута самого устройства?


Название: Re: Микротик
Отправлено: SlavikUA от 15 Января 2020, 21:32:34
В мене все Ок


Название: Re: Микротик
Отправлено: k291 от 15 Января 2020, 22:51:58
а как на счет того что вылогинивается и обратно не логинится до ребута самого устройства?
Было такое, пока не обновил прошивку.
На одном устройсте, откатил обратно.


Название: Re: Микротик
Отправлено: Jovani от 03 Февраля 2020, 08:54:44
Заметил, что при переходе в новый месяц не блокирует клиентов, если всех удалить, тогда перезапишет всех по новому в Acces. Тоже самое и с Queues.
Может кто сталкивался? Прошу помощи.


Название: Re: Микротик
Отправлено: Efendy от 03 Февраля 2020, 12:13:30
А какое из условий блокирование выполнено?
1) учетка в заблокированном состоянии?
2) не подвязан ни один ip?
3) не подключено ни одного тарифа "интернет"?


Название: Re: Микротик
Отправлено: Jovani от 07 Февраля 2020, 08:30:12
1) учетка в заблокированном состоянии

И еще, при создании нового клиента, сразу создает Queues с нарезкой Unlimit, и потом даже если установить ему услугу, не перезаписывает ему нарезку, только после его удаления прописывает правильно.


Название: Re: Микротик
Отправлено: Cell от 07 Февраля 2020, 12:13:18
А ты сначала попробуй услугу навешивать, а потом айпишник. Думаю там будет более корректно.


Название: Re: Микротик
Отправлено: WideAreaNetwork от 07 Февраля 2020, 21:26:59
А ты сначала попробуй услугу навешивать, а потом айпишник. Думаю там будет более корректно.

как-то не правильно, абонент должен подключиться к сети как это он сделает если нету айпи у него? потом зарегаться и в личном кабинете выбрать себе услугу, скорее надо найти причину почему так работает, там должны быть траблы , думаю ранее таких проблем не было.


Название: Re: Микротик
Отправлено: Cell от 08 Февраля 2020, 10:44:24
Можете конечно закидать меня какахами, но я в теме с 2004 года и ни разу не видел абонента, который после подключения лазил где-то по личному кабинету и выбирал себе тарифный план. Всегда при подключении тарифный план назначался со старта тем кто производил подключение. А так-то да. Разбирайтесь. Потом начинаются другие проблемы - подключили, нихера на заполнили данные, договор использовали в ближайшем туалете и не известно ни что за абонент, ни откуда он ни кто подключал. Вперед заре на встречу.


Название: Re: Микротик
Отправлено: Jovani от 08 Февраля 2020, 11:36:05
Как тогда это?
при переходе в новый месяц не блокирует клиентов, если всех удалить, тогда перезапишет всех по новому в Acces. Тоже самое и с Queues.


Название: Re: Микротик
Отправлено: WideAreaNetwork от 08 Февраля 2020, 14:56:45
Потом начинаются другие проблемы - подключили, нихера на заполнили данные, договор использовали в ближайшем туалете и не известно ни что за абонент, ни откуда он ни кто подключал.
так это, абонент не сможет подключить услугу пока не заполнит данные, кто он, где проживает и контакты :) так сказать статус - "на подключении"


Название: Re: Микротик
Отправлено: Cell от 08 Февраля 2020, 21:09:02
так это, абонент не сможет подключить услугу пока не заполнит данные, кто он, где проживает и контакты :) так сказать статус - "на подключении"
Я херею... ты в какой-то параллельной реальности живешь или с Марса прилетел?


Название: Re: Микротик
Отправлено: Cell от 08 Февраля 2020, 21:10:33
Как тогда это?
при переходе в новый месяц не блокирует клиентов, если всех удалить, тогда перезапишет всех по новому в Acces. Тоже самое и с Queues.
А это, Ваня, карма не прочищенная. Я тебе точно говорю!


Название: Re: Микротик
Отправлено: Jovani от 10 Февраля 2020, 15:43:24
Как тогда это?
при переходе в новый месяц не блокирует клиентов, если всех удалить, тогда перезапишет всех по новому в Acces. Тоже самое и с Queues.
А это, Ваня, карма не прочищенная. Я тебе точно говорю!

 :D :D
И как прочистить???


Название: Re: Микротик
Отправлено: Jovani от 04 Мая 2020, 13:47:41
Подскажите кто как решил , после того как отвалится 200-300 клиентов по РРРОЕ, и потом снова подключатся, перестает работать скрипт.
Перезапуск скрипта на сервере не помогает. Хотя в Active Users показывает конект юзера по АРІ, но ничего не работает.
Даже если остановить скрипт в Active Users показывает конект юзера по АРІ. Помогает только ребут микротика.
Буду благодарен за помощь.


Название: Re: Микротик
Отправлено: Warlock от 04 Мая 2020, 22:19:20
Подскажите кто как решил , после того как отвалится 200-300 клиентов по РРРОЕ, и потом снова подключатся, перестает работать скрипт.
Перезапуск скрипта на сервере не помогает. Хотя в Active Users показывает конект юзера по АРІ, но ничего не работает.
Даже если остановить скрипт в Active Users показывает конект юзера по АРІ. Помогает только ребут микротика.
Буду благодарен за помощь.
Я может и не по теме, просто интересно, сколько у вас вообще абонентов? Не проще ли было купить другой хороший брас и забыть о проблемах?


Название: Re: Микротик
Отправлено: sedo26 от 18 Июня 2020, 16:05:30
Кто-то реализовывал доступ в UA-IX через микротик, скорость до 100мегабит (в мир при этом должно быть, например, до 30мегабит)?
Интересует способ именно создания queues.


Название: Re: Микротик
Отправлено: DezZ от 21 Октября 2020, 10:05:19
Добрий день. С некоторых пор появилась проблема: в учетке клиента отображет зеленый ключик и задействованый IP адрес, и укрутиться счетчик продолжительности сессии, не смотря на то, что клиент OFF и такой сессии на микротиках нету. Подскажите в чем загвоздка. Спасибо.


Название: Re: Микротик
Отправлено: Efendy от 22 Октября 2020, 22:08:08
Модуль ядра auth запущен? Пппое или дхцп?


Название: Re: Микротик
Отправлено: DezZ от 23 Октября 2020, 09:06:05
 Добрый день. Уже разобрался, после обновления не работал модуль. Пришлось откатить. Спасибо за ответ.


Название: Re: Микротик
Отправлено: Jovani от 23 Октября 2020, 09:09:38
У меня тоже самое.

loading /usr/local/nodeny/sat.cfg

MODULE                   AUTORUN?
auth                       YES
authserver                  -
authtraf                    -
balance                    YES
cap                        YES
capremind                   -
collectors                  -
dhcp                        -
make_config                 -
mmm                        YES
notifications               -
pingserver                  -
ponmon                      -
remindsms                  YES
services                   YES
ses_traf                    -
stop_service               YES
system_check               YES
system_clean               YES
tmppays                    YES
websession                 YES


Авторизация PPPOE


Название: Re: Микротик
Отправлено: SlavikUA от 22 Ноября 2020, 15:21:40
Народ всім привіт. Хто може допомогти в іформації по наступному:
server (nodeny+ radius) по локалці - nas mikrotik все працює
Хочу:
server (nodene+ radius) по локалці - nas mikrotik + nas 2 mikritik (інший провайдер)
добавляю в радіус ще одного клієнта
запускаю noserver.pl з новим конфігом 2 мікротіка
Результат:
модуль мікротіка не логіниться на 2 мікротіку запроси до радіуса не йдуть від 2 мікротіка
в першому мікротіку dst-nat udp + порти 8728,8729 + маскародінг IP сервера
Що я ще упустив чи взагалі неправильно зробив.
Можливо треба прописати статичні роути для 2 мікротіка і сервера? Пробував але не впевнений що правильноб конкретної інфи по статичним роутам не знайшо і не повністю розібрався. Будьласка ткніть носом.


Название: Re: Микротик
Отправлено: k291 от 23 Января 2021, 15:37:15
Перезагружаю сервер с Н+, в это время во всех микротиках удаляются записи из  Address Lists, а в Log пишет "address list entry removed by admin", что приводит к отключению интернета у всех клиентов на 2 минуты, пока сервер не включится и не зальет данные в Address Lists.
Как отключить этот баг?


Название: Re: Микротик
Отправлено: Cell от 23 Января 2021, 16:35:40
Первый раз про такое слышу, если честно.
Ну как вариант - api у микротика дизейбл на время ребута, не каждый же день ребутаешь?
А вообще дичь конечно


Название: Re: Микротик
Отправлено: SlavikUA от 14 Марта 2021, 20:49:30
Народ привіт. У когось є проблеми з авторизацією по АПІ з мікротіком чи тільки у мене (Нодені плюс), просто обновив мікротік до версії 6.48.1


Название: Re: Микротик
Отправлено: SlavikUA от 14 Марта 2021, 21:22:10
Сорі. Розібрався (сам дурак) все працює.


Название: Re: Микротик
Отправлено: SlavikUA от 24 Июня 2021, 20:59:39
Всім Привіт. Не можу розібрати з процедурою Мускула, вроді все добре навіть працює але просто засерає лог радіуса помилками? І так:
radius.log
...sql.... Error 1048 (Column 'uid' cannot be null):23000
Їх там тьма.
Сама процедура
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64), IN usr_mac VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
 
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
 
  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';

  INSERT INTO mac_uid SET mac= REPLACE(usr_mac, ':',''),
                            uid=usr_id, device_mac='', device_port='0', ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP()
                ON DUPLICATE KEY UPDATE
                            uid=usr_id, device_mac='', device_port='0', ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP();
END$$
DELIMITER ;

Вона записує в базу маки абонентів, але чому помилка не можу зрозуміти і ще одне замітив, що ІП має дивний формат в базі 3232236847


Название: Re: Микротик
Отправлено: Cell от 24 Июня 2021, 22:29:58
Ну давай разбираться....

...sql.... Error 1048 (Column 'uid' cannot be null):23000

Пишет что поле uid не может быть пустым.
смотрим где у нас это происходит:

INSERT INTO mac_uid SET mac= REPLACE(usr_mac, ':',''),
                            uid=usr_id, device_mac='', device_port='0', ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP()
                ON DUPLICATE KEY UPDATE
                            uid=usr_id, device_mac='', device_port='0', ip=INET_ATON(usr_ip), time=UNIX_TIMESTAMP();

видим что uid = usr_id
откуда же берется этот проклятый usr_id который, судя по всему равен пустому значению. Смотрим, смотрим, смотрим... ах вот он, сука такая:

SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;

Это id  из таблицы users оказывается. И в каком это случае этот айди будет никакой? Правильно, когда данный запрос вернет пустой ответ, т.е. не найдет никого с name=login
Вот в этот момент и возникает ошибка.
Вопросы есть?

і ще одне замітив, що ІП має дивний формат в базі 3232236847

Занимаясь сетями, тебе предстоит познать еще много-много удивительных вещей ))))


Название: Re: Микротик
Отправлено: SlavikUA от 25 Июня 2021, 18:40:49
Это id  из таблицы users оказывается. И в каком это случае этот айди будет никакой? Правильно, когда данный запрос вернет пустой ответ, т.е. не найдет никого с name=login
Вот в этот момент и возникает ошибка.
Вопросы есть?

Це я зрозумів але наскільки я розумію коли абон отримав PPPOE сесію то для нього існує пара name=login а id є ключем і не може бути нуль. Тому цей запрос повинен завжди давати правильну відповідь чи в чомусь знову помиляюсь?

Першим відправляється radcheck, якщо абонент існує тоді дається добро на відкриття сесії, потім  radreply для перевірки чи абонент ще активний, radupdate відправляється кожні 50 сек.


Название: Re: Микротик
Отправлено: Cell от 25 Июня 2021, 21:24:32
Да ответ прост. Не надо путать мягкое с теплым.
Ошибки возникают от неправильного логина-пароля и сессия сбрасывается и идет запись в лог. Это никак не связано с нормальными подключениями )
Если речь идет о микротике как о брасе - так зайди в лог микротика и посмотри сколько там ебанатов ломятся и откидывается.


Название: Re: Микротик
Отправлено: Stronglan от 26 Июня 2021, 10:42:48
Прошу помощи в настройке связки freeradius3 + микротик. Проблема в том что клиент не получает айпи из динамического пула. Если изменить один айпи из этого пула на статический, клиент получает, интернет работает все ок.

radiusd -X отображает

Код:
Ready to process requests
(7) Received Access-Request Id 43 from 10.55.97.2:45083 to 10.55.97.1:1812 length 113
(7)   User-Name = "3C:97:0E:AD:F2:5C"
(7)   NAS-Port-Type = Ethernet
(7)   NAS-Port = 2209350395
(7)   Service-Type = Framed-User
(7)   Calling-Station-Id = "1:3c:97:e:ad:f2:5c"
(7)   Called-Station-Id = "v109"
(7)   User-Password = ""
(7)   NAS-Identifier = "SAT1"
(7)   NAS-IP-Address = 10.55.97.2
(7) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/nodeny
(7)   authorize {
rlm_sql (sql): Reserved connection (5)
(7) sql: EXPAND call radcheck('%{User-Name}')
(7) sql:    --> call radcheck('3C:97:0E:AD:F2:5C')
(7) sql: Executing select query: call radcheck('3C:97:0E:AD:F2:5C')
(7) sql: User found in radcheck table
(7) sql: Conditional check items matched, merging assignment check items
(7) sql:   Cleartext-Password := ""
(7) sql: EXPAND call radreply('%{User-Name}','%{Calling-Station-Id}')
(7) sql:    --> call radreply('3C:97:0E:AD:F2:5C','1:3c:97:e:ad:f2:5c')
(7) sql: Executing select query: call radreply('3C:97:0E:AD:F2:5C','1:3c:97:e:ad:f2:5c')
[b](7) sql: ERROR: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip_by_tag ended without RETURN): 2F005
(7) sql: ERROR: SQL query error getting reply attributes[/b]
rlm_sql (sql): Released connection (5)
(7)     [sql] = fail
(7)   } # authorize = fail
(7) Invalid user (sql: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip_by_tag ended without RETURN): 2F005): [3C:97:0E:AD:F2:5C] (from client sat1 port 2209350395 cli 1:3c:97:e:ad:f2:5c)
(7) Using Post-Auth-Type Reject
(7) Post-Auth-Type sub-section not found.  Ignoring.
(7) # Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny
(7) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(7) Sending delayed response
(7) Sent Access-Reject Id 43 from 10.55.97.1:1812 to 10.55.97.2:45083 length 20
Waking up in 3.9 seconds.

Код функции get_ip_by_tag

Код:
mysql> SHOW CREATE FUNCTION get_ip_by_tag;
+---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Function      | sql_mode                                   | Create Function                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | character_set_client | collation_connection | Database Collation |
+---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| get_ip_by_tag | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `get_ip_by_tag`( user_id INTEGER UNSIGNED, tag VARCHAR(64) ) RETURNS varchar(15) CHARSET utf8
    NO SQL
BEGIN
    DECLARE user_ip VARCHAR(15);
    DECLARE real_ip VARCHAR(15) DEFAULT 0;
    DECLARE row_cnt INTEGER;
    DECLARE ip_id INTEGER;
    DECLARE tries INTEGER DEFAULT 30;
    DECLARE id_min INTEGER;
    DECLARE id_max INTEGER;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id AND type='static' LIMIT 1;
    IF( user_ip IS NOT NULL ) THEN RETURN user_ip;
END IF;

    SELECT 1 INTO real_ip FROM users_services WHERE uid = user_id AND tags LIKE '%,realip,%';

    SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool
        WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            AND tags LIKE CONCAT('%,', tag, ',%')
        LIMIT 1;

    IF( ip_id IS NOT NULL) THEN
        UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600
            WHERE id = ip_id AND uid = user_id;
        SELECT ROW_COUNT() INTO row_cnt;
        IF( row_cnt > 0 ) THEN RETURN user_ip;
END IF;
    END IF;

    SELECT MAX(id), MIN(id) INTO id_max, id_min
        FROM ip_pool
        WHERE type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            AND tags LIKE CONCAT('%,', tag, ',%');

    sel_ip: WHILE tries > 0 DO
        SELECT id, INET_NTOA(ip) INTO ip_id, user_ip
            FROM ip_pool
            WHERE uid = 0
                AND id >= (CEIL(RAND() * (id_max - id_min)) + id_min)
                AND id <= id_max
                LIMIT 1;
        IF( user_ip IS NOT NULL) THEN
            UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600
                WHERE id = ip_id AND uid = 0;
            SELECT ROW_COUNT() INTO row_cnt;
            IF( row_cnt > 0 ) THEN RETURN user_ip;
END IF;
            SET tries = tries - 5;
        END IF;
        SET tries = tries - 1;
    END WHILE;

END | latin1               | latin1_swedish_ci    | utf8_general_ci    |
+---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.00 sec)



Название: Re: Микротик
Отправлено: Cell от 26 Июня 2021, 12:54:33
Код:
call radreply('3C:97:0E:AD:F2:5C','1:3c:97:e:ad:f2:5c')
Микротик передает не название дхцп сервера а хз что. Видимо другой атрибут нужно использовать какой-то. Тега нет ((((


Название: Re: Микротик
Отправлено: Cell от 26 Июня 2021, 13:42:09
Ну вот она ошибка, я нашел ее
Код:
call radreply('%{User-Name}','%{Calling-Station-Id}')

Здесь '%{Calling-Station-Id}' а чтобы имя дхцп сервера вставило нужно '%{Called-Station-Id}'
выглядит похоже, опечатка-с....
sql.conf исправляйте, заменяйте и наверное будет все хорошо, но это не точно )


Название: Re: Микротик
Отправлено: SlavikUA от 26 Июня 2021, 20:18:57
Да ответ прост. Не надо путать мягкое с теплым.
Ошибки возникают от неправильного логина-пароля и сессия сбрасывается и идет запись в лог. Это никак не связано с нормальными подключениями )
Если речь идет о микротике как о брасе - так зайди в лог микротика и посмотри сколько там ебанатов ломятся и откидывается.


Cell я зібрав локальний стенд, сервер прямо підключений до мікротіка до мікротіка підключив бук, логінюся під ПППОЕ і вуаля в лог файл помилка. Поідеї туди ніхто не мав би ломитися лишній їх там небагато за одне пієднання шук 3 замітив підряд, може мікротік не встигає відповісти чи що. Чи може взагалі заби на цю помилку адже маки пишуться в базу добре а лог час відчасу стирати.


Название: Re: Микротик
Отправлено: Cell от 26 Июня 2021, 21:39:48
Cell я зібрав локальний стенд, сервер прямо підключений до мікротіка до мікротіка підключив бук, логінюся під ПППОЕ і вуаля в лог файл помилка. Поідеї туди ніхто не мав би ломитися лишній їх там небагато за одне пієднання шук 3 замітив підряд, може мікротік не встигає відповісти чи що. Чи може взагалі заби на цю помилку адже маки пишуться в базу добре а лог час відчасу стирати.
Может проблема не в этой процедуре а в radupdate? Тем более если ошибок больше одной на одно соединение.
да выяснить все просто, нужно запустить радиус в режиме дебага и выловить где именно ошибка. В дебаг радиус на фре запускается командой radiusd -X


Название: Re: Микротик
Отправлено: SlavikUA от 27 Июня 2021, 08:46:07

Может проблема не в этой процедуре а в radupdate? Тем более если ошибок больше одной на одно соединение.
да выяснить все просто, нужно запустить радиус в режиме дебага и выловить где именно ошибка. В дебаг радиус на фре запускается командой radiusd -X


Проаналізував ще раз детальніше radupdate і от що я там найшов

UPDATE users_trf SET in1=in1 + t_in WHERE uid=usr_id;

Цей uid є ключем в таблиці users_trf а от хто його туди вставляє покищо загадка
CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':',''))); немає вставки в таблицю users_trf тільки в auth_now.

Можливо тому сипить помилки але хтось їх туди пише?

Чи може це бути зв'язано з тим що абонів я набив вручну декілька і вони ніхто ще авторизувалися ніразу тільки один з яким я проводжу експерименти?

Коли запустив радіус режимі дебаг він дав помилку що uid не може бути ноль але ще ніхто не підключався після авторизаціїї все працює без помилок (процедуру радреплей я тимчасово замінив на стокову без запису макадресів).

Зловив - цю помилку дає всежтаки radupdate але чому, сесія авторизована все ок, чи може не встигає відповісти радіуссервер або база мускула але нагрузки 0?


Название: Re: Микротик
Отправлено: Cell от 27 Июня 2021, 10:25:42
все работает, только аккаунтинг видимо не производится.
Гадать можно сколько угодно, тут нужно чтобы ты привел свой файл sql.conf и процедуру radupdate


Название: Re: Микротик
Отправлено: SlavikUA от 27 Июня 2021, 12:44:08
все работает, только аккаунтинг видимо не производится.
Гадать можно сколько угодно, тут нужно чтобы ты привел свой файл sql.conf и процедуру radupdate

sql {
        driver = "rlm_sql_mysql"
        mysql {
                warnings = auto
        }
        server = "localhost"
        port = 3306
        login = "nodeny"      # користувач бази данних Нодені
        password = "Nod+SQL#1"   # пароль до бази данних Нодені
        radius_db = "nodeny"   # база Нодені
        authorize_check_query = "call radcheck('%{User-Name}')"
        authorize_reply_query = "call radreply('%{User-Name}')"

        accounting {
            query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\
       'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}','%{Acct-Session-Id}',\
      (%{%{Acct-Input-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Input-Octets}:-0},\
      (%{%{Acct-Output-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Output-Octets}:-0})"
            type {
                start {
                    query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\
      'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}','%{Acct-Session-Id}',\
      (%{%{Acct-Input-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Input-Octets}:-0},\
      (%{%{Acct-Output-Gigawords}:-0} * POWER(2, 32)) + %{%{Acct-Output-Octets}:-0})"
                }
            }
        }
}

CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16),
    IN properties VARCHAR(255), IN ses VARCHAR(32), IN trafin BIGINT(20), IN trafout BIGINT(20))
BEGIN
    DECLARE usr_id INT;
    DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
    DECLARE t_in BIGINT;
    DECLARE t_out BIGINT;
    SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
    SELECT get_ip(usr_id) INTO usr_ip;
    CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':','')));
    SELECT trafin - IFNULL((SELECT traf_in FROM ses_traf WHERE ses_id=ses LIMIT 1),0) INTO t_in;
    UPDATE users_trf SET in1=in1 + t_in WHERE uid=usr_id;
    SELECT trafout - IFNULL((SELECT traf_out FROM ses_traf WHERE ses_id=ses LIMIT 1),0) INTO t_out;
    UPDATE users_trf SET out1=out1 + t_out WHERE uid=usr_id;
    INSERT INTO ses_traf SET ses_id=ses, traf_in=trafin, traf_out=trafout, time=UNIX_TIMESTAMP()
           ON DUPLICATE KEY UPDATE traf_in=trafin, traf_out=trafout, time=UNIX_TIMESTAMP();
    SET @s = CONCAT('INSERT INTO X', YEAR(NOW()), '_', MONTH(NOW()), '_', DAY(NOW()), ' VALUES(?,?,?,?,?,?)');
    PREPARE stmt1 FROM @s;
    SET @iface = 0;
    SET @cls = 1;
    SET @ts = CEIL(UNIX_TIMESTAMP() / 60) * 60;
    SET @usr_id = usr_id;
    SET @t_in = t_in;
    SET @t_out = t_out;
    EXECUTE stmt1 USING @usr_id, @iface, @ts, @cls, @t_in, @t_out;
    DEALLOCATE PREPARE stmt1;
END$$


Название: Re: Микротик
Отправлено: Stronglan от 27 Июня 2021, 12:51:14
Ну вот она ошибка, я нашел ее
Код:
call radreply('%{User-Name}','%{Calling-Station-Id}')

Здесь '%{Calling-Station-Id}' а чтобы имя дхцп сервера вставило нужно '%{Called-Station-Id}'
выглядит похоже, опечатка-с....
sql.conf исправляйте, заменяйте и наверное будет все хорошо, но это не точно )


У меня вообще не было этого файла в каталоге /usr/local/etc/raddb/
Нашел его в /usr/local/nodeny/etc/raddb/ и скопировал в /usr/local/etc/raddb/
Теперь его сожержимое такое...

Код:
# -*- text -*-
##
## sql.conf -- SQL modules
##
##      $Id$

sql {
        database = "mysql"
        driver = "rlm_sql_mysql"
        server = "localhost"
        port = 3306
        login = "nodeny"
        password = "hardpass"
        radius_db = "nodeny"

        deletestalesessions = yes
                                                                                     
        sqltrace = no                                                                 
        sqltracefile = ${logdir}/sqltrace.sql                                         
                                                                                     
        num_sql_socks = 5                                                             
                                                                                     
        connect_failure_retry_delay = 60                                             
                                                                                     
        lifetime = 0                                                                 
                                                                                     
        max_queries = 0                                                               
        authorize_check_query = "call radcheck('%{User-Name}')"
        authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')"
        postauth_query = "call radupdate('%{User-Name}','%{reply:Framed-IP-Address}','nas=%{NAS-IP-Address}', '%{Called-Station-Id}')"
        accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}','nas=%{NAS-IP-Address}', '%{Called-Station-Id}')"                                                                                     
}

В файле radiusd.conf добавил $INCLUDE sql.conf и бутнул радиус, ошибка никуда не ушла, также не передается тег. В режиме отладки старая картина.... Куда еще копать?


Название: Re: Микротик
Отправлено: Cell от 27 Июня 2021, 13:05:16
У меня вообще не было этого файла в каталоге /usr/local/etc/raddb/
Нашел его в /usr/local/nodeny/etc/raddb/ и скопировал в /usr/local/etc/raddb/
Теперь его сожержимое такое...
Что же ты творишь..... добрый человек?
У тебя же
Цитировать
Прошу помощи в настройке связки freeradius3 + микротик.
Короче, рукалицо.


Название: Re: Микротик
Отправлено: garik24 от 28 Сентября 2021, 02:05:47
никто не протестировал? Делать мне переключатель старая/новая авторизация?

Добрый день!

Планируется ли еще переключатель старая/новая авторизация в модуле  под  Nodeny-next or Nodeny-plus?


Название: Re: Микротик
Отправлено: Cell от 28 Сентября 2021, 15:19:39
Да все уже забили и сделали все на новой... сколько лет еще ждать-то?