使用Linux配置DHCP Option.docx

上传人:b****7 文档编号:24972761 上传时间:2023-06-03 格式:DOCX 页数:11 大小:138.63KB
下载 相关 举报
使用Linux配置DHCP Option.docx_第1页
第1页 / 共11页
使用Linux配置DHCP Option.docx_第2页
第2页 / 共11页
使用Linux配置DHCP Option.docx_第3页
第3页 / 共11页
使用Linux配置DHCP Option.docx_第4页
第4页 / 共11页
使用Linux配置DHCP Option.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

使用Linux配置DHCP Option.docx

《使用Linux配置DHCP Option.docx》由会员分享,可在线阅读,更多相关《使用Linux配置DHCP Option.docx(11页珍藏版)》请在冰豆网上搜索。

使用Linux配置DHCP Option.docx

使用Linux配置DHCPOption

使用Linux配置DHCPOption

 

摘要

目前在公司产品开发中要求验证相关DHCPOption功能的项目越来越多。

本指导书旨在指导测试人员正确完成对CPE网关设备的DHCPOption功能的测试,以判断产品是否符合相关需求。

其中CPE网关设备作为DHCPServer,主要是测试Option60,Option43和Option125等作为接入认证技术的功能。

如果其中CPE网关设备是作为DHCPClient,则主要是测试一些基本功能,如DHCPOption6,Option15,Option42和Option50等。

如果其中CPE网关设备是作为DHCPRelayAgent,则主要是测试Option82功能。

 

正文

1.预置条件

1.准备PC机一台,安装Linux操作系统RHELAS4(请注意需安装ethereal抓包软件);

2.验证Linux系统中可以使用命令dhclient(即PC机作为DHCPClient,CPE设备作为DHCPServer)。

如该命令无效,则需安装相应的dhclientRPM包。

3.验证Linux系统中已经安装dhcpd服务器(此时CPE设备为DHCPClient,PC机作为DHCPServer);如果“servicedhcpdrestart”命令无效,则需安装相应的dhcpdRPM包。

4.网线、电话线若干;

2.测试拓扑图

Fig1测试拓扑图1

Fig2测试拓扑图2

Fig3测试拓扑图3

3.测试步骤

测试内容可以包括五大部分(I、II、III、Ⅳ、Ⅴ)

I.DHCPOption60测试(参照测试拓扑图1)

DHCPOPTION60中带有Vendor和ServiceOption信息,是由用户终端发起DHCP请求时携带的信息,

网络设备只需要透传即可。

其在应用中的作用是用来识别用户终端类型,从而识别用户业务类型,

DHCP服务器可以依赖于此分配不同的业务IP地址。

其格式为:

CodeLenVendorclassIdentifier

+-----+-----+-----+-----+---

|60|n|i1|i2|...

+-----+-----+-----+-----+---

 

1.编辑/etc/dhclient.conf文件(默认安装后此文件并不存在,需要手工创建),举例如下:

interface“eth0”{

sendvendor-class-identifier“IP_Camera”;

#上面即PC机作为DHCPClient时,要求携带DHCPOption60,值为“IP_Camera”。

可以根据不同客户需求设置不同的值。

requestsubnet-mask,broadcast-address,time-offset,routers,domain-name,domain-name-servers,host-name,netbios-name-servers,netbios-scope;

#上面即DHCPOption55中的相关内容。

可以设置不同的参数集合。

}

2.在终端中输入命令:

#dhclient–r

其中“#”为linux超级用户命令提示符;

该命令为释放当前的租约,终止DHCPClient。

#ifconfigeth0192.168.1.2

该命令为eth0端口随意设置一IP,便于下面抓包工具启动抓包。

3.启动抓包工具ethereal。

(选择eth0端口)

4.在终端中输入命令:

#dhclienteth0

命令完成后在抓包工具中过滤栏中输入:

bootp,可以在DHCPDiscover和DHCPRequest行中看到Option60的参数和值。

II.DHCPOption43测试(参照测试拓扑图1)

DHCPOption43格式如下:

CodeLenVendor-specificinformation

+-----+-----+-----+-----+---

|43|n|i1|i2|...

+-----+-----+-----+-----+---

如果使用封装的Vendor-specificinformation,则iX信息如下格式:

CodeLenDataitemCodeLenDataitemCode

+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

|T1|n|d1|d2|...|T2|n|D1|D2|...|...|

+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

1.ClientPC开启编辑/etc/dhclient.conf文件,举例(TR111要求的)如下:

