DHCP在企业网中的应用
一.DHCP简介:
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配ip地址,给用户或者内部网络管理员作为对所有计算机作*管理的手段。DHCP服务器采用UDP协议的67端口,客户端采用UDP的68端口。
二.dhcp地址分配方式(现在主要使用Manual Allocation和Dynamic Allocation)
1:Manual Allocation:即人工分配,获得的IP也叫静态地址,网络管理员为某些少数特定的在网计算机或者网络设备绑定固定ip地址,且地址不会过期。这 种分配方式优点是动态分配,缺点是地址利用率低。
2:Automatic Allocation:即自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP地址之后,就永远使用这个地址。优点 是动态分配,缺点是地址利用率低。
3:Dynamic Allocation:即动态分配,当 DHCP客户端 第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它主机使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。
三.dhcp client获得地址过程:
1:DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。
2:DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的ip地址的DHCPOFFER包。
3:客户端从中随机挑选,然后以广播形式向DHCP服务器回应DHCPREQUEST包,宣告使用DHCP服务器提供的地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。
4:当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。
四:dhcp client 地址更新过程:
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。
1:租约没有到期,如果客户端重启,则会向DHCP服务器发送DHCPREQUEST,请求使用原来的ip地址。
2:在IP地址租约期限达到50%时,DHCP客户端会自动向DHCP服务器发DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,确认租约更新。
3:如果在步骤2中DHCP服务器无响应,则在租约期限达到87.5%时,DHCP客户端会向DHCP服务器发送DHCPREQUEST包,再次请求租约的更新,如果此IP地址有效,则DHCP服务器回应DHCPACK,确认租约更新。
4:如果在步骤3中DHCP服务器无响应,客户端会发送广播包DHCPDISCOVER,重新向网络中的DHCP服务器发出ip地址请求;或者等到租约达到100%时,终止租约。
五.dhcp中继
在大型的网络中,可能会存在多个子网。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请IP地址呢?这就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务。
在CentOS下实现DHCP服务。
案例一:DHCP单作用域(附加地址绑定)
安装DHCP服务器。
编辑DHCP服务器配置文件。将以下内容添加即可。
插入内容解释:
9 option domain-name-servers 222.88.88.88, 222.85.85.85; //添加全局DNS服务器
10 default-lease-time 600;//默认租期600秒
11 max-lease-time 7200;//最长租期7200秒
12 log-facility local7;//指定DHCP服务器发送的日志信息级别
13 subnet 192.168.1.0 netmask 255.255.255.0 {
14 range 192.168.1.2 192.168.1.109;
15 range 192.168.1.111 192.168.1.254;
16 option routers 192.168.1.1;
17 option domain-name "tyedus.com";
18 } //添加作用域,指定地址池,网关,子网掩码,域名,并排除指定的ftp服务器IP地址。
19
20 host ftp1 {
21 hardware ethernet 00:0c:29:05:ec:03;
22 fixed-address 192.168.1.110;
23 option host-name "nuo";
24 } // 绑定ftp服务器,MAC地址与IP地址绑定。ftp1仅是一个名称,不
做解析,如果有多台ftp服务器需要绑定地址,名称不能一样。
检查语句,如果没有错误,重启DHCP服务器。
查看DHCP服务器端口号-67。
在虚拟机下测试,实验主机(包括DHCP服务器主机)网络连接全部设置在同一区域,比如VMnet3。
日志信息返回部分结果。
3个命令的使用:
ipconfig/all (windows下,查看ip详细信息)
ipconfig/release (windows下释放原IP地址)
ipconfig/renew (windows下重新获得IP地址)
主机1获取地址信息(绑定ftp服务器)
主机2获取地址结果
案例二:DHCP超级作用域(对于一个网络中大量主机使用)
编辑DHCP服务器配置文件
9 option domain-name-servers 222.88.88.88, 222.85.85.85;
10 default-lease-time 600;
11 max-lease-time 7200;
12 log-facility local7;
13 shared-network ZZU {
14 subnet 192.168.1.0 netmask 255.255.255.0 {
15 range 192.168.1.2 192.168.1.2; //只有一个地址,便于实验测试。
16 option routers 192.168.1.1;
17 option domain-name "tyedus.com";
18 } //指定超级作用域的名称ZZU,指定子作用域192.168.1.0网段。
19 subnet 192.168.2.0 netmask 255.255.255.0 {
20 range 192.168.2.2 192.168.2.2;
21 option routers 192.168.2.1;
22 option domain-name "tyedus.com";
23 } //指定子作用域192.168.2.0网段。网关192.168.2.1可以在具体路由器或交换机端口设置多个IP即可。
24 }
测试语法是否正确,如果正确,重启DHCP服务器。
主机1获取地址信息
主机2获取地址信息
案例三:DHCP中继
所需设备:
H3C F100-C 防火墙1台
华为quidway S3526 交换机1台
CentOS(DHCP Server)配置:
安装DHCP服务器
编辑DHCP服务器配置文件
测试语法是否正确,如果正确,重启DHCP服务器。
SW1配置:
[Quidway]sysname SW1
[SW1]vlan 10
[SW1-vlan10]port e0/10
[SW1-vlan10]vlan 20
[SW1-vlan20]port e0/20
[SW1-vlan20]vlan 30
[SW1-vlan30]port e0/24
[SW1-vlan30]quit
[SW1]int e0/22
[SW1-Ethernet0/22]port link-type trunk
[SW1-Ethernet0/22]port trunk permit vlan all
[SW1-Ethernet0/22]dis vlan
Now, the following VLAN exist(s):
1(default), 10, 20, 30
H3C配置:
<H3C>system-view
System View: return to User View with Ctrl+Z.
[H3C]int eth0/0.1
[H3C-Ethernet0/0.1]vlan-type dot1q vid 10
[H3C-Ethernet0/0.1]ip add 192.168.10.1 24
[H3C-Ethernet0/0.1]int eth0/0.2
[H3C-Ethernet0/0.2]vlan-type dot1q vid 20
[H3C-Ethernet0/0.2]ip add 192.168.20.1 24
[H3C-Ethernet0/0.2]int eth0/0.3
[H3C-Ethernet0/0.3]vlan-type dot1q vid 30
[H3C-Ethernet0/0.3]ip add 192.168.30.1 24
[H3C-Ethernet0/0.3]quit
[H3C]firewall zone trust
[H3C-zone-trust]add int eth0/0.1
[H3C-zone-trust]add int eth0/0.2
[H3C-zone-trust]add int eth0/0.3
[H3C-zone-trust]quit
[H3C]undo insulate
[H3C]ping 192.168.30.100
PING 192.168.30.100: 56 data bytes, press CTRL_C to break
Reply from 192.168.30.100: bytes=56 Sequence=1 ttl=64 time=13 ms
Reply from 192.168.30.100: bytes=56 Sequence=2 ttl=64 time=6 ms
Reply from 192.168.30.100: bytes=56 Sequence=3 ttl=64 time=5 ms
Reply from 192.168.30.100: bytes=56 Sequence=4 ttl=64 time=5 ms
Reply from 192.168.30.100: bytes=56 Sequence=5 ttl=64 time=5 ms
--- 192.168.30.100 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 5/6/13 ms
[H3C]dhcp enable
DHCP task has already been started!
[H3C]dhcp select relay interface eth0/0.1 to eth0/0.2
[H3C]int eth0/0.1
[H3C-Ethernet0/0.1]ip relay add 192.168.30.100
[H3C-Ethernet0/0.1]int eth0/0.2
[H3C-Ethernet0/0.2]ip relay add 192.168.30.100
技术部主机1获取地址信息
市场部主机1获取地址信息
转载于:https://blog.51cto.com/hatech/1347763