DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
-->是由Internet工作任务小组设计开发的,专用于对TCP/IP网络中的计算机自定分配TCP/IP参数的协议。

使用DHCP的好处:
1.减少管理员的工作量
2.避免IP冲突->当网络更改IP地址段时,不需要再重新配置每个用户的IP地址。
3.提高了IP地址的利用率
4.放便客户端的配置

可分配的地址信息主要包括
1.网卡的IP地址
2.子网掩码
3.对应的网络地址
4.广播地址
5.默认网关地址
6.DNS服务器地址等

DHCP的分配方式
1.自动分配: 分配到一个IP地址后永久使用
2.手动分配:由DHCP服务器管理员专门指定IP地址
3.动态分配:使用完后释放该IP,供其它客户机使用

DHCP租约过程:
客户机从DHCP服务器获取IP地址的过程称为DHCP的租约过程
1.客户机请求IP(客户机发DHCP Discover 广播包)
2.服务器相应(服务器发DHCP Offer 广播包)
3.客户机选择IP(客户机发DHCP Request 广播包)
4.服务器确定租约(服务器发DHCP ACK 广播包)

一、客户机请求IP(客户机发DHCP Discover广播包)
·当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
·此时DHCP客户机一广播的方式(因为DHCP服务器的IP地址对客户机来说是未知的)发送DHCP Discover发现信息来寻找DHCP服务器。
·广播信息中包含DHCP客户机的MAC地址和计算机名,以便DHCP服务器确定是哪个客户机发送的请求。

Client->Server (DHCP Discover)
源IP地址:0.0.0.0
目标地址:255.255.255.255

二、服务器响应(服务器发DHCP Offer广播包)
·当DHCP服务器接收到来自客户机请求IP地址的信息时,它们就在自己的IP地址池中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器就将此IP地址作上标记,加入到DHCP Offer的消息中,然后DHCP服务器就广播一则包含下列信息的DHCP Offer消息
·DHCP客户机的MAC地址,DHCP服务器提供的合法IP地址,子网掩码,默认网关,租约的期限,DHCP服务器的IP地址。

Client<-Server (DHCP Offer)
源IP地址:192.168.10.10
目标地址:255.255.255.255
提供地址:192.168.10.101

三、客户机选择IP(客户机发DHCP Request广播包)
·DHCP客户机从接收的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机。
·当客户机从第一个DHCP服务器接收DHCP Offer信息并提取了IP地址后,客户机将DHCP Request消息广播到所有的DHCP服务器,表明它接收提供的内容。
·DHCP Request消息包括为客户机提供IP配置的服务器的服务标识符(服务器IP地址),DHCP服务器查看服务器标识符字段,以确定提供的IP地址是否被接受,如果DHCP Offer被拒绝,则DHCP服务器取消并保留IP地址以提供给下一个IP租约的请求。

Client->Server (DHCP Request)
选择DHCP服务器(192.168.10.10)
源IP地址:0.0.0.0
目标地址:255.255.255.255
租约期限: 八天

四、服务器确定租约(服务器发DHCP ACK广播包)
·DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。
·当客户机收到DHCP ACK消息时,它就配置了IP地址,完成TCP/IP的初始化。

Client<-Server (DHCP ACK)
源IP地址:192.168.10.10
目标地址:255.255.255.255

重新登陆
·DHCP客户机每次重新登陆网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息。
·当DHCP服务器接收到这一信息后,它会尝试让DHCPk客户机继续使用原来的IP地址,并回答一个DHCP ACK确认信息。

Client->Server (DHCP Request请求包)
Client<-Server (DHCP ACK确认信息)

·如果次IP地址已无法在分配给原来的DHCP客户机使用(如IP地址已经分配给其他的DHCP客户机使用),DHCP服务器给DHCP客户机回答一个DHCP Nack否认信息。
·当原来的DHCP客户机收到此DHCP Nack否认信息后,它就必须重新发送DHCP Discover发现信息来请求新的IP地址。

Client->Server (DHCP Request请求包)
Client<-Server (DHCP Nack否认信息)
Client->Server (DHCP Discover重发)

更新租约
·当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。
·客户机直接向提供租约的服务器发送DHCP Request要求更新现有的地址租约。若此时
DHCP服务器无法正常回复DHCP客户机的请求,客户机的此IP地址可以继续使用到最大约时间的87.5%。

===========================================================================

