Биллинговая система Nodeny
22 Ноября 2024, 14:44:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 ... 9 10 [11] 12 13 ... 26
  Печать  
Автор Тема: DHCP  (Прочитано 139583 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #150 : 12 Марта 2014, 09:18:43 »

тебя интересует конструкция if чтобы сделать 2 блока? типа

Код:
{% if ip.ip >= inet.aton('10.0.0.0') && ip.ip <= inet.aton('10.255.255.255') %}
           ...
        {% endif %}
Записан
Pa4ka
Старожил
****

Карма: 4
Offline Offline

Сообщений: 281

591884591
Просмотр профиля Email
« Ответ #151 : 12 Марта 2014, 09:40:28 »

тебя интересует конструкция if чтобы сделать 2 блока? типа

Код:
{% if ip.ip >= inet.aton('10.0.0.0') && ip.ip <= inet.aton('10.255.255.255') %}
           ...
        {% endif %}

если я правильно понял Вас то да, по блокам
тоесть в конструкции
Цитировать
shared-network 0-124 {
 interface vlan124;
 option routers 172.20.124.1;
 default-lease-time 2400;
 max-lease-time 1800;
 subnet 172.20.124.0 netmask 255.255.255.0 {
    deny unknown-clients;
    range 172.20.124.4 172.20.124.254;
         {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
           host {{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
       {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}

}
}
shared-network 0-125 {
 interface vlan125;
 option routers 172.20.125.1;
 default-lease-time 2400;
 max-lease-time 1800;
 subnet 172.20.125.0 netmask 255.255.255.0 {
    deny unknown-clients;
    range 172.20.125.4 172.20.125.254;
         {% for user in users %}
        {% eval i = 0 %}
        {% for ip in user.ips %}
            {% if ip.type eq 'static' && user.mac. %}
           host {{ip.ipa}} { hardware ethernet {{user.mac.|pretty_mac}}; fixed-address {{ip.ipa}}; }
       {% eval i = i + 1 %}
          {% endif %}
        {% endfor %}
    {% endfor %}

}
}
для shared-network 0-124 выбирался из базы диапазон 172.20.124.0/24
а для shared-network 0-125 выбирался диапазон 172.20.125.0/24
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #152 : 12 Марта 2014, 16:56:43 »

Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i
Записан
Pa4ka
Старожил
****

Карма: 4
Offline Offline

Сообщений: 281

591884591
Просмотр профиля Email
« Ответ #153 : 12 Марта 2014, 17:06:11 »

Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i
премного благодарен)
и если уж рассмотрели мой вопрос то как сделать что б в месте где:
host 172.20.124.3 { hardware ethernet c8:60:00:94:e3:4a; fixed-address 172.20.124.3; }

вместо "host 172.20.124.3" был "host "ID учётки""
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #154 : 12 Марта 2014, 17:06:43 »

{{ user.id }}
Записан
Pa4ka
Старожил
****

Карма: 4
Offline Offline

Сообщений: 281

591884591
Просмотр профиля Email
« Ответ #155 : 12 Марта 2014, 18:04:51 »

Код:
{% for user in users %}
      {% for ip in user.ips %}
            {% eval i = 0 %}
            {% if ip.type eq 'static' && user.mac.[ i] && ip.ip >= inet.aton('172.20.124.0') && ip.ip <= inet.aton('172.20.124.255') %}
                 host {{ip.ipa}} { hardware ethernet {{user.mac.[ i]|pretty_mac}}; fixed-address {{ip.ipa}}; }
            {% eval i = i + 1 %}
           {% endif %}
       {% endfor %}
 {% endfor %}
И похоже, что ты обрезал выборку мака, в примере dhcp.tmpl не зря написано user.mac.[ i] т.к. у клиента может быть не один мак, а целый массив

PS. Врубился, [ i] - это тег в форуме - убери пробел перед i
скажу что эту штуку делали Вы, но это уже не по теме)

Я еще раз очень благодарю, и говорю спасибо за оперативную и внятную помощь!
Желаю успехов в работе!)
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #156 : 03 Апреля 2014, 13:03:17 »

Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Записан
Sis
Старожил
****

Карма: -7
Offline Offline

Сообщений: 370


Просмотр профиля
« Ответ #157 : 07 Апреля 2014, 02:52:25 »

Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.
Записан
Sis
Старожил
****

Карма: -7
Offline Offline

Сообщений: 370


Просмотр профиля
« Ответ #158 : 07 Апреля 2014, 02:57:34 »

У меня такая ситуация такая ввожу логин и пароль регистрация успешно проходит, мак порт видны, но вот беда постоянно висит заглушка. Доступ в Интернет открыт. Введите в адресной строке желаемый адрес сайта. Какой хочешь адрес набираю- то же самое. Что перепроверить?
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #159 : 07 Апреля 2014, 08:00:04 »

Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.
Немає такої галочки Улыбающийся Жду поки Стас обновить модуль
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #160 : 07 Апреля 2014, 14:01:53 »

Налаштував DHCP reley. Включив на комутаторі Option82. Абонент попадає на заглушку. Авторизовується і білінг заповнює в прив’язку: (мак абонента, свіча та номер порта). Якщо в абонента міняється мак - він знову попадає на заглушку. Як зробити так - щоб не враховувався мак абонента, а тільки свіч+порт?
Поставь галочку один клиент на порту.
Немає такої галочки Улыбающийся Жду поки Стас обновить модуль
Обновил
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #161 : 11 Апреля 2014, 11:17:02 »

1 клієнта на порту - не працює чи я щось роблю не так?

- створив абонента
- Підключаюсь через "мильницю"
Код:
/var/log/dhcpd.log
Apr 11 11:11:39 DHCP dhcpd: DHCPDISCOVER from 04:7d:7b:c3:22:06 via em1
Apr 11 11:11:40 DHCP dhcpd: DHCPOFFER on 10.100.0.2 to 04:7d:7b:c3:22:06 (microsof-9e6093) via em1
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[0] = /usr/bin/perl
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[1] = /usr/local/nodeny/modules/dhcp/events.pl
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[2] = commit
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[3] = 10.100.0.2
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[4] = 4:7d:7b:c3:22:6
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[5] =
Apr 11 11:11:40 DHCP dhcpd: execute_statement argv[6] =
Apr 11 11:11:41 DHCP dhcpd: DHCPREQUEST for 10.100.0.2 (10.100.0.1) from 04:7d:7b:c3:22:06 (microsof-9e6093) via em1
Apr 11 11:11:41 DHCP dhcpd: DHCPACK on 10.100.0.2 to 04:7d:7b:c3:22:06 (microsof-9e6093) via em1

Код:
/usr/local/nodeny/logs/dhcp.events.log
11.04.2014 11:11:41 [commit] ip=10.100.0.2, mac=4:7d:7b:c3:22:6, mac_ok=047d7bc32206 | Необходима регистрация мака
11.04.2014 11:26:40 [commit] ip=10.100.0.2, mac=4:7d:7b:c3:22:6, mac_ok=047d7bc32206 | Ok
підключаємось через cisco sf300-24
Код:
#Конфіг свіча
show startup-config
ip dhcp snooping
ip dhcp snooping vlan 1
ip dhcp relay address 10.100.0.1
ip dhcp relay enable
ip dhcp information option
....
interface fastethernet24
 ip dhcp snooping trust

Код:
/usr/local/nodeny/logs/dhcp.events.log
11.04.2014 11:48:46 ERROR: [commit] ip=10.100.0.7, mac=12:32:1e:43:de:12, mac_ok=12321e43de12, port=00065ca48a6d9703[8] | select uid from mac_uid error

Код:
mysql> show create table mac_uid;
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mac_uid | CREATE TABLE `mac_uid` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mac` varchar(12) DEFAULT NULL,
  `ip` int(10) unsigned NOT NULL,
  `uid` bigint(20) unsigned NOT NULL,
  `time` int(10) unsigned NOT NULL,
  `device_mac` varchar(12) NOT NULL,
  `device_port` smallint(6) NOT NULL,
  `oneconnect` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `mac` (`mac`),
  KEY `uid` (`uid`),
  KEY `time` (`time`),
  KEY `ip` (`ip`)
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 |
+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+---------------+-------------+------------+---------------+
| id | mac                | ip            | uid   | time          | device_mac     | device_port  | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+---------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0     |  10  | 1397204800 |                     |                0 |               0 |    0.0.0.0       |
| 88 | 12321e43de12 | 174325767|   0   | 1397206126 | 00065ca48a6d |                8 |               0 |   10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+--------------+-------------+---------------+
2 rows in set (0.00 sec)


Проходим через заглушку -  все працює (правда відвалюється клієнт через деякий час, але над цим пізніше)
Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac   | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0 |   0 | 1397204800 |              |           0 |          0 | 0.0.0.0       |
| 88 | NULL         | 174325767 |   0 | 1397206126 | 00065ca48a6d |           8 |          0 | 10.100.0.7    |
| 89 | 12321e43de12 | 174325767 |  10 | 1397207026 | 00065ca48a6d |           8 |          0 | 10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
3 rows in set (0.00 sec)

Ставим галочку 1 клієнт на порту, зберігаємо
Код:
mysql> SELECT *, INET_NTOA(ip) FROM mac_uid;
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| id | mac          | ip        | uid | time       | device_mac   | device_port | oneconnect | INET_NTOA(ip) |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
| 86 | 047d7bc32206 |         0 |   0 | 1397204800 |              |           0 |          0 | 0.0.0.0       |
| 89 | 12321e43de12 | 174325767 |  10 | 1397207026 | 00065ca48a6d |           8 |          2 | 10.100.0.7    |
+----+--------------+-----------+-----+------------+--------------+-------------+------------+---------------+
2 rows in set (0.00 sec)
Міняємо мак і все по новому (заглушка, помилка, доступ в інету немає поки не пройти авторизацію)
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #162 : 15 Апреля 2014, 15:04:44 »

это  `device_mac` varchar(12) NOT NULL,

и 00065ca48a6d9703 это не совсем мак 

у вас получается device_mac = 00065ca48a6d а должен быть 5ca48a6d9703

строка в конфиге
set SwitchMac = binary-to-ascii(16, 8, ":", suffix(option agent.remote-id,6));
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #163 : 25 Апреля 2014, 15:27:42 »

Для окремої групи абонентів зарезервовані статичі ІР. Чи можна щоб модуль видавати його абоненту по dhcp протоколу і як?
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #164 : 25 Апреля 2014, 16:39:04 »

неможно Грустный
Записан
Страниц: 1 ... 9 10 [11] 12 13 ... 26
  Печать  
 
Перейти в:  

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