dhcp服务器配置及原理实验(dhcp服务器配置总结)

【干货】速度收藏!DHCP服务器简介及配置图文教程

【 干货】速度收藏! DHCP服务器 简介及 配置 图文 教程

想必熟悉局域网的小伙伴,对于DHCP服务器一定不陌生,在一个计算机比较多的网络中,如果网络管理员要亲自为某个部门,甚至整个企业的上百台机器逐一手工分配IP地址,那么这个效率是非常低的,其实可以通过DHCP服务器来实现这个工作。本篇文章就为大家介绍了DHCP服务器的概念、原理以及配置,快来看看吧!

一、什么是 DHCP服务器 ? DHCP服务器 简介

1、简介

DHCP,(全称Dynamic Host Configuration Protocol),即动态主机配置协议。DHCP主要在局域网使用,对IP地址进行集中管理和分配,使网络环境中的主机动态获得IP地址、网关地址、DNS服务器地址等信息,并提升IP地址使用率。

2、原理

DHCP是一种基于客户/服务器模式的服务协议,工作原理其实很简单,是在安装有DHCP服务器的网络中,客户端启动时自动与DHCP服务器通信,要求服务器提供自动分配IP地址的服务,而安装了DHCP服务器软件的服务器响应这个要求,并向客户端发送出合法的IP地址。所谓DHCP服务器,也就是提供DHCP服务的服务器,它是通过IP地址租约的方式为DHCP客户端提供服务的。

DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP 67(服务器端)和UDP 68(客户端)进行通讯,UDP68端口用于客户端请求,UDP67用于服务器响应,并且大部分DHCP协议通讯使用广播进行。

(1) DHCP DISCOVER

当DHCP客户端处于以下三种情况之一时,触发DHCP DISCOVER广播消息:

1)当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动、启用网络适配器或者连接到网络时);

2)DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;

3)DHCP客户端释放已有租约并请求新的租约。

此时,DHCP客户端发起DHCP DISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址255.255.255.255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址,以便DHCP服务器进行区分。

如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCP DISCOVER广播消息。除了第一个DHCP DISCOVER广播消息外,DHCP客户端还会发出三个DHCP DISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,169.254.0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为255.255.0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端进行通讯。

(2) DHCP OFFER

所有接收到DHCP客户端发送的DHCP DISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCP OFFER广播消息来应答发起DHCP DISCOVER广播的DHCP客户端,此消息包含以下内容:

客户端MAC地址;

DHCP服务器提供的客户端IP地址;

DHCP服务器的IP地址;

DHCP服务器提供的客户端子网掩码;

其他作用域选项,例如DNS服务器、网关、WINS服务器等;

租约期限等。

因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCP OFFER消息,则DHCP客户端接受它接收到的第一个DHCP OFFER消息中的IP地址。

(3) DHCP REQUEST

当DHCP客户端接受DHCP服务器的租约时,它将发起DHCP REQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。

在此DHCP REQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。

此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。

( 4 ) DHCP ACK

提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCP REQUEST广播消息后,会发送DHCP ACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。

如果DHCP客户端的操作系统为Windows版本,当DHCP客户端接收到DHCP ACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCP DECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。

如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。

二、 DHCP SERVER (RELAY)配置方式

1、相关配置文件

端口号:ipv4  udp 67(源端口:接收客户端请求的)、 udp 68(目的端口:向客户端发送请求成功或失败的回应)、ipv6  udp 546、udp 547

服务名:dhcpd、dhcrelay

主配置文件:/etc/dhcp/dhcpd.conf

模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample

中继配置文件:/etc/sysconfig/dhcrelay

执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay

服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay

执行参数配置:/etc/sysconfig/dhcpd

查看租约文件:/var/lib/dhcpd/dhcpd.lease

很多网络服务的排错日志:/var/log/messages

2、配置步骤

(1)操作前的准备

防火墙临时关闭:iptables –F

防火墙永久关闭:/etc/init.d/iptables stop

查看防火墙状态:iptables -L

selinux临时关闭:setenforce 0

selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config

(2)客户端配置

1、关闭防火墙和selinux

2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能