interface“eth0”{

sendvendor-encapsulated-options01:

04:

41:

41:

41:

41:

02:

05:

42:

42:

42:

42:

42:

03:

06:

43:

43:

43:

43:

43:

43;

#上面即PC机作为DHCPClient时,要求携带封装的DHCPOption43:

Code为1的Data段为4个0x41(即字母B);Code为2的Data段为5个0x41(即字母C);Code为3的Data段为6个0x43(即字母C);可以自行根据实际需要修改添加。

requestsubnet-mask,broadcast-address,time-offset,routers,domain-name,domain-name-servers,host-name,netbios-name-servers,netbios-scope;

#上面即DHCPOption55中的相关内容。

可以设置不同的参数集合。

}

2.在终端中输入命令:

#dhclient–r

其中“#”为linux超级用户命令提示符;

该命令为释放当前的租约,终止DHCPClient。

#ifconfigeth0192.168.1.2

该命令为eth0端口随意设置一IP,便于下面抓包工具启动抓包。

3.启动抓包工具ethereal。

(选择eth0端口)

4.在终端中输入命令:

#dhclienteth0

命令完成后在抓包工具中过滤栏中输入:

bootp,可以在DHCPDiscover和DHCPRequest行中看

到Option43的参数和值。

III.DHCPOption125测试(参照测试拓扑图1)

DHCPOption125格式如下:

Fig3RFC3925中对于Option125报文格式的说明

5.ClientPC开启编辑/etc/dhclient.conf文件,举例(TR111要求的)如下:

optionoption-125code125=string;

interface“eth0”{

sendoption-12500:

0D:

E9:

18:

01:

06:

41:

41:

41:

41:

41:

41:

02:

06:

42:

42:

42:

42:

42:

42:

03:

06:

43:

43:

43:

43:

43:

43;

#上面即PC机作为DHCPClient时,要求携带DHCPOption125,Option125的OptionDataEnterpriseNumberforDSLForum3561:

000DE9;Datalength:

0x18,此EnterpriseNumber包含的OptionData的总长度;DeviceOUI为6个0x41(即字母B);DeviceSerialNumber为6个0x42(即字母C);DeviceProductClass为6个0x43(即字母C);

requestsubnet-mask,broadcast-address,time-offset,routers,domain-name,domain-name-servers,host-name,netbios-name-servers,netbios-scope;

#上面即DHCPOption55中的相关内容。

可以设置不同的参数集合。

}

6.在终端中输入命令:

#dhclient–r

其中“#”为linux超级用户命令提示符;

该命令为释放当前的租约,终止DHCPClient。

#ifconfigeth0192.168.1.2

该命令为eth0端口随意设置一IP,便于下面抓包工具启动抓包。

7.启动抓包工具ethereal。

(选择eth0端口)

8.在终端中输入命令:

#dhclienteth0

命令完成后在抓包工具中过滤栏中输入:

bootp,可以在DHCPDiscover和DHCPRequest行中看到Option125的参数和值。

Ⅳ。

DHCPOption6/15/42/121/50等测试(参照测试拓扑图2)

这个需求是CPE网关设备作为DHCPClient,而PC机作为DHCPServer。

其中:

DHCPOption6是DomainNameServer,其格式为:

CodeLenAddress1Address2

+-----+-----+-----+-----+-----+-----+-----+-----+--

|6|n|a1|a2|a3|a4|a1|a2|...

+-----+-----+-----+-----+-----+-----+-----+-----+--

DHCPOption15是DomainName,其格式为:

CodeLenDomainName

+-----+-----+-----+-----+-----+-----+--

|15|n|d1|d2|d3|d4|...

+-----+-----+-----+-----+-----+-----+--

DHCPOption42是NetworkTimeProtocolServers,其格式为:

CodeLenAddress1Address2

+-----+-----+-----+-----+-----+-----+-----+-----+--

|42|n|a1|a2|a3|a4|a1|a2|...

+-----+-----+-----+-----+-----+-----+-----+-----+--

DHCPOption121是ClasslessStaticRoute的Option,其格式(请参考RFC3442)为:

CodeLenDestination1Router1

+-----+---+----+-----+----+----+----+----+----+

|121|n|d1|...|dN|r1|r2|r3|r4|

+-----+---+----+-----+----+----+----+----+----+

Destination2Router2

+----+-----+----+----+----+----+----+

|d1|...|dN|r1|r2|r3|r4|

+----+-----+----+----+----+----+----+

1.编辑/etc/dhcpd.conf文件,举例如下:

(RHELAS4中,可以参考/user/share/doc/dhcp-3.0.1/dhcpd.conf.sample)

ddns-update-styleinterim;

ignoreclient-updates;

