DHCP简单阐述及配置实现方法

DHCP是什么……

DHCP是Dynamic Host Configuration Protocol的缩写,它是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。 
其主要功能是: 
用于内部网络或网络服务供应商自动分配IP地址给用户 
用于内部网络管理员作为对所有电脑作中央管理的手段 
直接点就是,这些被分配的IP地址都是DHCP服务器预先保留的一个由多个地址组成的地址集,并且它们一般是一段连续的地址。

DHCP工作原理

动态主机设置协议(DHCP)是一种使网络管理员能够集中管理和自动分配IP网络地址的通信协议。在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从中心结点监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。 
DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这对于教育行业和其它用户频繁改变的环境是很实用的。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP支持为计算机分配静态地址,如需要永久性IP地址的Web服务器。 
DHCP和另一个网络IP管理协议BOOTP类似是DHCP的前身并且向后兼容。目前两种配置管理协议都得到了普遍使用。其中DHCP更为先进,某些操作系统如Windows NT/2000都带有DHCP服务器。DHCP或BOOTP客户端是装在计算机中的一个程序,这样就可以对其进行配置操作。

DHCP的简单工作流程

当DHCP客户端程序发出一个信息,要求一个动态的IP地址时,DHCP服务器会根据目前已经配置的地址,提供一个可供使用的IP地址和子网掩码给客户端,大致流程如… 
(1) 客户端向服务器端发出请求 //dhcp discover 
(2) 服务端要响应客户端的请求 //dhcp offer 
(3) 然后客户端要选择请求使用哪一项 //dhcp request 
(4)最后服务端进行最终确认 //dhcp ack 
注意:DHCP服务不可跨网段,不可跨越物理路由器,且整个过程都是广播的形式

DHCP中继

也叫DHCP Realy ,服务是面向服务端单播,面向客户端广播 
其功能就是帮忙把有DHCP服务的提供给另一个没有DHCP服务器的网络 
当然,用腿想都能想明白,自己家菜地不播种自己家的种子,难道你还给别人播种

DHCP的实现方法

DHCP的实现有两种,DHCP Relay与DHCP Server 
DHCP Relay的功能在某一复杂的网络中使用比较普遍,比方说大型酒店或者运营商,所以这里不过多说明。(如果你想深入了解,建议去学习Cisco的网络工程师课程)

实验准备环境

实验环境:基于Win平台搭建的VMware虚拟机实现 
准备主机两台:一台DHCP Server端,一台DHCP Client端 
配置网段地址以192.168.5.0/24 这个为例 
主机环境:Centos7.2_Server_x86_64

虚拟机的设置

运行两台虚拟机,把网络适配器修改为:自定义,特定虚拟网络。随便选择个网络,我这里用的是VMnet2,选好确定就可以。两台都是一样的 
指定一台当DHCP的Server端,地址是172.16.5.5/16,网关172.16.5.5 
另一台做DHCP客户端,网络适配器也选择自定义并且是VMnet2,这样就可以了接下来我们进行配置

DHCP的配置实现

在Centos7系统中我们直接用yum安装

安装后看它生成了哪些文件,我只贴上配置需要的文件
[root@node2 ~]# yum install dhcp
[root@node2 ~]# rpm -ql dhcp
dhcp-4.2.5-42.el7.centos.x86_64 //已安装
[root@node2 ~]# rpm -ql dhcp
/etc/dhcp/dhcpd.conf //这个是服务的配置文件路径
/usr/lib/systemd/system/dhcpd.service //这个是Unit服务文件路径
/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example //这个是我们要参考的配置文件

拷贝参考文件到DHCP的配置文件目录下,给一个网段分配地址