3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡,到这里客户端就设置完成。

(3)服务端配置

1、进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡;

2、配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件;

3、进入dhcp配置文件/etc/dhcp/dhcpd.conf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件;

4、将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明;

5、修改完成后保存退出,用service dhcpd configtest测试文件是否有错误;

6、然后用service dhcpd start 重启dhcp服务;

7、重启客户机网卡,看能不能获取到服务机地址池的IP地址;

8、为某台主机设置IP地址保留,把要保留IP的MAC地址和要保留的IP地址写入dhcpd.conf的配置文件即可,然后设置客户机为自动获取IP;

9、用ifdown eth0停止服务机网卡,再用ifup eth0开启网卡,然后用service dhcpd start 重启dhcp服务,看客户机能不能获取到指定IP。

3、中继代理配置

interface f0/0

ip helper-address 1.1.1.1

ip dhcp relay information trust

update arp开启定期ARP询问

interfaca g0/0/2

arp authorized禁止动态更新ARP

arp timeout 60 60s无应答则删除ARP条目

ip dhcp snooping vlan 20 vlan20开启snooping

interface f0/0定义信任端口

ip dhcp snooping trust交换机连接DHCP服务器端口设为trusted

dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0#配置IP与MAC静态绑定表

interface vlan 1

ip add dhcp-alloc #立即发送DHCP-discover报文,1-10s内随机发送,如果没有收到DHCP服务器的回应报文继续发送,直到回应为止

dhcp selsect global all #全局分配地址

dhcp server group dhcp-relay

dhcp-server 10.1.1.1组里有多个dhcp服务器

interface vlan 2

dhcp select relay

dhcp relay server-select dhcp-relay

display dhcp server ip-in-use all #查看地址池可用地址信息

reset dhcp server ip-in-use all #重置正在使用的IP地址

address-check enable dhcp #中继的安全特性

ip dhcp relay information trust-all合法的DHCP服务路由,为了形成一个绑定表

no ip dhcp conflict logging关闭DHCP冲突日志

display ip interface br

DHCP和DHCP中继配置和原理

现状:目前分公司dhcp服务器不统一,有在windows server、有在3层交换机,有在防火墙。

目的:统一改为dhcp服务器,在用户网关进行中继,在无线控制器(wlc)进行中继。

下面是两种dhcp获取方式,我们要改成第二种,也就是通过网关中继到windows server。

第一种:

客户端-----发送----广播DHCP发现数据包(在同一个局域网内部(vlan)的DHCP服务器进行相应)

DHCP服务器(三层交换机)---响应

客户端----发送----广播dhcp请求

DHCP服务器----响应发送地址 

上面是dhcp在三层交换机的dhcp获取过程,在同一个vlan下,直接由网关设备进行回复,分配地址。

第二种:

客户端-----发送----广播DHCP发现数据包(在同一个局域网内部(vlan)的DHCP服务器进行相应)

三层交换机 (网关 or wlc)---发现配置了 中继 ----请求dhcp server( windows server )----返回---- 三层交换机(网关 or wlc)

客户端----发送----广播dhcp请求

三层交换机 (网关 or wlc )----发现配置了 中继 ----请求dhcp server( windows server )---返回--- 三层交换机(网关 or wlc)

第二种多了一个中继的概念,就是从客户端---dhcp服务器,变为客户端----中继----dhcp服务器。

实际使用示例:

无线客户端(客户端)----无线控制器(中继)----windows server(dhcp server)

具体配置:无线控制器配置dhcp 中继,各地按照实际情况进行

有线客户端(客户端)---网关(三层交换机or防火墙)----windows server(dhcp server)

具体配置:在三层交换机的interface下,配置helper-address,根据实际情况配置

如何配置dhcp服务器

1、首先打开电脑网络的本地连接状态窗口页面,找到“属性”按钮。

2、接着继续点击“属性”,就会有本地连接的属性界面,在界面上选中“INTERNET 协议版本4( TCP/IPV4) ”。

3、选中协议后,再继续点击“属性”,这时就会弹出INTERNET 协议版本4( TCP/IPV4)的属性窗口页面,在这里需要将电脑的IP地址设置为自动获取。

