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和 ...
随机推荐
- 第二百九十、一、二天 how can I 坚持
上周日,腊八,好冷,去菏泽了.坐火车,没座.好冷,下午菏泽学院,大体看了看,很是怀念,有点遗憾,在网吧玩的时间太长了,留不住. 周一,长太婚礼,竟然没有只是吃了个饭,有点小失望,下午坐车回京,两点坐的 ...
- Spark计算工作流
下图 中描述了 Spark 的输入.运行转换.输出.在运行转换中通过算子对 RDD进行转换.算子是 RDD 中定义的函数,可以对 RDD 中的数据进行转换和操作. 输入:在 Spark 程序运行中, ...
- [iOS 多线程 & 网络 - 2.9] - ASI框架
A.ASI基本知识 1.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大. ASI的实现基于底层的CFNetwork框架,因此运行效率很高. ASI的g ...
- CodeForces 705C Thor (模拟+STL)
题意:给定三个操作,1,是x应用产生一个通知,2,是把所有x的通知读完,3,是把前x个通知读完,问你每次操作后未读的通知. 析:这个题数据有点大,但可以用STL中的队列和set来模拟这个过程用q来标记 ...
- 任务分发系统gearman
1 Gearman是什么 Gearman Job Server@http://gearman.org/. Gearman 是一个任务分发系统,它提供了一个分发框架,能够分发某类任务到更适合处理这类任务 ...
- Bootstrap栅格系统(布局)
栅格系统(布局) Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅格系 ...
- POI Excel导出样式设置
HSSFSheet sheet = workbook.createSheet("sheetName"); //创建sheet sheet.setVerticallyCente ...
- java中需要关注的3大方面内容/Java中创建对象的几种方法:
1)垃圾回收 2)内存管理 3)性能优化 Java中创建对象的几种方法: 1)使用new关键字,创建相应的对象 2)通过Class下面的new Instance创建相应的对象 3)使用I/O流读取相应 ...
- BZOJ 1079: [SCOI2008]着色方案 记忆化搜索
1079: [SCOI2008]着色方案 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...
- 通过程序 VB.Net 或 C# 读取文本文件行数
1, VB.NET 读取 (通过streamReader) ' tmpCount = 0 'Dim tmpSR As New StreamReader(fileFullName, System.Tex ...