URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96367
[ Назад ]

Исходное сообщение
"dhcpd для множества подсетей"

Отправлено iKenny , 12-Ноя-15 16:06 
Здравствуйте.
Задача вот какая, имеется дхцп сервер, имеютсят рутера, на которых настроен helper-address, который будет адресом этого дхцп сервера. На рутерах имеется оборудование 3-х типов(vendor-identifier).
Задача вот какая, для каждого рутера сделать свои сети для каждого из 3-х типов оборудования.
С 82-ой опцией я дела еще не имел, начал с vendor-identifier.
Сам дхцп сервер в режиме теста, имеются 2 интерфейса, 1 с айпишником для менеджмента
и второй на котором будет висеть сам демон дхцп.
Интерфейс на котором висит демон=eth1, 192.168.183.30.
Имеются 3 возможных вариянта vendor-identifier, 1=docsis,2-pkts,3-все остальное.
Трудность в том, что я не понимаю следующего, идет обращение, в 60-ой опции вписано docsis, получаю в логе
dhcpd: DHCPDISCOVER from 00:00:00:11:11:11 via eth1: network 192.168.183.0/24: no free leases
Тоже самое происходит с вендором pkts
Из самой сети 192.168.183.0/24 раздаваться ничего не должно, это подсеть, в которой
находится сам дхцп сервер, однако без строчки subnet 192.168.183.0 netmask 255.255.255.0{deny unknown-clients;} сервер не хочет запускаться.
Почему вместо выбора сети по 60-ой опции предлагается сеть 192.168.183.0/24?
Заранее благодарю.


По манам сделал следующий конфиг:
INTERFACES="eth1";
max-lease-time 3600;
default-lease-time 3600;
authoritative;
log-facility local7;
log( info,concat("*DEBUG Vendor ID ",substring(option vendor-class-identifier,0,6)));


class "mta"        {
        match if (
                (substring (option vendor-class-identifier,0,4) = "pkts")
        );
}

class "docsis"        {
        match if (
                (substring (option vendor-class-identifier,0,6) = "docsis")
        );
}


subnet 192.168.183.0 netmask 255.255.255.0{deny unknown-clients;}

shared-network "mta"{
subnet 10.105.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
allow unknown-clients;
pool {
range 10.105.0.2 10.105.0.250;
option subnet-mask 255.255.255.0;
allow members of "mta";
}}}


shared-network "cm"{
subnet 10.110.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
allow unknown-clients;
pool {
range 10.110.0.2 10.110.0.250;
option subnet-mask 255.255.255.0;
allow members of "docsis";
}}}


tcpdump дискавера:


14:32:51.844605 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 340)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 00:00:00:11:11:11 (oui Ethernet), length 312, xid 0x42c2d942, Flags [none] (0x0000)
      Client-Ethernet-Address 00:00:00:11:11:11 (oui Ethernet)
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message Option 53, length 1: Discover
        Parameter-Request Option 55, length 5:
          Subnet-Mask, BR, Default-Gateway, Domain-Name
          Domain-Name-Server
        Agent-Information Option 82, length 29:
          Circuit-ID SubOption 1, length 8: Gig0/1/0
          Remote-ID SubOption 2, length 17: 00:00:00:11:11:11
        Client-ID Option 61, length 12: hardware-type 48, 30:30:30:30:30:31:31:31:31:31:31
        Hostname Option 12, length 6: "docsis"
        Vendor-Class Option 60, length 6: "docsis"
        END Option 255, length 0


Содержание

Сообщения в этом обсуждении
"dhcpd для множества подсетей"
Отправлено fantom , 12-Ноя-15 19:04 
>[оверквотинг удален]
>      Agent-Information Option 82, length 29:
>        Circuit-ID SubOption 1, length 8:
> Gig0/1/0
>        Remote-ID SubOption 2, length 17:
> 00:00:00:11:11:11
>      Client-ID Option 61, length 12: hardware-type 48,
> 30:30:30:30:30:31:31:31:31:31:31
>      Hostname Option 12, length 6: "docsis"
>      Vendor-Class Option 60, length 6: "docsis"
>      END Option 255, length 0

Переместите
subnet 192.168.183.0 netmask 255.255.255.0{deny unknown-clients;}
ВНУТРЬ шаред нетворк...