4、然后打开电脑的浏览器,在浏览器的地址栏中键入“192.168.0.1”或者“192.168.1.1”,这个时候进入到路由器页面,在这里输入密码和账号。账号为默认用户名,密码默认为“admin”。

5、在登录完成后,需要继续在页面的菜单栏中找到“路由器设置”。

6、找到页面以后,点击进入到路由器设置的设置页面,在页面菜单中找到“DHCP服务器”。

7、点击“DHCP服务器”,进入到DHCP服务器设置的页面,在页面上可以看到开启和关闭DHCP服务器的功能。只需要选择开启,这时就将dhcp服务器配置完成。

思科DHCP服务器配置实例解析

思科DHCP服务器配置实例解析

首先我们应该汇总下我们所需要达到的目标:为服务器提供固定的地址,即做MAC与IP地址的绑定为客户机提供并非固定的地址,通常这会涉及到子网因为我们的实验环境限制,我们先设定第二条,检查下客户机能否得到IP地址,再设置第一条,看看是否按照我们的设定的得到IP地址。那么DHCP服务器配置文件如下:

ddns-update-style interim;

ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway

option routers 192.168.1.254;

option subnet-mask 255.255.255.0;

option nis-domain \" sky.com\";

option domain-name \" sky.com\";

option domain-name-servers 192.168.1.2;

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don\'t change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;

range 192.168.1.100 192.168.1.250;

default-lease-time 21600;

max-lease-time 43200;

}

保存并退出,然后重启dhcpd服务

[root@a ~]# service dhcpd restart

Shutting down dhcpd: [OK]

Starting dhcpd: [OK]

之后我们开启客户端,将客户机网卡设置为DHCP模式,然后我们可以看到客户机的IP地址为192.168.1.250,因为dhcp的.IP地址倒着分发。

将客户机进行ip与MAC的绑定,首先要获知客户机的MAC地址,Windows系统进入CMD,使用getmac命令,linux使用ifconfig可看到。之后我们修改配置文件,完整配置文件如下:

ddns-update-style interim;

ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway

option routers 192.168.1.254;

option subnet-mask 255.255.255.0;

option nis-domain \" sky.com\";

option domain-name \" sky.com\";

option domain-name-servers 192.168.1.2;

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.

telnet和ssh登陆提示

1;

# --- Selects point-to-point node (default is hybrid). Don\'t change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;

range 192.168.1.100 192.168.1.250;

default-lease-time 21600;

max-lease-time 43200;

host server2{

hardware ethernet 00:0c:29:47:04:17;

fixed-address 192.168.1.2;

}

}

之后我们重启DHCP服务

[root@a ~]# service dhcpd restart

Shutting down dhcpd: [OK]

Starting dhcpd: [OK]

重启启用客户机的网卡,service network restart ,之后查看IP信息,这时我们可以看到地址已经变为192.168.1.2

DHCP服务器配置故障排除

1 如果遇见service dhcpd restart/start 无法启动的时候,可以试下:[root@a ~]# /usr/sbin/dhcpd start

如果你的配置文件有错误的话,会出现提示,主要关注的部分为line 之后的

2 修改/etc/sysconfig/dhcpd文件,改变dhcp服务所监听的网口(在多网卡下),在DHCPDARGS=后面添加eth0

3 另外可以关注下/var/lib/dhcpd/dhcpd.leases文件,这里面主要保存的是地址的分发

DHCP服务器配置之防火墙的配置

DHCP服务器主要工作在端口67上监听,然后在端口68上回应客户,所以我们需要配置防火墙,在服务器上面运行:Syetem-config-securitylevel,在other ports里面添加TCP 67 68端口即可,然后启动防火墙,运行service iptables start,然后测试,删除dhcpd.conf配置文件中绑定的部分,之后重启客户机的网卡,检测下能够正确获得到IP地址。

DHCP服务器配置总结

DHCP服务器配置实验至此就结束了,另外分享个技巧,在测试的时候,将2台VM虚拟的linux网卡模式调成Vmnet2模式,那样不会受到干扰。

;

未经允许不得转载:便宜VPS网 » dhcp服务器配置及原理实验(dhcp服务器配置总结)