[root@node2 ~]# cp -a /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷贝参考文件直接覆盖dhcpd.conf文件
编辑dhcpd.conf文件
   vim /etc/dhcp/dhcpd.conf修改以下内容
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
option domain-name "glances.org";
option domain-name-servers 192.168.5.5,223.5.5.5;
option routers 192.168.5.5;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.5.0 netmask 255.255.255.0 {
   range 192.168.5.10 192.168.5.100;  
}
其它的都可以注释掉
   :.,$s/^[[:space:]]*[^#]/#/g
重启network服务
   systemctl restart network.service
重启dhcpd服务
   systemctl restart dhcpd.service
确保DHCP服务端UDP的67端口被监听 ss -tnul
测试:多启动几个客户端测试
服务端使用命令实时检测日志动态;tail -f /var/log/messages

给一个主机分配一个固定地址 Host fantasia项

# option definitions common to all supported networks...
option domain-name "glances.org";
option domain-name-servers 192.168.5.5,223.5.5.5;
option routers 192.168.5.5;
default-lease-time 600;
max-lease-time 7200;
# DHCP server to understand the network topology.
subnet 192.168.5.0 netmask 255.255.255.0 {
   range 192.168.5.10 192.168.5.100;  
}
Host fantasia { //名字可以随便写
hardware ethernet 00:0c:29:6c:3f:65; //给定网卡MAC地址
fixed-address 192.168.5.30; //对应的ip地址,须是地址池之外地址
}
重启dhcpd服务;systemctl restart dhcpd
实时检测地址分配状态;tail -f /var/log/messages
客户端使用dhcp命令行工具测试:dhclient -d (d是把任务调入前台执行)

其它的给一个共享网络配置地址,我们工作中应该使用的不多,所以不介绍。使用到直接再查看帮助就行。

这里特别要注意下

在配置DHCP服务当中,区域配置文件中所定义网关是有优先级的,要注意。 
全局配置;对所有配置生效,且此配置段中网关对全局有效。 
子网配置;仅对子网生效,且此配置段中网关优先于全局配置中的网关。 
主机配置;仅对一个主机生效,且此配置段中网关优先于全局配置中网关,也可以更改option项直接定义到你配置的子网区域中… 
共享网络;对共享网络下的所有网络有效

ARP与RARP

ARP与RARP在OSI参考模型中都是位于网络层。而且它的协议数据单元是封装在以太网帧中传送并且请求是以广播形式发送。 
简单点就是:ARP是IP地址解析为MAC地址,RARP是MAC地址解析为IP地址 
学名:ARP,即地址解析协议。RARP即反向地址转换协议 
先到这其它的再聊,预知详情,请自行Google……

原创文章,作者:51eA,如若转载,请注明出处:http://www.178linux.com/57477

(0)
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相关推荐

  • Linux操作系统发展史

    内容摘要:Linux操作系统的诞生,Linux 的发展,Linux的特性决定其迅猛发展,Linux的应用领域与发展前景 关键词:Linux的发展  前景   1.  Linux操作系统的诞生 在1981年到1991年十年间,微软公司的MS-DOS系统一直主宰操作系统的市场,其价格十分昂贵,另一个操作系统UNIX的经销商为了高利润…

    Linux干货 2016-10-14
  • rsyslog配置详解,结合mysql+loganalyzer展现

        环境:Centos7.2 前言:系统日日夜夜不停地运行着,有这么一个守护进程,兢兢业业地不断记录它运行产生的日志,有不起眼的闲言碎语,值得管理员撇一眼的系统报错,也默默地接收来自进程的严厉警告,甚至在内核崩溃前夕,同样不遗余力记录着当时发生的情形。他是无言的记录者,没有特别的修辞,但他的记录的文字却掷地有声。本…

    系统运维 2016-10-25
  • 用户和组相关的配置文件

    目录 l  用户 l  组账号 l  UID和GID号 l  /etc/passwd分析 l  /etc/shadow分析 l  /etc/group分析 l  /etc/gshadow分析 l  通过用户和用户组配置文件来查询或管理用户 l  总结 1、用户(User…

    Linux干货 2016-10-23
  • Centos6.5基于SSL密码认证部署ELK(Elasticsearch+Logstash+kibana)

    1       简介 本章我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一…

    Linux干货 2015-06-18
  • shell脚本编程

    一、编程基础: shell脚本是包含一些命令或声明,并符合一定格式的文本文件 shell脚本的用途有: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件 1)     第一步:使用文本编辑器来创建文本文件 script.sh 并编写内容 格式要求:首行shebang &nb…

    Linux干货 2016-08-15
  • linux基础之lvm操作流程

    linux基础之lvm基本操作流程    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装L…

    2017-03-19