Биллинговая система Nodeny
26 Апреля 2024, 09:40:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2
  Печать  
Автор Тема: Модуль изменения MAC адреса  (Прочитано 11107 раз)
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« : 27 Февраля 2013, 23:55:10 »

Установка для 50.32/49.32, на 50.33/49.33 работать не будет из-за другого механизма ревизий:

1.Скачать модуль
2.Залить на сервер в директорию с NoDeny (обычно /usr/local/nodeny/web/)
3.В файле web/plugin_reestr.cfg добавить строку (например)
126             Smac                    CM_main                 MAC адрес                               0               0
4.В админке NoDeny добавить в настройках клиентской статистики Smac
По-умолчанию используется Шаблон с id — 1 и поле MAC с id — 4

Они указаны в переменных $template и $mac_field

скачать

не помню кто просил сделать такой модуль.

дальше на N+ буду писать, если будет мотивация.
Записан
Gosha
Постоялец
***

Карма: 7
Offline Offline

Сообщений: 199


Просмотр профиля
« Ответ #1 : 28 Февраля 2013, 09:04:04 »

Спасибо огромное.
Все работает. Как раз над этим думал. Хочу еще сделать техническую подсеть с редиректом на заглушку где будет высвечиватся MAC , и мануал для клиентов по дальнейшим действиям (переход на страницу пользователя , смена MAC).
Единственно было бы не плохо ограничивать смену раз или два в сутки.
Еще раз спасибо.
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #2 : 28 Февраля 2013, 09:58:41 »

пожалуйста )
можно впринципе в дальнейшем, просто тенденция идет на N+
Записан
andromeda
Постоялец
***

Карма: 1
Offline Offline

Сообщений: 206


Просмотр профиля Email
« Ответ #3 : 28 Февраля 2013, 16:33:36 »

Сделали доработку теперь еще пишет текущий MAC и ip (Скриптец чет не заработал.. проверю ша)
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #4 : 28 Февраля 2013, 17:06:58 »

текущий мак он никак не узнает, кроме как того, что есть в dopvalues
он берется из последней ревизии и отображается.
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #5 : 28 Февраля 2013, 18:59:45 »

текущий мак он никак не узнает, кроме как того, что есть в dopvalues
он берется из последней ревизии и отображается.
не совсем - узнать текущий мак можно опросить арп таблицу и по ip получить мак.
есть еще способы но ... не 100%
Записан
andromeda
Постоялец
***

Карма: 1
Offline Offline

Сообщений: 206


Просмотр профиля Email
« Ответ #6 : 28 Февраля 2013, 22:31:22 »

Так доковырял теперь узнает мак и ип
Код:
<?
   $REMOTE_ADDR=getenv(REMOTE_ADDR);
#   $REMOTE_ADDR="192.168.11.134";
   $MAC=`/usr/sbin/arp -n | grep "$REMOTE_ADDR " | awk '{print $3}'`;
   print "REMOTE_ADDR=".$REMOTE_ADDR."<br>MAC=".$MAC."<br>HTTP_X_FORWARDED_FOR=".getenv(HTTP_X_FORWARDED_FOR).
   "<br>User-Agent=".getenv(HTTP_USER_AGENT);
?>
Записан
Redmen
NoDeny
Ветеран
*

Карма: 62
Offline Offline

Сообщений: 546


Подяку в КАРМУ


Просмотр профиля WWW
« Ответ #7 : 28 Февраля 2013, 22:36:03 »

поменяй
/usr/sbin/arp -n | grep
на
/usr/sbin/arp -an | grep
будет бистрее
Записан

Приймаю подяку у вигляді карми... та/або грошей Подмигивающий
t.me/MrMethod
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #8 : 28 Февраля 2013, 22:46:41 »

Так доковырял теперь узнает мак и ип
Код:
<?
   $REMOTE_ADDR=getenv(REMOTE_ADDR);
