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
原创文章,转载请注明:
转载自蜡笔没小新博客
————————————
https://www.cnblogs.com/Huang-Niu/