DHCP服务详解
- DHCP概念和原理
- dhcp服务作用
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本,提高网络配置效率
- 可分配的地址信息主要包括:
- 网卡的IP地址、子网掩码
- 对应的网络地址
- 默认网关地址
- DNS服务器地址
- 引导文件、TFTP服务器地址

- DHCP的原理
- 客户端寻找服务器
client – DHCPdiscovery
如果未得到响应,1秒后重发,9秒,13秒,16秒…
- 服务器提供地址
Server – DHCPoffer
提供可用IP,租约信息,服务器地址等
- 接受并广播
Client – DHCPrequest
宣告自己所选择的DHCP服务器
Arp广播,测试自己所选择的DHCP服务器
- 服务器确认
Client – DHCPrequest
Server – DHCPack
包含了所有的网络参数
===========================================================
- 户端重新登录
Client – DHCPrequest
申请,继续源使用分配的IP地址
- 更新租约
8小时 – 4小时 – 2小时
Client – DHCPdiscovery

- DHCP相关文件
- RHEL6的DHCp软件包
Dhcp-4.1.1-3.4.P1.el6.x86_64.rpm
- DHCP的相关配置
端口号:ipv4 udp67、udp68
ipv6 udp546、udp547
服务名:dhcpd(主程序)或者dhcrelay(中继)
主配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
- DHCP配置文件解析.
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
#ddns-update-style none;
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
host passacaglia {
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia";
server-name "toccata.fugue.com";
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address fantasia.fugue.com;
}
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.example.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.example.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
option domain-name 设置DNS域
option domain-name-server 设置DNS服务器地址
default-lease-time 设置默认租约时间,单位为秒
max-lease-time 设置最大租约时间,单位为秒
log-facility 指定日志设备
ddns-update-style 设定DNS的更新方式
subnet网段声明,作用于整个子网段:
range 设置用于分配的IP地址池
option subnet-mask 设置客户机的子网掩码
option routers参数 设置客户机的默认网关地址
option broadcast-address 设置客户机广播地址
host主机声明,作用于某台主机:
hardware Ethernet 设置目标主机的MAC地址
fixed-address 设置为其分配的保留IP
重启服务,使修改的配置生效
#server dhcpd restart
修改网卡配置,设置DHCP的自动分配方式
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
#ifdown eth0
#ifup eth0
注意:配置完成后,记得关闭SELINUX和防火墙
- DHCP服务器端配置
- DHCP客户端配置
- 案例:DHCP中继功能
主机A的IP地址为192.168.1.1,网关为192.168.1.2
主机B的IP地址为eth0:192.168.1.2,eth1:200.200.200.2
主机C网卡设置为DHCP
1、主机A操作步骤如下:
#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
#vim /etc/dhcp/dhcpd.conf


#service dhcpd start
#vim /etc/sysctl.conf

#打开网络转发功能- 主机B操作步骤如下:
#yum –y install dhcp
#vim /etc/sysconfig/dhcrelay

#service dhcrelay start
- 主机c操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0

#设置为DHCP
- DHCP主机地址保留
主机A的IP地址为192.168.1.1
主机B网卡设置为DHCP
主机A和主机B在同一个网段
1、主机A的操作步骤如下:
#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
#vim /etc/dhcp/dhcpd.conf



绑定MAC地址
#service dhcpd restart
2、主机B的操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0

- DHCP超级作用域
介绍:超级作用域是DHCP服务中的一种管理功能,使用超级作用域,可以将多个作用域组合为单个管理实体。
试验准备:主机A的网卡eth0与主机B的网卡eth0在同一个网段,主机C的网卡eth1与主机B的网卡eth1在同一网段,主机A、B和C关闭防火墙和SELINUX。
- 主机B的操作如下:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0

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

#yum –y install dhcp
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
#vim /etc/dhcp/dhcpd.conf


#service dhcpd start
- 主机A的网卡设置
#vim /etc/sysconfig/network-scripts/ifcfg-eth0

#ifdown eth0
#ifup eth0
结果如下图

- 主机C的网卡设置

#ifdown eth0
#ifup eth0
结果如图所示

总结:使用上面那种方法,就在两个网段中分配IP地址,就不需要做DHCP中继,唯一问题是连接两个网段的主机要有足够的网卡,也就是说,一个网卡对应一个网段
DHCP服务详解的更多相关文章
- 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案
[入门]广电行业DNS.DHCP解决方案详解(三)——DNS部署架构及案 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系, ...
- winxp计算机管理中服务详解
winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...
- Android中Service(服务)详解
http://blog.csdn.net/ryantang03/article/details/7770939 Android中Service(服务)详解 标签: serviceandroidappl ...
- WCF中队列服务详解
WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...
- 【转】SSH服务详解
[转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...
- (转)SSH服务详解
SSH服务详解 原文:http://www.cnblogs.com/clsn/p/7711494.html 第1章 SSH服务1.1 SSH服务协议说明SSH 是 Secure Shell Proto ...
- HTTPD之二————HTTPD服务详解————httpd的配置文件常见设置
HTTPD之二----HTTPD服务详解----httpd的配置文件常见设置 HTTP服务器应用 http服务器程序 httpd apache nginx lighttpd 应用程序服务器 IIS,a ...
- windows 7 系统进程服务详解
windows 7已经发布有段时间了,相信很多网友都已经换上了传说中非常完美的win7系统.win7不仅继承而且还超越了vista的美观界面,性能优化方面也下足了功力.还拥有强大的win xp兼容性, ...
- angular-ngSanitize模块-$sanitize服务详解
本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块. 要学习这个服务,先要了解另一个指令: ng-bing-html. 顾名思义,ng-bind-html和 ...
随机推荐
- Struts2 文件上传
一:表单准备 ① 要想使用HTML 表单上传一个或多个文件 –须把 HTML表单的 enctype属性设置为multipart/form-data –须把HTML 表单的method ...
- 采用现代Objective-C
多年来,Objective-C语言已经有了革命性的发展.虽然核心理念和实践保持不变,但语言中的部分内容经历了重大的变化和改进.现代化的Objective-C在类型安全.内存管理.性能.和其他方面都得到 ...
- codeforces 622A Infinite Sequence
A. Infinite Sequence time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 创建类模式(一):工厂方法(Factory Method)
定义 此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦.复用和方便后期维护拓展的目的. 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中.核心 ...
- 关于 jquery cookie的用法
东钿微信公众平台新版上线 需要一个引导用户操作步骤.设置一个cookie师傅偶第一次访问此页面 .如果是则跳出用户引导,如果不是,正常显示. 一开始在百度了一段jquery cookie插件,也没仔细 ...
- [置顶] 文件和目录(二)--unix环境高级编程读书笔记
在linux中,文件的相关信息都记录在stat这个结构体中,文件长度是记录在stat的st_size成员中.对于普通文件,其长度可以为0,目录的长度一般为1024的倍数,这与linux文件系统中blo ...
- wikioi 1214 线段覆盖
题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,--N.这些坐标都是区间(-999,999)的整数.有些线段 ...
- jsp页面用el表达式获取枚举的code
jsp页面用el表达式获取枚举的code <c:set var="D_BUSINESS" value="<%=DeptEnum.D_BUSINESS%> ...
- head first c<11>初探网络编程上
server连接网络四部曲. 为了与外界沟通,c程序用数据流读写字节.比較经常使用的数据流有标准输入.标准输出.文件等. 假设想写一个与网络通信的程序.就须要一种新的数据流----------套接字. ...
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用(转)
MySQL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid I ...