"dhcpd для множества подсетей"
Отправлено iKenny , 02-Дек-15 11:27 
>[оверквотинг удален]
>>        Remote-ID SubOption 2, length 17:
>> 00:00:00:11:11:11
>>      Client-ID Option 61, length 12: hardware-type 48,
>> 30:30:30:30:30:31:31:31:31:31:31
>>      Hostname Option 12, length 6: "docsis"
>>      Vendor-Class Option 60, length 6: "docsis"
>>      END Option 255, length 0
> Переместите
> subnet 192.168.183.0 netmask 255.255.255.0{deny unknown-clients;}
> ВНУТРЬ шаред нетворк...

Да, помогло.
Еще такой вопрос, есть bootp flags в дискаверах. В нем есть relay agent ip address. На рутерах настроет хелпер адрес. Можно как-то матчить по ip адресу с какого роутера пришел
дискавер? Сами роутеры, насколько я понимаю, инкапсулируют в пакет первый secondary ip адрес.


"dhcpd для множества подсетей"
Отправлено iKenny , 02-Дек-15 13:26 
>[оверквотинг удален]
>>>      END Option 255, length 0
>> Переместите
>> subnet 192.168.183.0 netmask 255.255.255.0{deny unknown-clients;}
>> ВНУТРЬ шаред нетворк...
> Да, помогло.
> Еще такой вопрос, есть bootp flags в дискаверах. В нем есть relay
> agent ip address. На рутерах настроет хелпер адрес. Можно как-то матчить
> по ip адресу с какого роутера пришел
> дискавер? Сами роутеры, насколько я понимаю, инкапсулируют в пакет первый secondary ip
> адрес.

Нашел, если сделать
log( info,concat("DEBUG BOOTP_IP ", binary-to-ascii(10, 8, ".", packet(24,4))));

То можно увидеть ip адрес этого первого secondary адреса.


"dhcpd для множества подсетей"
Отправлено iKenny , 02-Дек-15 14:00 
>[оверквотинг удален]
>>> ВНУТРЬ шаред нетворк...
>> Да, помогло.
>> Еще такой вопрос, есть bootp flags в дискаверах. В нем есть relay
>> agent ip address. На рутерах настроет хелпер адрес. Можно как-то матчить
>> по ip адресу с какого роутера пришел
>> дискавер? Сами роутеры, насколько я понимаю, инкапсулируют в пакет первый secondary ip
>> адрес.
> Нашел, если сделать
> log( info,concat("DEBUG BOOTP_IP ", binary-to-ascii(10, 8, ".", packet(24,4))));
> То можно увидеть ip адрес этого первого secondary адреса.

Теперь новая проблема.
Вот логи
Dec  2 12:54:17 ipv6provisioning dhcpd: *DEBUG Vendor ID docsis
Dec  2 12:54:17 ipv6provisioning dhcpd: *DEBUG Vendor ID docs
Dec  2 12:54:17 ipv6provisioning dhcpd: DEBUG BOOTP_IP 10.105.0.1
Dec  2 12:54:17 ipv6provisioning dhcpd: *DEBUG Remote-ID: 0:11:e3:f1:a7:23
Dec  2 12:54:17 ipv6provisioning dhcpd: DHCPDISCOVER from 00:11:e3:f1:a7:23 via 10.105.0.1
Dec  2 12:54:18 ipv6provisioning dhcpd: DHCPOFFER on 10.105.0.2 to 00:11:e3:f1:a7:23 via 10.105.0.1
Dec  2 12:54:20 ipv6provisioning dhcpd: *DEBUG Vendor ID docsis
Dec  2 12:54:20 ipv6provisioning dhcpd: *DEBUG Vendor ID docs
Dec  2 12:54:20 ipv6provisioning dhcpd: DEBUG BOOTP_IP 10.105.0.1
Dec  2 12:54:20 ipv6provisioning dhcpd: *DEBUG Remote-ID: 0:11:e3:f1:a7:23
Dec  2 12:54:20 ipv6provisioning dhcpd: execute_statement argv[0] = /dhcp_scripts/dbleases.php
Dec  2 12:54:20 ipv6provisioning dhcpd: execute_statement argv[1] = '1'
Dec  2 12:54:20 ipv6provisioning dhcpd: execute_statement argv[2] = '10.105.0.2'
Dec  2 12:54:20 ipv6provisioning dhcpd: execute_statement argv[3] = '0011e3f1a723'
Dec  2 12:54:20 ipv6provisioning dhcpd: DHCPREQUEST for 10.105.0.2 (192.168.183.30) from 00:11:e3:f1:a7:23 via 10.105.0.1
Dec  2 12:54:20 ipv6provisioning dhcpd: DHCPACK on 10.105.0.2 to 00:11:e3:f1:a7:23 via 10.105.0.1
Dec  2 12:54:31 ipv6provisioning dhcpd: DHCPDISCOVER from 00:11:e3:f1:a7:24 via 10.110.0.1: network mta: no free leases

