一、DHCP及DHCP的工作原理
DHCP(Dynamic Host Configure Protocol,动态主机配置协议),用于向网络中的计算机分配IP地址及一些TCP/IP配置信息。
DHCP的工作工程大致分为四步:
(1)Dhcpdiscover:客户端向DHCP服务器端发送广播,寻找DHCP服务器
(2)Dhcpoffer:DHCP服务器收到客户端的广播后,DHCP服务向客户端提供IP地址。
(3)Dhcprequest:客户端收到DHCP服务器提供的IP地址后,客户端认为想要这个IP地址,然后就会向DHCP服务器发送请求,请求索要这个IP地址。
(4)Dhcpack:DHCP服务器收到客户端的请求后,DHCP服务器就会把这个IP地址以及相关信息分配给客户端。
如果用图形描述可以绘制出如图1所示:
图1:DHCP的工作工程
二、DHCP的分配方式
DHCP的分配方式分为一下3种:
(1)manual (手动)
手动分配也就是网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期。
(2)automatic (自动)
自动分配也就是客户端从DHCP服务器那自动获得一个IP地址,而且这个IP地址获得后不会过期永久使用,其他人就不能在获取了。
(3)dynamic (动态分配)
动态分配也就是客户端从DHCP服务器那动态的获取IP地址,而且这个IP地址有一定的租约期限,过了这个期限后客户端就要重亲获取IP地址,并且原来的IP地址还以被他人使用。
三、DHCP的应用案例
1、案例1
(1)实施环境:Centos6.4.x86_64
(2)要求:
使用Centos6.4.x86_64作为DHCP服务器,要求动态分配的地址为192.168.2.0,地址池192.168.2.200 192.168.2.240,子网掩码255.255.255.0,网关192.168.2.254,dns指向202.102.224.68和202.102.227.68,绑定的host的IP地址为192.168.2.210,客户端自动获取IP地址
(3)网络拓扑图:
实施的网络拓扑图如图2所示:
图2:网络拓扑图
(4)设备实施:
1)DHCP服务器的搭建
第一步:在Centos上安装dhcp,首先把光盘挂载上,操作如下:
//挂载光盘
[root@server1 ~]# mount /dev/cdrom /media/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
mount: according to mtab, /dev/sr0 is already mounted on /media/cdrom
//进去光盘下的Packages目录下
[root@server1 ~]# cd /media/cdrom/Packages/
//查找过滤dhcp的安装包
[root@server1 Packages]# ll |grep dhcp
-r--r--r--. 2 root root 838344 Nov 25 03:29 dhcp-4.1.1-38.P1.el6.centos.i686.rpm------>这个就是要安装的安装包
-r--r--r--. 3 root root 145240 Nov 25 03:29 dhcp-common-4.1.1-38.P1.el6.centos.i686.rpm
//安装dhcp安装包
[root@server1 Packages]# yum --disablerepo=\* --enablerepo=c6-media install dhcp-4.1.1-38.P1.el6.centos.i686.rpm
第二步:编辑/etc/dhcp/dhcpd.conf文件
//打开/etc/dhcp/dhcpd.conf
[root@server1 ~]# vim /etc/dhcp/dhcpd.conf
打开后如下所示:
在底行模式下输入后按回车键,会看到一个模板,然后就在此基础上编辑dhcp文件,编辑如下:
编辑完上面信息后编辑绑定host主机,首先查看样例查看host绑定怎么编辑,打开样例文件
[root@server1 ~]# vim /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
打开文件后找到host绑定样例然后进行操作,如下所示:
追加后进入到dhcp配置文件中编辑host绑定,编辑结果如下所示:
第三步:编辑完后保存退出,然后开启dhcp服务,关闭防火墙,并查看端口号:
//关闭防火墙
[root@server1 ~]# service iptables stop
//重启dhcp服务
[root@server1 ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]-->可以看到重启成功
//永久开启dhcp服务
[root@server1 ~]# chkconfig dhcpd on
//查看dhcp服务的端口号:
[root@server1 ~]# netstat -tupln |grep 67
udp 0 0 0.0.0.0:67 0.0.0.0:* 3097/dhcpd
此时可以看到Linux下的DHCP服务器已经搭建好了。
2)把host的主机的IP地址设为动态分配查看IP地址的获得,如下所示:
3)把Client的IP地址设为动态获取,然后查看本机自动获取的IP地址和DNS以及域名,如下图所示:
2、案例2
(1)实施环境:Centos6.4.x86_64
(2)要求:
现有一公司,两个部门技术部和市场部,总共500台主机要求这些主机的IP地址都是C类地址并且都是自动获得的,DHCP服务器是Centos,提供两个C类IP地址192.168.2.0和192.168.3.0,网关分别是192.168.2.254和192.168.3.254,dns指向为1.1.1.1和2.2.2.2。
(3)网络拓扑图:
用绘图工具绘制出拓扑图如下图所示:
(4)设备实施:
1)DHCP服务器的搭建
DHCP服务器的搭建过程中,安装都与案例1相同只是在编辑dhcp服务文件时不同,这里DHCP服务的编辑如下所示:
编辑完后保存退出,然后重启dhcp服务。
2)把市场部和技术部的主机设为自动获取IP地址,如下所示:
(5)测试验证:
市场部的主机自动获取IP地址,获得结果如下图所示:
技术部的主机自动获取IP地址,获取的结果如下图所示:
从上面信息可以看到已经实现了要求。
3、案例3
(1)实施环境:H3C的防火墙和Centos6.4.x86_64搭建的DHCP服务器
(2)网络拓扑图:
利用画图工具绘制出网络拓扑图如下图所示:
(3)设备实施:
1)DHCP服务的搭建
DHCP服务器的搭建过程中,安装都与案例1相同只是在编辑dhcp服务文件时不同,这里DHCP服务的编辑如下所示:
2)H3C防火墙的配置
<H3C>system-view
Enter system view, return user view with Ctrl+Z.
[H3C]sys
//修改名称
[H3C]sysname firewall
//进入子接口
[firewall-Ethernet0/0]int eth0.1
[firewall-Ethernet0/0.1]vlan-type dot1q ?
vid VLAN id
//指明VLAN类型以及接口所属VLAN
[firewall-Ethernet0/0.1]vlan-type dot1q vid 10
//配置IP地址
[firewall-Ethernet0/0.1]ip add 192.168.10.1 24
[firewall-Ethernet0/0.1]
%01:09:38: Line protocol ip on the interface Ethernet0/0.1 is UP
//配置DHCP中继
[firewall-Ethernet0/0.1]ip relay-address 192.168.30.100
//进入子接口eth0/0.2
[firewall-Ethernet0/0.1]int eth0/0.2
//指明VLAN类型以及接口所属VLAN
[firewall-Ethernet0/0.2]vlan-type dot1q vid 20
//配置IP地址
[firewall-Ethernet0/0.2]ip add 192.168.20.1 24
[firewall-Ethernet0/0.2]
%01:10:30: Line protocol ip on the interface Ethernet0/0.2 is UP
//配置DHCP中继
[firewall-Ethernet0/0.2]ip relay-address 192.168.30.100
//进入子接口eth0/0.3
[firewall-Ethernet0/0.2]int eth0/0.3
//指明VLAN类型以及接口所属VLAN
[firewall-Ethernet0/0.3]vlan-type dot1q vid 30
//配置IP地址
[firewall-Ethernet0/0.3]ip add 192.168.30.1 24
//把子接口加入可信区域
[firewall]firewall zone trust
[firewall-zone-trust]add interface g
[firewall-zone-trust]add interface Ethernet0/0.1
[firewall-zone-trust]add interface Ethernet0/0.2
[firewall-zone-trust]add interface Ethernet0/0.3
3)交换机的配置
<Quidway>system-view
//创建VLAN
[Quidway]vlan 10
[Quidway-vlan10]
[Quidway-vlan10]vlan 20
[Quidway-vlan20]vlan 30
[Quidway-Ethernet1/0/10]port access vlan 10
[Quidway-Ethernet1/0/10]int eth1/0/20
//把接口设为允许VLAN 20通过
[Quidway-Ethernet1/0/20]port access vlan 20
[Quidway-Ethernet1/0/20]int eth1/0/24
[Quidway-Ethernet1/0/24]port
[Quidway-Ethernet1/0/24]port access vlan
//把接口设为允许VLAN 30通过
[Quidway-Ethernet1/0/24]port access vlan 30
[Quidway-Ethernet1/0/22]port link-type trunk ?
<cr>
//把接口设为trunk
[Quidway-Ethernet1/0/22]port link-type trunk
//在trunk下允许所有VLAN通过
[Quidway-Ethernet1/0/22]port trunk permit vlan all
Please wait........................................... Done.
4)把市场部和技术部的主机全部设为自动获取,如下所示:
(4)测试验证:
市场部的主机自动获取IP地址,获取结果如下图所示:
技术部的主机自动获取IP地址,获取结果如下图所示:
案例3到此也就完成了。
本文出自 “快乐一生” 博客,请务必保留此出处http://tyjhz.blog.51cto.com/8756882/1405219
原文:http://tyjhz.blog.51cto.com/8756882/1405219