DHCP中继的配置
·Cisco:
ip helper-address DHCPsrv-IPAddress(服务器的IP地址)

在三层交换机上配置DHCP中继转发,是在不包含DHCP服务器的VLAN上配置实现的
SW-3l(config)#interface vlan 2
SW-3l(config-if)#ip address 192.168.2.1 .255.255.255.0
SW-3l(config-if)#ip helper-address 192.168.100.100
SW-3l(config-if)#no shutdown

·Linux:

服务器的网关地址是中继的IP,
中继的网关地址是服务器的IP.

安装DHCP服务器
·DHCP服务器软件
光盘中的dhcp-4.11-38.P1.el6.centos.x86_64.rpm
dhcp软件包的主要文件
主配置文件:/etc/dhcp/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
DHCP/中继配置:/etc/sysconfig/dhcrelay

主配置文件
·保证网络连通性:
1.关闭防火墙:临时关闭防火墙 /etc/init.d/iptables stop
永久关闭防火墙 chkconfig iptables off
2.关闭SELINUX安全机制:
临时关闭: setenforce 0
永久关闭:vi /etc/selinux/conf 更改
第七行将enforcing改为disabled
重启生效
3./etc/sysctl.conf IP地址转发
-->net.ipv4.ip_forward = 1
4.测试网络是否畅通 ping、nslookup nmap、netstat traceroute.
·安装软件包 rpm、yum(本地源,网络源)、源代码编译安装。
1.根据需求对服务相关文档进行备份配置
2.通过相应检测工具,对配置好的文档在服务启动前进行检查以便在启动时保证配置无误。
·启动相关服务
·压力测试
·编写针对本服务的预案应急解决方案。

查看租约文件
可以通过查看租约文件dhcpd.leases来了解服务的IP地址分配情况。该租约文件中记录了分配出去的每个IP地址信息(租约记录),包括IP地址,客户端的MAC地址,租用的起始时间和结束时间等。
less /var/lib/dhcpd/dhcpd.leases

·全局设置,作用于整个DHCP服务器
ddns-update-style none; //设置dhcp互动更新模式
ignore client-updates; //忽略客户端更新
option routers 192.168.12.1; //设置客户端默认网关
option subnet-mask 255.255.255.0; //设置客户端子网掩码
option nis-domain "ixdba.net "; //设置NIS域
option domain-name " ixdba.net "; //设置DNS域
option domain-name-servers 192.168.12.1;//设置DNS服务器地址
option time-offset -18000; # Eastern Standard Time //设置时间偏差

range dynamic-bootp 192.168.12.128 192.168.12.254; //设置地址池
default-lease-time 21600; //设置默认租期,单位为秒
max-lease-time 43200; //设置客户端最长租期,单位为秒

·Subnet网段声明,作用于整个子网段
range 参数:设置用于分配IP地址池
option subnet-mask 参数:设置客户机的子网掩码
option routers 参数:设置客户机的默认网关地址
·host主机声明,作用于单个主机
hardware ethernet 参数:指定对应主机的MAC地址
fixed-address 参数:指定为该主机保留的IP地址

host ns { //以下设定分配静态IP地址,不多做解释。
next-server marvin.RedHat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}

ddns-update-style interim;
...
subnet 192.168.0.0 netmask 255.255.255.0{ (分配一个网段)
option routers 192.168.0.1;
...
default-lease-time 21600;
...
host ns{
...
fix-address 207.175.42.254;
}
}

subnet 192.168.4.0 netmask 255.255.255.0{
range 192.168.4.128 192.168.4.254;
option subnet-mask 255.255.255.0;
option routers 192.168.4.1;
}

host prtsvr {
hardware ethernet 00:c0:c3:22:46:81;
fixed-address 192.168.4.100;
}

启动DHCP服务
/etc/init.d/dhcpd start
netstat -anpu | grep ":67" 查看DHCP端口开启状态
如果dhcpd服务启动失败,可以检查日志文件/var/log/message末尾的错误提示信息,并根据提示进行排错。

其他说明:
·range 192.168.12.2 192.168.12.125; 可以限定分配的IP地址范围。
·如果想给某IP分配固定的IP地址,修改host 那一项,把网卡的Mac地址和IP进行绑定,就是最后那一段,改为相应的就可以了。
·在subnet里定义的网段要与你的网卡IP所处网段一致,也就是说比如你的网卡是192.168.0.x,而dhcp服务却为10.1.1.0的subnet提供服务是不行的,是启动不了的。

