bschirrmeister / docsis_server

docsis_server
GNU General Public License v2.0
19 stars 10 forks source link

docsis_server NaK different giaddr in dhcp discover/request #2

Open sonny420 opened 9 years ago

sonny420 commented 9 years ago
  1. my config_net have vlan 1, vlan 2 subnet for different customer . 2.my cmts config have 2 interface for different customer. my interface have bundle 1.1 , 1.2 as blew

interface Bundle1.1 description "scope install" ip address 172.16.0.254 255.255.255.0 secondary ip address 10.100.1.254 255.255.254.0 no cable arp no cable proxy-arp cable source-verify dhcp cable dhcp-giaddr policy cable helper-address 10.0.0.10 ! interface Bundle1.2 description "scope internet" ip address xxx.xxx.xxx.xxx 255.255.255.0 secondary ip address 10.10.7.254 255.255.248.0 no cable arp cable source-verify dhcp cable dhcp-giaddr policy cable helper-address 10.0.0.10

when cable modem setup in vlan 2 In dhcp discover use giaddr 10.100.1.254, and docsis server offer vlan 2 10.10.x.x ip to client but in dhcp request from client , giaddr change to 10.10.7.254, then docsis server will reject it .

and the version in yours docsis server dhcp thread will crash when reject this request.

Log in docsis server(dhcp) 2014-12-25 09:40:30 id=1 0.0.0.0 mac=5C353B55E24A modem=0 sent=NAK type=CM cache=NO 2014-12-25 09:40:30 id=1 10.10.0.6 mac=5C353B55E24A modem=0 sent=OFFER type=CM cache=NO Log in docsis server(sys) 2014-12-25 09:40:30 id=1 4 NAK -- no subnet for ip mac 5c353b55e24a vlan 2 2014-12-25 09:40:30 id=1 4 NEW CM GIaddr mismatch (the CM moved) gi 10.10.7.254 ip 10.10.0.6 vlan 2

bschirrmeister commented 9 years ago

Hi sonny420,

could you please provide the coredump that should be placed into your tftp-directory after the crash. Please make sure that the server was built on the latest soure in this repository.

Please also provide the following informations:

select * from config_nets; select * from config_opts; select * from docsis_modem; select * from docsis_update;

at this time it is not supported to place devices in a different vlan than the primary-subnet.

regards, Benedikt

sonny420 commented 9 years ago

Dear Benedikt

Sorry  , i can’t provide you more information , because i reinstall the server already.

this is my database sql data and dhcp debug log

In my case

I need multi ISP solution for dhcp server.

It no problem when only 1 vlan and the same giaddr. But we use sub-interface in CMTS . It will change gadder . In DHCPDISCOVER giaddr will use 1.st interface. But if set up vlan 2 the giaddr will change to 2.st inerface at DHCPREQUEST.

I tried your version and original docsis server 3.5 .

In your version will crash after see DHCPREQUEST packet. In original version will send back NAK packet.

But i think it will be fine when only 1 interface. because only one interface the giaddr will be the same.

Is this information enough for you ?

Sonny

Benedikt Schirrmeister notifications@github.com 於 2015年1月2日 下午2:35 寫道:

Hi sonny420,

could you please provide the coredump that should be placed into your tftp-directory after the crash. Please make sure that the server was built on the latest soure in this repository.

Please also provide the following informations:

select * from config_nets; select * from config_opts; select * from docsis_modem; select * from docsis_update;

at this time it is not supported to place devices in a different vlan than the primary-subnet.

regards, Benedikt

— Reply to this email directly or view it on GitHub https://github.com/bschirrmeister/docsis_server/issues/2#issuecomment-68512155.

INSERT INTO config_nets (nettype, cmts_ip, cmts_vlan, network, gateway, grant_flag, dynamic_flag, full_flag, range_min, range_max, lease_time, config_opt1, config_opt2, config_opt3) VALUES ('CM', '10.100.1.254', 1, '10.100.0.0/23', '10.100.1.254', 'NO', 'YES', 'NO', '10.100.0.1', '10.100.1.250', 259200, 1, 0, 0), ('CM', '10.100.1.254', 2, '10.10.0.0/21', '10.10.7.254', 'NO', 'YES', 'NO', '10.10.0.5', '10.10.7.250', 259200, 1, 0, 0),

('CPE', '172.16.0.254', 1, '172.16.0.0/24', '172.16.0.254', 'YES', 'YES', 'NO', '172.16.0.1', '172.16.0.253', 10800, 20, 0, 0), ('CPE', '103.8.128.254', 2, '103.8.128.0/24', '103.8.128.254', 'YES', 'YES', 'NO', '103.8.128.1', '103.8.128.253', 10800, 20, 0, 0), ('CPE', '103.8.128.254', 2, '103.8.129.0/24', '103.8.129.254', 'YES', 'YES', 'NO', '103.8.129.1', '103.8.129.253', 10800, 20, 0, 0);

CM

INSERT INTO config_opts (server_id, opt_id, opt_type, opt_dtype, opt_value, sub_opt, comment) VALUES (1, 1, 54, 'IP', '10.0.0.14', 0, 'Lease Server IP'), (1, 1, 6, 'IP', '203.28.128.3,203.28.128.4', 0, 'DNS Servers'), (1, 1, 15, 'CHAR', 'cm.htv.net', 0, 'Domain Name'), (1, 1, 2, 'INT32', '25200', 0, 'Time Offset'), (1, 1, 4, 'IP', '10.0.0.14', 0, 'Time Server'), (1, 1, 7, 'IP', '10.0.0.14', 0, 'Log Server'), (1, 1, 66, 'CHAR', '10.0.0.14', 0, 'TFTP Server'); (1, 10, 3, 'IP', '10.10.7.254', 0, 'Router'),

CPE �函�

INSERT INTO config_opts (server_id, opt_id, opt_type, opt_dtype, opt_value, sub_opt, comment) VALUES (1, 20, 54, 'IP', '10.0.0.14', 0, 'Lease Server IP'), (1, 20, 6, 'IP', '203.28.128.3,203.28.128.4', 0, 'DNS Servers'), (1, 20, 15, 'CHAR', 'cpe.htv.net', 0, 'Domain Name'), (1, 20, 2, 'INT32', '25200', 0, 'Time Offset'); (1, 20, 3, 'IP', '103.8.128.254', 0, 'Router'),

INSERT INTO docsis_modem (modem_macaddr, cmts_vlan, serialnum, subnum, config_file, dynamic_config_file, static_ip, dynamic_ip, config_opt) VALUES ('5c353b55e24a', 1, '002', 0, 'stockcm.cfg', '0', 0, 0, 0);