1、外置DHCP服务器option43option60配置方法1 外置DHCP服务器option43、option60配置方法1.1 背景目前公司建设的无线项目(如汉庭酒店/学校/企业等)大部分都是在核心交换机上开启DHCP服务器的方式为AP和用户分配IP地址。但是在即将进行的众多高校无线建设中,DHCP服务器基本上是基于网络中心WINDOWS SERVER或者LINUX SERVER搭建,因此若要进行高校大规模AP组网,则必须在Windows、LINUX服务器上对DHCP、option43、option60配置进行验证。1.2 AC1 (VLAN110)110.110.1.1防火墙拓扑图核心路由
2、交换机DHCP服务器(VLAN200)200.1.1.101AC2 (VLAN110)110.110.1.2汇聚路由交换机(VLAN100)100.100.1.254PoE交换机PoE交换机PoE交换机AP2 (VLAN100)100.100.1.xAP1 (VLAN100)100.100.1.x在独立部署DHCP服务器场景中,一般采用在汇聚路由交换机上配置DHCP Relay的方式将AP发出的DHCP请求转发到DHCP服务器。如果整个网络拓扑中只有核心交换机做路由,则在核心交换机上配置DHCP Relay。1.3 流程分析在这里,先简单回顾一下通过option43、option60为AP分配
3、IP的流程:(1) AP向DHCP Server发送DHCP Discovery请求,请求中附带option60属性来标示供应商类别标识符。(2) DHCP Server检查option60属性,判断发送请求的Client是否符合获取IP地址的条件,若符合条件则回复DHCP Offer报文来分配IP地址,否则DHCP Server忽略请求。DHCP Server也可以关闭option60检查选项,如果关闭该选项,则无论option60是否匹配,DHCP Server都会响应Client的请求。(3) DHCP Server回复DHCP Offer报文时附带option43属性来下发AC的IP地
4、址或域名。(4) DHCP Server在回复Client请求时,不附带option60属性。从上面的流程可以看出,外置DHCP服务器需要配置的参数是:Server收到Client请求时检查option60属性,Server回复Client报文时增加option43属性。DCN的AP附带的option60值恒定为字符串“udhcp 1.18.2”。1.4 DHCP option43字段格式在WLAN项目无线交换机集群管理模块需求说明书中定义option43字段格式如下:字段名称长度值Option Code1字节43Data Length1字节剩余部分的长度,单位为字节Option Type1字
5、节1表示IPv4地址,2表示域名Length of the address1字节后面内容的长度Content由前一字段指定IP地址或者域名后三个字段可以多次出现,以配置多个AC地址。上面表格中黑色字段操作系统会自动填写,我们只需要构造红色字段的内容即可。例如:按IP地址表示AC:(1) 如果只有一个AC,设AC的IP地址是110.110.1.1,将IP地址转换成十六进制表示为6e 6e 01 01,Option Type应该使用1,Length为4字节,整个option43字段可用十六进制表示为:01 04 6e 6e 01 01(2) 如果有两个AC,设AC1的IP地址是110.110.1.
6、1(6e 6e 01 01),AC2的IP地址是110.110.1.2(6e 6e 01 02),括号内为IP地址的十六进制,每一个AC地址都按照Option Type、Length、Address组成一个字段,再将两个字段连起来写,整个option43字段可用十六进制表示为:01 04 6e 6e 01 01 01 04 6e 6e 01 02,蓝色表示AC1的字段,红色表示AC2的字段。(3) 如果有多个AC,按照第(2)种方法继续添加更多的AC地址,一个AP最多可支持4个AC地址。按域名表示AC:(1) 如果只有一个AC,设AC的域名是,Option Type应该使用2,Length为1
7、2(0x0c)字节,Option Type和Length字段如果用字符串来表示是不可打印字符,只能用十六进制字节形式来表示,因此还需要将AC的域名名称中每个字符都转换成ASCII码来表示,整个option43字段最终可用十六进制表示为:02 0c 61 63 31 2e 74 65 73 74 2e 63 6f 6d(2) 如果有两个AC,设AC1的域名是,AC2的域名是,每一个AC域名都按照Option Type、Length、Address组成一个字段,再将两个字段连起来写,整个option43字段可用十六进制表示为:02 0c 61 63 31 2e 74 65 73 74 2e 63
8、6f 6d 02 0c 61 63 32 2e 74 65 73 74 2e 63 6f 6d,蓝色表示AC1的字段,红色表示AC2的字段。(3) 如果有多个AC,按照第(2)种方法继续添加更多的AC域名,一个AP最多可支持4个AC域名。1.5 服务器配置DHCP步骤这里选择三种最常见的DHCP服务器(Windows2003、Windows2008、Linux)分别介绍服务器配置option43、option60的方法。1.5.1 汇聚路由交换机DHCP Relay配置注:每行命令/之后内容是命令的含义和解释。配置命令:SWITCH(config)#service dhcp /全局开启DHCP
9、服务SWITCH(config)#ip forward-protocol udp bootps /全局开启DHCP转发功能SWITCH(config)#vlan 100 /创建vlan 100SWITCH(config-vlan100)#interface vlan 100 /创建interface vlan 100SWITCH(config-if-vlan100)#ip address 100.100.1.254 255.255.255.0 /为interface vlan 100设置一个IP地址和掩码SWITCH(config-if-vlan100)#ip helper-address 2
10、00.1.1.101 /设置dhcp-relay转发目的服务器IP地址1.5.2 Windows2003配置DHCP服务在配置开始之前,操作系统中DHCP服务已安装,并能正常使用。1.5.2.1 创建作用域(IP地址池)1.5.2.1.1 步骤1:打开操作系统DHCP管理界面从“开始 管理工具 DHCP”菜单中打开2003服务器的DHCP管理窗口。1.5.2.1.2 步骤2:准备新建作用域在DHCP管理窗口中,从左侧窗口中选择服务器名称,并单击鼠标右键,从弹出菜单中点击“新建作用域”。1.5.2.1.3 步骤3:新建作用域向导按照windows配置向导来设置DHCP作用域(即IP地址池),单击
11、“下一步”。1.5.2.1.4 步骤4:新建作用域向导设置作用域名称和描述,可输入任意值,这里为了便于记忆,名称设置为“Pool AP”,描述设置为AP所在的VLAN,单击“下一步”。1.5.2.1.5 步骤5:新建作用域向导输入将要分配的IP地址段和子网掩码,单击“下一步”。1.5.2.1.6 步骤6:新建作用域向导这里没有需要禁止分配的IP地址,单击“下一步”。1.5.2.1.7 步骤7:新建作用域向导设置IP地址的有效期,系统默认为8天,单击“下一步”。1.5.2.1.8 步骤8:新建作用域向导还有网关等信息未配置,所以这里选择“是”,然后单击“下一步”。1.5.2.1.9 步骤9:新建
12、作用域向导添加一个网关IP地址,单击“下一步”。1.5.2.1.10 步骤10:新建作用域向导添加一个DNS服务器IP地址(之后测试AP按域名解析AC IP地址时要用到它),单击“下一步”。1.5.2.1.11 步骤11:新建作用域向导没有用到WINS,这里可以不用填,直接单击“下一步”。1.5.2.1.12 步骤12:新建作用域向导选择“是”立即激活作用域,单击“下一步”。1.5.2.1.13 步骤13:新建作用域向导至此,已成功创建了给AP分配IP的作用域,单击“完成”。1.5.2.2 添加option43属性Windows2003服务器收到DHCP Discovery报文请求后,是按照D
13、HCP Realy的IP地址来判断是否可以给Client分配IP地址,没有设置option60条件的地方,因此在Windows2003下跳过option60的设置,直接开始option43的设置。1.5.2.2.1 步骤1:准备配置作用域选项找到并展开刚才创建的作用域100.100.1.0 Pool AP,选择“作用域选项”,并单击鼠标右键,从弹出菜单中点击“配置选项”。1.5.2.2.2 步骤2A:按单个AC IP配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区内按option43格式输入AC的IP地址信息,然后点击“确定”
14、按钮保存配置。1.5.2.2.3 步骤2B:按多个AC IP配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区内按option43格式顺序输入每个AC的IP地址信息,然后点击“确定”按钮保存配置。1.5.2.2.4 步骤2C:按单个AC域名配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区1内按option43格式输入Option Type、Length十六进制(有蓝色下划线的字节),在红色编辑区2内按AC的域名直接输入字符串(有红色下划线的字符),然后点击“确定
15、”按钮保存配置。1.5.2.2.5 步骤2D:按多个AC域名配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区1内按AC1的option43格式输入Option Type、Length十六进制(有蓝色下划线的字节),在红色编辑区2内按AC1的域名直接输入字符串(有红色下划线的字符),然后再回到编辑区1内按,AC2的option43格式输入Option Type、Length十六进制(有蓝色下划线的字节),再到红色编辑区2内按AC2的域名直接输入字符串(有红色下划线的字符),最后点击“确定”按钮保存配置。1.5.2.2.6 步骤3
16、:配置完成配置好的效果如上图所示,在AP地址池的“作用域选项”中可以看到刚才配置的option43信息。1.5.3 Windows2008配置DHCP服务在配置开始之前,操作系统中DHCP服务已安装,并能正常使用。1.5.3.1 创建作用域(IP地址池)1.5.3.1.1 步骤1:打开操作系统DHCP管理界面点击“开始”菜单右侧的“服务器管理器”按钮中打开2008服务器的服务器管理窗口。从最左侧的列表中找到并展开“角色 DHCP服务器 服务器名称 IPv4”。1.5.3.1.2 步骤2:准备新建作用域点击选择“IPv4”,并单击鼠标右键,从弹出菜单中点击“新建作用域”。1.5.3.1.3 步骤
17、3:新建作用域向导按照windows配置向导来设置DHCP作用域(即IP地址池),单击“下一步”。1.5.3.1.4 步骤4:新建作用域向导设置作用域名称和描述,可输入任意值,这里为了便于记忆,名称设置为“Pool AP”,描述设置为AP所在的VLAN,单击“下一步”。1.5.3.1.5 步骤5:新建作用域向导输入将要分配的IP地址段和子网掩码,单击“下一步”。1.5.3.1.6 步骤6:新建作用域向导这里没有需要禁止分配的IP地址,单击“下一步”。1.5.3.1.7 步骤7:新建作用域向导设置IP地址的有效期,系统默认为8天,单击“下一步”。1.5.3.1.8 步骤8:新建作用域向导还有网关
18、等信息未配置,所以这里选择“是”,然后单击“下一步”。1.5.3.1.9 步骤9:新建作用域向导添加一个网关IP地址,单击“下一步”。1.5.3.1.10 步骤10:新建作用域向导添加一个DNS服务器IP地址(之后测试AP按域名解析AC IP地址时要用到它),单击“下一步”。1.5.3.1.11 步骤11:新建作用域向导没有用到WINS,这里可以不用填,直接单击“下一步”。1.5.3.1.12 步骤12:新建作用域向导选择“是”立即激活作用域,单击“下一步”。1.5.3.1.13 步骤13:新建作用域向导至此,已成功创建了给AP分配IP的作用域,单击“完成”。1.5.3.2 添加option4
19、3属性Windows2008服务器收到DHCP Discovery报文请求后,是按照DHCP Realy的IP地址来判断是否可以给Client分配IP地址,没有设置option60条件的地方,因此在Windows2008下跳过option60的设置,直接开始option43的设置。1.5.3.2.1 步骤1:准备配置作用域选项找到并展开刚才创建的作用域100.100.1.0 Pool AP,选择“作用域选项”,并单击鼠标右键,从弹出菜单中点击“配置选项”。1.5.3.2.2 步骤2A:按单个AC IP配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特
20、定信息”,在红色编辑区内按option43格式输入AC的IP地址信息,然后点击“确定”按钮保存配置。1.5.3.2.3 步骤2B:按多个AC IP配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区内按option43格式顺序输入每个AC的IP地址信息,然后点击“确定”按钮保存配置。1.5.3.2.4 步骤2C:按单个AC域名配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区1内按option43格式输入Option Type、Length十六进制(有蓝色下划线的字
21、节),在红色编辑区2内按AC的域名直接输入字符串(有红色下划线的字符),然后点击“确定”按钮保存配置。1.5.3.2.5 步骤2D:按多个AC域名配置option43属性在作用域选项窗口中,从“常规”页面的列表中找到并勾选“043 供应商特定信息”,在红色编辑区1内按AC1的option43格式输入Option Type、Length十六进制(有蓝色下划线的字节),在红色编辑区2内按AC1的域名直接输入字符串(有红色下划线的字符),然后再回到编辑区1内按,AC2的option43格式输入Option Type、Length十六进制(有蓝色下划线的字节),再到红色编辑区2内按AC2的域名直接输入
22、字符串(有红色下划线的字符),最后点击“确定”按钮保存配置。1.5.3.2.6 步骤3:配置完成配置好的效果如上图所示,在AP地址池的“作用域选项”中可以看到刚才配置的option43信息。1.5.4 Linux配置DHCP服务1.5.4.1 下载DHCP Server安装包DHCP Server是一款开源软件,可以访问https:/www.isc.org/software/dhcp/ 来获取相关软件和信息。当前测试使用的安装包版本是dhcp-4.3.0.tar.gz1.5.4.2 Linux下安装DHCP Server1.5.4.2.1 复制安装包到Linux首先,需要将下载的安装包文件dh
23、cp-4.3.0.tar.gz复制到linux系统中。复制的方法很多,这里使用SSH方式登录linux系统,采用ftp方式传输安装包到linux系统中。SSH连接是最常用的远程控制linux系统的方法,但都是通过命令行来控制,没有图形化界面。为了便于阅读,之后使用到的命令都会使用带有颜色的文字,或截图中带颜色的下划线标记出来。通过SSH成功连接到linux系统,使用root登录,并进入到“/root”路径下,如下图所示:使用ftp下载dhcp-4.3.0.tar.gz文件:由于连接ftp服务器时位于“/root”路径下,所以dhcp-4.3.0.tar.gz文件也被下载到“/root”路径下。
24、使用命令“ls”来查看当前路径下的文件,可以看到刚才下载的dhcp-4.3.0.tar.gz文件:1.5.4.2.2 解压安装包使用命令“tar zxvf dhcp-4.3.0.tar.gz”将dhcp-4.3.0.tar.gz安装包解压出来:稍候片刻,等待解压完成。结束后再使用命令“ls”查看当前路径下的文件,会看到当前路径下多出一个名为“dhcp-4.3.0”的目录:1.5.4.2.3 安装DHCP Server使用命令“cd dhcp-4.3.0”进入到目录“dhcp-4.3.0”中,再使用命令“./configure”进行配置:耐心等待配置结束,直到看到“Now you can typ
25、e make to build ISC DHCP”提示信息后,再使用命令“make”来生成安装文件:make执行过程会稍长,耐心等待其结束后,使用命令“make install”安装DHCP服务:待make install过程结束后,DHCP Server就成功安装到了linux系统中。1.5.4.3 生成DHCP配置文件DHCP Server安装后,执行文件路径为“/usr/local/sbin/”,执行文件名为“dhcpd”但dhcpd要正常启动,还需要准备两个配置文件:dhcpd.conf和dhcpd.leases。dhcpd.conf用来定义地址池的相关配置,dhcpd.leases用
26、来记录Client曾获取到的IP信息。这两个文件没有存放路径要求,但DHCP Server默认放在“/usr/local/etc/”路径下,并创建了dhcpd.conf.example示例文件来介绍如何编写一个dhcpd.conf文件。在本文档中,我们也将dhcpd.conf和dhcpd.leases这两个文件存放在“/usr/local/etc/”路径下。1.5.4.3.1 创建dhcpd.leases文件安装DHCP Server时没有为我们创建dhcpd.leases文件,但dhcpd.leases只是一个记录信息文件,因此我们创建一个空文件即可。使用命令“dhcpd.leases”来创
27、建一个空的dhcpd.leases文件:1.5.4.3.2 创建并编辑dhcpd.conf文件安装DHCP Server时没有为我们创建dhcpd.conf文件,我们通过“vi dhcpd.conf”命令直接创建并编辑它:通过vi打开dhcpd.conf文件后,按键盘上的“i”键,进入插入模式,然后可以开始输入文件内容,按照dhcpd能正常启动的基本要求,我们编写了一个下图所示内容的dhcpd.conf文件:对上图内容的解释如下图所示:在上图中还有需要特别说明的地方:(1) 地址池中定义了租约时长(default-lease-time)和最大租约时长(max-lease-time),实际下发生
28、效的是租约时长,最大租约时长只是设定一个租约的上限,当设定的租约时长超出这个上限时,最大租约时长才生效。(2) 定义了一个空的subnet 200.1.1.0,这是因为测试用的linux服务器网卡IP地址是200.1.1.103,必须在该网段定义一个subnet才能启动DHCP服务,由于这个网段不参与IP地址分配,因此subnet内容为空。(3) 这个文件只是可以使DHCP运行,并且可以发送option43属性的最简单配置,但并不是最终dhcpd.conf文件。如何更好的组织option43内容,请参考1.5.4.6章节。编辑好dhcpd.conf文件后,此时内容还没有保存下来,需要先将刚才编
29、辑的内容保存到文件中。在编辑过程中dhcpd.conf文件处于插入模式,需要先按键盘上的Esc键退出插入模式,然后再输入命令“:wq”就可以保存文件。至此,dhcpd.conf和dhcpd.leases文件都已准备就绪。1.5.4.4 启动DHCP服务1.5.4.4.1 启动前的检查DHCP服务器使用的UDP端口67,在启动DHCP服务之前,先检查一下UDP 67端口是否被其他进程占用,可以使用命令“lsof i:67”查看:如上图所示,输入命令后没有看到任何信息,则说明服务器上67端口并未被任何进程占用,DHCP服务可以正常启动。若67端口被其他进程占用,请参考1.5.4.5章节介绍,先杀死
30、占用进程,再启动DHCP服务。1.5.4.4.2 启动DHCP服务输入 “/usr/local/sbin/dhcpd -4 cf /usr/local/etc/dhcpd.conf lf /usr/local/etc/dhcpd.leases” 命令来启动DHCP服务:启动命令行比较长,下面分解介绍一下启动命令和参数含义。/usr/local/sbin/dhcpd 表示DHCP进程所在的路径和文件名-4 表示启动IPv4 DHCP服务cf表示声明conf配置文件,后面跟conf配置文件的详细路径和文件名/usr/local/etc/dhcpd.conf 表示conf配置文件的详细路径和文件名l
31、f 表示声明lease配置文件,后面跟lease配置文件的详细路径和文件名/usr/local/etc/dhcpd.leases 表示lease配置文件的详细路径和文件名1.5.4.4.3 启动后的确认再次输入“lsof i:67”命令确认DHCP服务是否真的启动成功,可以看到:返回信息不为空,说明DHCP服务已成功启动。1.5.4.5 停止DHCP服务只要杀死DHCP进程就可以停止DHCP服务,这里介绍如何杀死DHCP进程。先使用命令“lsof i:67”查看哪个进程占用了UDP 67端口:记住“PID”这一列的值,这是操作系统中进程的ID号。本次测试过程中PID值为16189。再输入命令“kill ”杀死进程:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1