Проблема в том, что не получается раздать адреса из сети 10.110.0.0/24.
Конфиг для этой сети такой же как для 10.105.0.0/24, которая успешно раздается.

Сам конфиг выглядет так:
INTERFACES="eth1";
log-facility local7;
omapi-port 7911;
omapi-key omapi_key;
key omapi_key {
     algorithm hmac-md5;
               secret f501a3c9cc7ccf2318d319390a9f09be;
                         }
ddns-update-style interim;
authoritative;
allow bootp;
deny declines;
default-lease-time 86400;
max-lease-time 86400;
option time-servers 192.168.183.30;
option space docsis-mta;
option docsis-mta.dhcp-server-1 code 1 = ip-address;
option docsis-mta.dhcp-server-2 code 2 = ip-address;
option docsis-mta.provision-server code 3 = { integer 8, string };
option docsis-mta.krb-realm-name code 6 = string;
option docsis-mta.timer code 7 = string;
option docsis-mta-pkt code 122 = encapsulate docsis-mta;
option space PC-MTA;
option PC-MTA.DHCP-server-1 code 1 = ip-address;
option PC-MTA.DHCP-server-2 code 2 = ip-address;
option PC-MTA.Provision-server code 3 = {integer 8, string };
option PC-MTA.AS-REQ_AS-REP code 4 = { integer 32, integer 32, integer 32 };
option PC-MTA.AP-REQ_AP-REP code 5 = { integer 32, integer 32, integer 32 };
option PC-MTA.Kerberos-realm code 6 = string;
option PC-MTA.TGS-util code 7 = integer 8;
option PC-MTA.Provision-timer code 8 = integer 8;
option PC-MTA.Ticket-ctrl-mask code 9 = integer 16;
option PC-MTA-122 code 122 = encapsulate PC-MTA;
option space packetcable;
option packetcable.primary-dhcp-server code 1 = ip-address;
option packetcable.snmp-entity-address code 6 = string;
option packetcable.kerberos-realm-name code 6 = string;
option packetcable.primary-dhcp-server 192.168.183.30;

log( info,concat("*DEBUG Vendor ID ",substring(option vendor-class-identifier,0,6)));
log( info,concat("*DEBUG Vendor ID ",substring(option vendor-class-identifier,0,4)));
log( info,concat("DEBUG BOOTP_IP ", binary-to-ascii(10, 8, ".", packet(24,4))));
log( info,concat("*DEBUG Remote-ID: ",binary-to-ascii(16,8,":",option agent.remote-id)) );

on commit {
set oper=concat("'1","'");
set clip = concat("'",binary-to-ascii(10, 8, ".", leased-address),"'");
set clhw = concat ("'",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),"'");
execute("/dhcp_scripts/dbleases.php", oper, clip, clhw);
}


on release {
set clip = binary-to-ascii(10, 8, ".", leased-address);
set clhw = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2));
execute("/dhcp_scripts/dbleases.php", 2, clip, clhw);
}

on expiry {
set clip = binary-to-ascii(10, 8, ".", leased-address);
set clhw = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2));
execute("/dhcp_scripts/dbleases.php", 3, clip, clhw);
}


class "c41mta"        {
        match if
        (substring (option vendor-class-identifier,0,4) = "pkts") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.110.0.1");        
}

class "c41cm"        {
        match if
         (substring (option vendor-class-identifier,0,6) = "docsis") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.105.0.1");
                
}


shared-network "docsis"{
subnet 192.168.183.0 netmask 255.255.255.0{}
# cmts1 cm
subnet 10.105.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
pool {
range 10.105.0.2 10.105.0.250;
option subnet-mask 255.255.255.0;
option routers 10.105.0.1;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
next-server 192.168.183.30;
option time-servers 192.168.183.30;
option host-name = host-decl-name;
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".cm");
allow members of "c41cm";
}}
            }

shared-network "mta"{
subnet 10.110.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.110.0.1;
option time-servers 192.168.183.30;
next-server 192.168.183.30;        
allow unknown-clients;
pool {
range 10.110.0.2 10.110.0.250;
option subnet-mask 255.255.255.0;
option routers 10.110.0.1;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
next-server 192.168.183.30;
option time-servers 192.168.183.30;
option host-name = host-decl-name;
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".cm");
allow members of "c41mta";
}}
            }

Если убрать allow members of "c41mta"; из пула в shared-network "mta", тогда все хорошо,
но мне необходимо строго матчить, что это вендор pkts и запрос пришел с 10.110.0.1.
Так и происходит, вот лог без allow members of "c41mta";, я часть из 105.0.0/24 пропущу