(下面两行仅供配置Option121,如无需测试可用#注释)

optionclassless-static-routescode249=string;

optionclassless-static-routes00:

c0:

a8:

01:

01:

0a:

0a:

57:

c0:

a8:

01:

64;

(添加2条静态路由:

1,路由为0.0.0.0mask0.0.0.0gw192.168.1.1

2,路由为10.64.0.0mask255.192.0.0gw192.168.1.100)

subnet172.24.0.0netmask255.255.0.0{

optionrouters172.24.1.1;

optionssubnet-mask255.255.255.0;

optiondomain-name“domain.org”;

optionnis-domain“domain.org”;

optiondomain-name-servers172.24.1.1;

optiontime-offset-18000;

optionntp-servers172.24.1.1;

rangedynamic-bootp172.24.2.100172.24.2.200;

default-lease-time21600;

max-lease-time43200;

}

2.在PC终端中输入命令:

#servicedhcpdrestart

启动DHCPD后台进程

3.在CPE网关设备上查看此modem的DNS是否为dhcpd.conf中设置的如“172.24.1.1”。

4.在CPE网关设备上查看此modem的DomainName是否为dhcpd.conf中设置的如“domain.org”。

5.通过在CPE网关设备上查看此modem的NetworkTimeProtocolServers是否为dhcpd.conf中设置的如“172.24.1.1”。

6.(option121)通过telnet到CPE,通过routeshow命令显示是否已经增加设置的两条静态路由。

其中:

DHCPOption50是RequestedIPAddress,其格式为:

CodeLenAddress

+-----+-----+-----+-----+-----+-----+

|50|4|a1|a2|a3|a4|

+-----+-----+-----+-----+-----+-----+

此DHCPOption是DHCPServer必须支持的,无需在配置文件中进行设置,现在是测试DHCPClient,所以只需抓包看即可。

Ⅴ。

DHCPOption82测试(参照测试拓扑图3)

这个需求是CPE网关设备作为DHCPRelay,而PC2机作为DHCPServer。

举例配置dhcpd.conf如下:

(根据DHCPOption82不同的应用需要选择不同的配置策略)

ddns-update-styleinterim;

ignoreclient-updates;

optionspaceagent;

optionagent.circuit_idcode1=string;

optionagent.remote_idcode2=unsignedinteger16;

optionagent.link_selectioncode5=string;

optionrelay_agentcode82=encapsulateagent;

subnet172.24.0.0netmask255.255.0.0{

class"TEST1"{

matchifoptionagent.circuit-id=”test1”;}

class"TEST2"{

matchifoptionagent.circuit-id=”test2”;}

pool{allowmembersof"TEST1";

optionrouters172.24.242.1;

optiondomain-name-servers172.24.10.10,172.24.11.10;

rangedynamic-bootp172.24.35.10172.24.35.15;

default-lease-time21600;

max-lease-time43200;

}

pool{allowmembersof"TEST2";

optionrouters172.24.242.1;

optiondomain-name-servers172.24.10.10,172.24.11.10;

rangedynamic-bootp172.24.55.10172.24.55.15;

default-lease-time21600;

max-lease-time43200;

}

}

在上面的配置文件中,我们定义了两个类“TEST1”和“TEST2”,当DHCPServer收到的OPTION32字段的circuit_id子选项为test1的时候,我们将其归在类“TEST1”中,并给其分配172.24.55.10-172.24.55.15范围内的地址,同样,当DHCPServer收到的OPTION82字段的circuit_id子选项为test2的时候,我们将其归在类“TEST2”中,并给其分配172.24.35.10-172.24.35.15范围内的地址。

4.总结

1.CPE网关设备作为DHCPServer,则PC作为DHCPClient主要通过/etc/dhclient.conf进行配置和dhclient命令进行操作。

2.CPE网关设备作为DHCPClient,则PC作为DHCPServer主要通过/etc/dhcpd.conf进行配置和servicedhcpdrestart命令进行操作。

5.备注说明

1.目前尚没有实现如何在Linux系统中设置DHCPInform包。

2.DHCP协议中的magiccookie是固定的:

63825363(16进制,RFC2132),与其它协议不太相似。

附件

1.《多业务接入认证技术白皮书.pdf》:

2.DHCP自定义选项.rtf

参考文献

【1】:

IETFRFC3925《Vendor-IdentifyingVendorOptionsforDynamicHostConfigurationProtocolversion4(DHCPv4)》

【2】:

IETFRFC2132《DHCPOptionsandBOOTPVendorExtensions》

【3】:

IETFRFC3046《DHCPRelayAgentInformationOption》

【4】:

IETFRFC3342《TheClasslessStaticRouteOptionforDynamicHostConfigurationProtocol(DHCP)version4》

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1