#   $REMOTE_ADDR="192.168.11.134";
   $MAC=`/usr/sbin/arp -n | grep "$REMOTE_ADDR " | awk '{print $3}'`;
   print "REMOTE_ADDR=".$REMOTE_ADDR."<br>MAC=".$MAC."<br>HTTP_X_FORWARDED_FOR=".getenv(HTTP_X_FORWARDED_FOR).
   "<br>User-Agent=".getenv(HTTP_USER_AGENT);
?>
угу - но это только в том случае если arp на текущем сервере
иначе snmpwalk или expect или т.п.

ps зачем заставлять вводить абона мак ? по умолчанию зверь его введет только с 10 попытки верно
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #9 : 28 Февраля 2013, 23:12:44 »

текущий мак он никак не узнает, кроме как того, что есть в dopvalues
он берется из последней ревизии и отображается.
не совсем - узнать текущий мак можно опросить арп таблицу и по ip получить мак.
есть еще способы но ... не 100%
у меня биллинг вообще в гермозоне в датацентре  Веселый

Цитировать
ps зачем заставлять вводить абона мак ? по умолчанию зверь его введет только с 10 попытки верно
ему пишется пример и формат.

регулярное выражение не пропустит ничего кроме корректного мака.
его проблемы
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #10 : 28 Февраля 2013, 23:21:08 »

текущий мак он никак не узнает, кроме как того, что есть в dopvalues
он берется из последней ревизии и отображается.
не совсем - узнать текущий мак можно опросить арп таблицу и по ip получить мак.
есть еще способы но ... не 100%
у меня биллинг вообще в гермозоне в датацентре  Веселый
по snmp снять не проблема


Цитировать
ps зачем заставлять вводить абона мак ? по умолчанию зверь его введет только с 10 попытки верно
ему пишется пример и формат.

регулярное выражение не пропустит ничего кроме корректного мака.
его проблемы
я к тому что бы убрать поле ввода и оставить кнопку "сменить"

а по большому счету и ее убрать не соответствует мак  при заходе на лк меняется ( и условие что такого мака нет в допданных (актуальной ревизии))

 
Записан
stix
NoDeny
Спец
*

Карма: 72
Offline Offline

Сообщений: 1872


Nodeny Support Team

205539
Просмотр профиля
« Ответ #11 : 28 Февраля 2013, 23:29:51 »

я делал для своего случая.
именно в таком виде и нужно.

дальше - как хотите )
Записан
Gosha
Постоялец
***

Карма: 7
Offline Offline

Сообщений: 199


Просмотр профиля
« Ответ #12 : 01 Марта 2013, 19:21:58 »

Так доковырял теперь узнает мак и ип
Код:
<?
   $REMOTE_ADDR=getenv(REMOTE_ADDR);
#   $REMOTE_ADDR="192.168.11.134";
   $MAC=`/usr/sbin/arp -n | grep "$REMOTE_ADDR " | awk '{print $3}'`;
   print "REMOTE_ADDR=".$REMOTE_ADDR."<br>MAC=".$MAC."<br>HTTP_X_FORWARDED_FOR=".getenv(HTTP_X_FORWARDED_FOR).
   "<br>User-Agent=".getenv(HTTP_USER_AGENT);
?>
Немножко изменил
Код:
<?
   $REMOTE_ADDR=getenv(REMOTE_ADDR);
#   $REMOTE_ADDR="192.168.11.134";
   $MAC=`/usr/sbin/arp -an | grep "($REMOTE_ADDR)" | awk '{print $4}'`;
   print "IP: ".$REMOTE_ADDR ."<br>";
   print "MAC: ".$MAC;
?>
Работает.
Записан
andromeda
Постоялец
***

Карма: 1
Offline Offline

Сообщений: 206


Просмотр профиля Email
« Ответ #13 : 06 Марта 2013, 19:34:25 »

Спасибо нашим админам теперь это выгладит так.
Записан
a_tem
Пользователь
**

Карма: -1
Offline Offline

Сообщений: 31


Просмотр профиля
« Ответ #14 : 30 Апреля 2013, 11:27:41 »

Поставил по инструкции, на клиентской пусто
Записан
Страниц: [1] 2
  Печать  
 
Перейти в:  

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