Dec  2 12:58:56 ipv6provisioning dhcpd: *DEBUG Vendor ID pktc1.
Dec  2 12:58:56 ipv6provisioning dhcpd: *DEBUG Vendor ID pktc
Dec  2 12:58:56 ipv6provisioning dhcpd: DEBUG BOOTP_IP 10.110.0.1
Dec  2 12:58:56 ipv6provisioning dhcpd: *DEBUG Remote-ID: 0:11:e3:f1:a7:23
Dec  2 12:58:56 ipv6provisioning dhcpd: DHCPDISCOVER from 00:11:e3:f1:a7:24 via 10.110.0.1
Dec  2 12:58:57 ipv6provisioning dhcpd: data: host_decl_name: not available
Dec  2 12:58:57 ipv6provisioning dhcpd: DHCPOFFER on 10.110.0.2 to 00:11:e3:f1:a7:24 via 10.110.0.1
Dec  2 12:58:59 ipv6provisioning dhcpd: *DEBUG Vendor ID pktc1.
Dec  2 12:58:59 ipv6provisioning dhcpd: *DEBUG Vendor ID pktc
Dec  2 12:58:59 ipv6provisioning dhcpd: DEBUG BOOTP_IP 10.110.0.1
Dec  2 12:58:59 ipv6provisioning dhcpd: *DEBUG Remote-ID: 0:11:e3:f1:a7:23
Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[0] = /dhcp_scripts/dbleases.php
Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[1] = '1'
Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[2] = '10.110.0.2'
Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[3] = '0011e3f1a724'
Dec  2 12:58:59 ipv6provisioning dhcpd: DHCPREQUEST for 10.110.0.2 (192.168.183.30) from 00:11:e3:f1:a7:24 via 10.110.0.1
Dec  2 12:58:59 ipv6provisioning dhcpd: data: host_decl_name: not available
Dec  2 12:58:59 ipv6provisioning dhcpd: DHCPACK on 10.110.0.2 to 00:11:e3:f1:a7:24 via 10.110.0.1

Есть via 10.110.0.1, значит bootp адрес верный.
Почему, когда матчу в пулах класс c41mta дхцп говорит что нет лизов?

Заранее благодарю.


"dhcpd для множества подсетей"
Отправлено iKenny , 02-Дек-15 16:26 
>[оверквотинг удален]
> Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[2] = '10.110.0.2'
> Dec  2 12:58:59 ipv6provisioning dhcpd: execute_statement argv[3] = '0011e3f1a724'
> Dec  2 12:58:59 ipv6provisioning dhcpd: DHCPREQUEST for 10.110.0.2 (192.168.183.30) from
> 00:11:e3:f1:a7:24 via 10.110.0.1
> Dec  2 12:58:59 ipv6provisioning dhcpd: data: host_decl_name: not available
> Dec  2 12:58:59 ipv6provisioning dhcpd: DHCPACK on 10.110.0.2 to 00:11:e3:f1:a7:24 via
> 10.110.0.1
> Есть via 10.110.0.1, значит bootp адрес верный.
> Почему, когда матчу в пулах класс c41mta дхцп говорит что нет лизов?
> Заранее благодарю.

Сам спросил, сам отвечаю))))
В общем переписал просто конфиг, глаза уже замылены, не могу найти где был полвох.
В общем конфиг выдает адреса по бутп адресу. Весь не буду скидывать, массивный получается.
INTERFACES="eth1";
log-facility local7;
omapi-port 7911;
omapi-key omapi_key;
key omapi_key {
     algorithm hmac-md5;
               secret f501a3c9cc7ccf2318d319390a9f09be;
                         }
ddns-update-style interim;
authoritative;
allow bootp;
deny declines;
default-lease-time 86400;
max-lease-time 86400;
option time-servers 192.168.183.30;
option space docsis-mta;
option docsis-mta.dhcp-server-1 code 1 = ip-address;
option docsis-mta.dhcp-server-2 code 2 = ip-address;
option docsis-mta.provision-server code 3 = { integer 8, string };
option docsis-mta.krb-realm-name code 6 = string;
option docsis-mta.timer code 7 = string;
option docsis-mta-pkt code 122 = encapsulate docsis-mta;
option space PC-MTA;
option PC-MTA.DHCP-server-1 code 1 = ip-address;
option PC-MTA.DHCP-server-2 code 2 = ip-address;
option PC-MTA.Provision-server code 3 = {integer 8, string };
option PC-MTA.AS-REQ_AS-REP code 4 = { integer 32, integer 32, integer 32 };
option PC-MTA.AP-REQ_AP-REP code 5 = { integer 32, integer 32, integer 32 };
option PC-MTA.Kerberos-realm code 6 = string;
option PC-MTA.TGS-util code 7 = integer 8;
option PC-MTA.Provision-timer code 8 = integer 8;
option PC-MTA.Ticket-ctrl-mask code 9 = integer 16;
option PC-MTA-122 code 122 = encapsulate PC-MTA;
option space packetcable;
option packetcable.primary-dhcp-server code 1 = ip-address;
option packetcable.snmp-entity-address code 6 = string;
option packetcable.kerberos-realm-name code 6 = string;
option packetcable.primary-dhcp-server 192.168.183.30;

