DHCP--简介、安装、中继实现

一、DHCP简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:
1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
2. DHCP应当可以给用户分配永久固定的IP地址。
3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
4. DHCP服务器应当向现有的BOOTP客户端提供服务。
DHCP有三种机制分配IP地址:
1) 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
2) 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
3) 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。
DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,这就要求设备具有BOOTP中继代理的功能,并能够与BOOTP客户端和DHCP服务器实现交互。BOOTP中继代理的功能,使得没有必要在每个物理网络都部署一个DHCP服务器。RFC 951和RFC 1542对BOOTP协议进行了详细描述。

二、环境介绍

A   Server DHCP服务端
B   Client DHCP客户端
C   Relay 中继服务器

 

三、DHCP安装

1.server端执行以下操作:

service iptables stop                   # 临时关闭防火墙
setenforce 0                        # 临时关闭 selinux
chkconfig --level 2345 NetworkManager off     # 停止网络管理服务的开机自启动设置
service NetworkManager stop              # 关闭网络管理服务

2.编辑网卡设置
vim  /etc/sysconfig/network-scripts/ifcfg-eth0\

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no        #表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理
BOOTPROTO=static        #服务器自身使用静态IP地址
IPADDR=10.1.1.88        #配置地址为
GATEWAY=10.1.1.2         #网关配置

3.开始安装DHCP

yum -y install dhcp*

4.编辑DHCP配置文件

vim /etc/dhcp/dhcpd.conf

allow bootp;
default-lease-time 172800;                   #默认租约时间(单位为秒,48小时为48*3600秒,即172800秒)
max-lease-time 172800;                     #最大租约时间
log-facility local7;                      #syslog设置,可以到/var/log/syslog文件查看DHCP分配的日志
subnet 10.1.1.0 netmask 255.255.255.0 {           #子网和子网掩码
option routers 10.1.1.2;                     #客户端的默认网关
option subnet-mask 255.255.255.0;               #客户端的子网掩码
option domain-name "test.com";                #客户端的搜索域
option domain-name-servers 10.1.1.2;             #客户端的域名服务器
range dynamic-bootp 10.1.1.150 10.1.1.200;          #可供分配的IP范围
}

5.配置文件修改完成后重启DHCP服务

service dhcpd restart

6.修改Client端网卡文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no      #不通过网络管理器进行管理
BOOTPROTO=dhcp        #通过dhcp服务来获得IP

7.重启Client端网卡

service network restart

8.查看客户端网卡

ifconfig       #查看结果若为10.1.1.150-200之间,测试即为成功。

四、DHCP中继

用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。

1.Server端修改DHCP服务配置文件,增加子网设置并重启服务:

vim /etc/dhcp/dhcpd.conf

subnet 10.1.2.0 netmask 255.255.255.0 {
option routers 10.1.2.2;                          #客户端的默认网关
option subnet-mask 255.255.255.0; option domain-name "test.com";  #客户端的搜索域
option domain-name-servers 10.1.1.2;                   #客户端的域名服务器
range dynamic-bootp 10.1.2.150 10.1.2.200;                #可供分配的IP范围
}

service dhcpd restart

2.在中继服务器中安装DHCP

yum install dhcp*   -y 
安装dhcp软件包,安装完之后,就已经包含了dhcp中继相关的程序和脚本等文件。

3.配置dhcp中继服务器,只需修改配置文件/etc/sysconfig/dhcrelay服务即可,作为路由器使用时,还需要开启服务器的路由转发功能。

vim  /etc/sysconfig/dhcrelay

INTERFACES="eth0 eth1"        #指定要监听网卡,不定义就是监听所有
DHCPSERVERS="10.1.1.88"        #指定DHCP服务器的地址

4.修改网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.1.2
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
NM_CONTROLLED=no#不通过网络管理器进行管理

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.1.2.1
NETMASK=255.255.255.0
GATEWAY=10.1.2.1
NM_CONTROLLED=no#不通过网络管理器进行管理

5.开启路由转发功能、重启网卡、重启DHCP中继服务

echo 1 > /proc/sys/net/ipv4/ip_forward
service network restart
service  dhcrelay restart 

6.可新部署一台客户端重复上面客户端操作验证是否可以获取IP

posted @ 2019-08-10 16:16  蜡笔没小新  阅读(484)  评论(0编辑  收藏  举报