使用DHCP客户端
两种方式:
1.修改网卡的配置文件(ifcfg-eth0)
BOOTPROTO=dhcp
ifdown eth0 ; ifup eth0
2.dhclient命令
dhclient -r eth0 释放已获取IP
dhclient -d eth0 重新获取IP

需要通过dhclient命令释放获取的IP租约时,可以结合"-r"选项。例如"dhclient -r
eth0"将会释放之前为网卡eth0获取的IP租约.

dmesg | grep -in eth 查看全部硬件中关于eth的参数

DHCP服务配置的更多相关文章

  1. (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理

    继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...

  2. Cisco基础(一):Vlan的划分、配置trunk中继链路、以太通道配置、DHCP服务配置

    一.Vlan的划分 目标: VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在 一个交换机或者跨交换机实现 ...

  3. (三)跟我一起玩Linux网络服务:DHCP服务配置之主服务器配置

    我们今天来做DHCP服务器的配置,我们的前提示要实现用一台虚拟机做DHCP服务器 1.首先,我们要有DHCP软件,我们用到下面两个软件(可以使用其他方法从网上直接安装,具体方法网络搜索) dhcp-3 ...

  4. 项目(四)DHCP服务配置

    DHCP是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议. 使用DHCP可以减少管理员的工作量,避免IP地址冲突,当网络修改IP地址网段时 ...

  5. Linux:DHCP服务配置

    DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址.子网掩码.网关地址以及DNS服务器地址等信息.    说明:先安装DHCP服务     yum install dhcp -y       ...

  6. linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)

    DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf ...

  7. 编写脚本实现DHCP服务与DHCP中继自动化执行

    编写脚本实现DHCP服务与DHCP中继自动化执行 本脚本是在liunx搭建DHCP服务器以及DHCP中继服务器实验环境下实现的https://www.cnblogs.com/yuzly/p/10539 ...

  8. 路由器DHCP服务及DHCP中继

    实验要求:掌握路由配置DHCP服务配置 拓扑如下: R1enable 进入特权模式config terminal   进入全局模式interface s0/0/0 进入端口ip address 192 ...

  9. 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)

    前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...

随机推荐

  1. 『计算机视觉』经典RCNN_其二:Faster-RCNN

    项目源码 一.Faster-RCNN简介 『cs231n』Faster_RCNN 『计算机视觉』Faster-RCNN学习_其一:目标检测及RCNN谱系 一篇讲的非常明白的文章:一文读懂Faster ...

  2. 1.11 UML 类图(多看多用就熟悉了)(节选自:《大话设计模式》)

    类:用矩形框表示(类图分三层) 第一层显示类的名称:(如果是抽象类,就用斜体显示) 第二层是类的特性,通常就是字段和属性: 第三层是类的操作,通常是方法或行为. (注意前面的符号,“+” 表示 pub ...

  3. jqgrid操作列循环显示三个按钮

    首先ajax取数据 $.ajax( { type: "get", url: "../../MECManage/TJYY/collect", cache: fal ...

  4. [CodeForces - 197C] C - Lexicographically Maximum Subsequence

    C - Lexicographically Maximum Subsequence You've got string s, consisting of only lowercase English ...

  5. GsonFormat根据返回值json快速构建Model

    Json是一个插件,我们只需要在Android studio中进行安装一下,即可使用. 根据平时的操作,根据浏览器中返回中的数据一行一行敲,其实这样非常麻烦. 有一个简单的方法,可以瞬间生成一个实体类 ...

  6. prefix super supra sex sept septi out~2

    1★ super   2★ supra 超过,超出   3★ sept 4★ septi   7     5★ sex 6    

  7. Win10系列:VC++ 定时器

    计时器机制俗称"心跳",表示以特定的频率持续触发特定事件和执行特定程序的机制.在开发Windows应用商店应用的过程中,可以使用定义在Windows::UI::Xaml命名空间中的 ...

  8. JavaScrip(一)JavaScrip的写法

    一:如何写JavaScript 1.直接写入 <scricp type="text/javascricp >*********</scricp> 直接写到标签里面. ...

  9. Java实现将数字转为大写汉字

    public class Int2Big { static String int2big(int src) { final String num[] = {"零", "壹 ...

  10. JAVA设计模式(二)工厂模式

    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...