log( info,concat("*DEBUG Vendor ID ",substring(option vendor-class-identifier,0,6)));
log( info,concat("*DEBUG Vendor ID ",substring(option vendor-class-identifier,0,4)));
log( info,concat("DEBUG BOOTP_IP ", binary-to-ascii(10, 8, ".", packet(24,4))));
log( info,concat("*DEBUG Remote-ID: ",binary-to-ascii(16,8,":",option agent.remote-id)) );

# Cable Modems
class "c41cm" {
match if (substring (option vendor-class-identifier,0,6) = "docsis") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.105.0.1");
}
class "c42cm" {
match if (substring (option vendor-class-identifier,0,6) = "docsis") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.106.0.1");
}


# Mta chips
class "c41mta" {
match if (substring (option vendor-class-identifier,0,4) = "pktc") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.110.0.1");
spawn with hardware;
}
class "c42mta" {
match if (substring (option vendor-class-identifier,0,4) = "pktc") and (binary-to-ascii(10, 8, ".", packet(24,4))="10.111.0.1");
spawn with hardware;
}

subnet 192.168.183.0 netmask 255.255.255.0 {}

shared-network Docsis {
# Subnet for sunc4-1 modems
subnet 10.105.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.105.0.1;
allow unknown-clients;
pool {
allow members of "c41cm";
range 10.105.0.2 10.105.0.254;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
next-server 192.168.183.30;
option time-servers 192.168.183.30;
option host-name = host-decl-name;
#generim cm config iz cm mac
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".cm");
    }#end pool
                       }#end subnet sunc4-1
# Subnet for sunc4-2 modems
subnet 10.106.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.106.0.1;
allow unknown-clients;
pool {
allow members of "c42cm";
range 10.106.0.2 10.106.0.254;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
next-server 192.168.183.30;
option time-servers 192.168.183.30;
option host-name = host-decl-name;
#generim cm config iz cm mac
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".cm");
    }#end pool
                       }#end subnet sunc4-2
               }#end shared network Docsis
shared-network "MTA"{
# sunc4-1 mta
subnet 10.110.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.110.0.1;
allow unknown-clients;
option time-servers 192.168.183.30;
next-server 192.168.183.30;
#generim nazvanie mta config iz mta mac
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".bin");
pool {
allow members of "c41mta";
range 10.110.0.2 10.110.0.250;
#use-host-decl-names on;
option host-name = host-decl-name;
option domain-name "abcom.al";
option domain-name-servers 80.78.66.66;
option routers 10.110.0.1;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
option domain-name-servers 80.78.36.65;
option time-offset -0;
option log-servers 192.168.183.30;
option domain-name "abcom.al";
option subnet-mask 255.255.255.0;
     }#end pool
                    }#end subnet c41mta
# sunc4-2 mta
subnet 10.111.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 10.111.0.1;
allow unknown-clients;
option time-servers 192.168.183.30;
next-server 192.168.183.30;
#generim nazvanie mta config iz mta mac
filename = concat (suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 1, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 2, 1))),2), "",suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 3, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 4, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 5, 1))),2), "", suffix (concat ("0", binary-to-ascii (16, 8, "", substring (hardware, 6, 1))),2),".bin");
pool {
allow members of "c42mta";
range 10.111.0.2 10.111.0.250;
#use-host-decl-names on;
option host-name = host-decl-name;
option domain-name "abcom.al";
option domain-name-servers 80.78.66.66;
option routers 10.111.0.1;
option PC-MTA.DHCP-server-1 192.168.183.30;
option docsis-mta.dhcp-server-1 192.168.183.30;
option domain-name-servers 80.78.36.65;
option time-offset -0;
option log-servers 192.168.183.30;
option domain-name "abcom.al";
option subnet-mask 255.255.255.0;
     }#end pool
                    }#end subnet sunc4-2

            }#end shared network Network MTA