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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2]
  Печать  
Автор Тема: Белые IP  (Прочитано 8194 раз)
Tooreagen
Старожил
****

Карма: -7
Offline Offline

Сообщений: 257


Просмотр профиля Email
« Ответ #15 : 28 Мая 2014, 18:57:21 »

Наконец то с горем пополам сделал. Если вручную прописываю все работает, а через DHCP выдается локальный адрес. В Nodeny IP пул сделал, DHCP конфиг изменил, добавил как обычную подсеть только там реальники указал. Но все равно выдается локальный адрес. Куда смотреть?
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #16 : 29 Мая 2014, 08:07:08 »

dhcp.conf в студію.
IP пул  також
Записан
Tooreagen
Старожил
****

Карма: -7
Offline Offline

Сообщений: 257


Просмотр профиля Email
« Ответ #17 : 31 Мая 2014, 19:23:06 »

dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}

Записан
ipnet
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 16


Просмотр профиля Email
« Ответ #18 : 03 Июня 2014, 01:40:43 »

dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}



А ничего страшного что у тебя в биллинге на ипах стоит тип статический? Как дхцп будет видавать ип которий подтянуть с биллинга не может.
Записан
cojiict
Старожил
****

Карма: 0
Offline Offline

Сообщений: 341


Просмотр профиля Email
« Ответ #19 : 03 Июня 2014, 08:25:52 »

dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #20 : 07 Июня 2014, 02:36:28 »

dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».

Каким образом DHCP понимает, каким клиентам выдать IP из пула 172.16.10.0 или XXX.XXX.192.0 ?
Я создал 2е группы HomeNet(сеть 172.16.10.0) и HomeNet-RealIP(XXX.XXX.192.0).
Создал клиента в группе HomeNet. Подключил кабель, получил IP 172.16.10.2. Дальше перевел клиента в группу HomeNet-RealIP. Удалил IP у клиента, почистил /var/db/dhcpd/dhcpd.leases, перезагрузил DHCP /usr/local/etc/rc.d/isc-dhcpd onerestart, но так и получаю IP 172.16.10.2 из группы HomeNet.
Что надо сделать, чтобы получать IP согласно выбранной группе?
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #21 : 10 Июня 2014, 12:32:38 »

С помощью форумчан и make_config, сделал выдачу динамических серых IP и статических реальных IP. DHCP выдает все правильно, только нет доступ в Интернет на реальных IP.
В pf.conf я прописал:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

#binat on $ext_if from xxx.xxx.xxx.244 to any -> xxx.xxx.xxx.242

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
Где igb1-смотрит наружу(ip:xxx.xxx.xxx.242), а igb0-смотрит внутрь(10.0.0.1).
Подскажите, что еще надо сделать и где прописать. Заранее спасибо!
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #22 : 10 Июня 2014, 19:12:21 »

С помощью форумчан и make_config, сделал выдачу динамических серых IP и статических реальных IP. DHCP выдает все правильно, только нет доступ в Интернет на реальных IP.
В pf.conf я прописал:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

#binat on $ext_if from xxx.xxx.xxx.244 to any -> xxx.xxx.xxx.242

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
Где igb1-смотрит наружу(ip:xxx.xxx.xxx.242), а igb0-смотрит внутрь(10.0.0.1).
Подскажите, что еще надо сделать и где прописать. Заранее спасибо!

На клиентском компе, инет появился только после:
ifconfig bridge0 create addm igb1 addm igb0 up
Но это же bridge. С него не пускает в билиенг, не ping`ся мой DNS. Скорей всего, и инет не будет блочить при нулевом балансе. Само собой, не будет работать заглушка((
Записан
Dolphin
Постоялец
***

Карма: 2
Offline Offline

Сообщений: 118


Просмотр профиля
« Ответ #23 : 10 Июня 2014, 19:16:59 »

А зачем ты натишь реальные ип?

Имхо,
Цитировать
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
лишнее.

Попробуй оставить только:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)

Ну, и на клиенте, ессно должен быть ип из диапазона: 10.0.0.0/24
Записан
k291
Старожил
****

Карма: -10
Offline Offline

Сообщений: 455


Просмотр профиля
« Ответ #24 : 10 Июня 2014, 20:28:15 »

А зачем ты натишь реальные ип?

Имхо,
Цитировать
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
лишнее.

Попробуй оставить только:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)

Ну, и на клиенте, ессно должен быть ип из диапазона: 10.0.0.0/24
Я сегодня кучу форумов прочитал, вот по нахватался совсего. в надежде что что чтото заработает. Подход не правильный, ну я не как не могу найти решение(((
Оставил : nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
перезагрузил правила:
# pfctl -vvvf /etc/pf.conf
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



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

Оффтоп: простите, не могу сдержаться  Смеющийся Задам всего один наводящий вопрос: а админа не пробовали нанять? или в процветающей, бАгАтейшей, стране так не принято?
Записан
Tooreagen
Старожил
****

Карма: -7
Offline Offline

Сообщений: 257


Просмотр профиля Email
« Ответ #26 : 29 Июля 2014, 10:19:20 »

dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».

Я все сделал как вы говорите, но все равно выдает серый IP. Его ведь явно как-то указать клиенту нужно?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #27 : 29 Июля 2014, 12:29:41 »

dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)
Записан
Tooreagen
Старожил
****

Карма: -7
Offline Offline

Сообщений: 257


Просмотр профиля Email
« Ответ #28 : 29 Июля 2014, 17:57:16 »

dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)

получается сейчас единственный вариант это пул ставить статический и вручную у клиента прописывать?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #29 : 29 Июля 2014, 22:55:18 »

dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)

получается сейчас единственный вариант это пул ставить статический и вручную у клиента прописывать?
для статических нужно динамически формировать конфиг для дхцп. Это несложно и где-то пример есть, возможно даже в инстале самого н+
Записан
Страниц: 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!