DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务。
当然高级的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息
安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功能的客户机称为DHCP客户端,DHCP服务器是以地址租约的方式为DHCP客户端提供服务的,它有以下两种方式:
限定租期
和 永久租用
学DHCP服务器,就一定要知道DHCP服务器的工作原理:
DHCPDISCOVER(DHCP发现)
DHCPOFFER(DHCP提供)
DHCPREQUEST(DHCP请求)
DHCPACK(DHCP确认)
这个4个步骤,是client获取IP地址必经的步骤
DHCP提供的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。
这个四步主要是应对同一网络多个DHCP服务器
后台进程:dhcpd
脚本:/etc/rc.d/init.d/dhcpd
使用端口:67
所需RPM包:dhcp
相关RPM包:
dhcp-devel-3.0.5-7.el5.i386.rpm
dhcpv6-0.10-33.el5.i386.rpm
dhcpv6_client-0.10-33.el5.i386.rpm
配置文件:/etc/dhcpd.conf
日志:/var/log/xferlog
再提示一点吧,网络启动方式也叫bootpc,这样获取的IP地址是不会受服务器的租期限制的,它永远有效
好了,我们先安装DHCP服务器

一、下载或从光盘上找到DHCP服务安装包。

二、安装(dhcp*代表其安装包名称):
# rpm -ivh dhcp*

三、配置DHCP文件:
复制/usr/share/doc/dhcp*/dhcpd.conf.sample 到/etc目录下,更名为:dhcpd.conf
# cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
当然,也可以先vi /etc/dhcpd.conf,然后在末行模式运行以下命令:
r /usr/share/doc/dhcp*/dhcpd.conf.sample
这样这个dhcpd.conf.sample文件的内容就导进来了。
打开dhcpd.conf,要修改的几个地方:
subnet 后面接的是你所定义的网段,要与本机的IP地址同网段,
每一语句以分号“;”结尾,不要忘记。
例如:我的IP是“192.168.2.11”,下面是我的配置文件:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;

option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.2.1;
option time-offset -18000;
range dynamic-bootp 192.168.2.100 192.168.2.254
default-lease-time 21600;
max-lease-time 43200;
filename "/pxelinux.0";
next-server 192.168.2.11;

host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}

四、详细注解:
ddns-update-style interim; #定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,
#interim和none都是关闭的意思
allow/ignore client-updates; #允许/忽略客户机更新DNS记录
allow/deny unknown-clients; #是否动态分配IP给未知的使用者
allow/deny bootp; #是否响应激活查询
allow/deny booting; #是否响应使用者查询
subnet 192.168.2.0 netmask 255.255.255.0 { #设置子网声明
# --- default gateway
option routers 192.168.2.1; #设置缺省网关为192.168.2.1
option subnet-mask 255.255.255.0; #设置客户端的子网掩码
option nis-domain "domain.org"; #为客户设置NIS域
option domain-name "domain.org"; #为客户设置域名
option domain-name-servers 192.168.2.1; #为客户设置域名服务器
option time-offset -18000; # Eastern Standard Time #为客户端指定格林威治时间偏移时间,单位秒,
# 该选项可以在全局配置、局部配置均可使用
# option ntp-servers 192.168.2.1; #NTP是时间服务器
# option netbios-name-servers 192.168.2.1; 设置wins服务器
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西
range dynamic-bootp 192.168.2.28 192.168.2.254; #设置动态的地址池
default-lease-time 21600; #设置缺省的地址租期
max-lease-time 43200; #设置客户端最长的地址租期
# we want the nameserver to appear at a fixed address
filename "/pxelinux.0"; #开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径
next-server 192.168.2.11; #This is the name of the server they should get it
from
#tftp服务器,可以和dhcp服务器不在同一机器上,一般是PXE网络使用此参数
#设置主机声明
host ns {
next-server marvin.redhat.com; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站
hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客户的mac地址
fixed-address 207.175.42.254; #给指定的mac地址分配ip
}
}

五、配置好dhcpd.conf文件后就可以启动dhcp服务了:
# service dhcpd restart
这时可以用“netstat -nlutp”命令查看dhcp服务是否有启动。

六、其它相关文件:
1、这个文件/var/lib/dhcpd/dhcpd.leases,可以看到被租出去的IP地址和相关信息。
2、这个文件/etc/sysconfig/dhcpd是指定DHCP服务器监听的网卡,如果只有一个网卡,一般不用设置
DHCPDARGS=eth0 或者是eth1 ,如果全部监听就不用管。
3、这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开看看吧。
interfaces 就是来自这个端口的dhcpdiscover(请求)都会转发到后面的DHCPSERVERS服务器。
设置了DHCP中继,需要启动中继服务:service
dhcrelay start

七、在linux客户机下面,你可以手动配置你的dhcp:
察看你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。
# vi /etc/sysconfig/network
添加“NETWORKING=yes”(让引导的时候启动联网)
或者使用
# @echo “NETWORKING=yes”> /etc/sysconfig/network
然后再修改你的网卡配置文件
/etc/sysconfig/network-scriptes/ifcfg-eth0 文件应该包含这几行:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

DHCP安装配置详解的更多相关文章

  1. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  2. Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel

    本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...

  3. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  4. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  5. JDK10安装配置详解

    JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包:        地址:http://www.oracle.com/technetwork/java/javase/dow ...

  6. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  7. (转)使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 原文:https://www.cnblogs.com/liwei0526vip/p/6370103.html

  8. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  9. 使用LVS实现负载均衡原理及安装配置详解

    负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学 ...

随机推荐

  1. Ngnix的日志管理和用定时任务完成日志切割

    一.日志管理 先来看看ngnix的配置文件的server段 接下来我们解释一下默认格式的具体意思 #log_format main '$remote_addr(远程IP) - $remote_user ...

  2. ref:JAVA代码审计的一些Tips(附脚本)

    ref:https://xz.aliyun.com/t/1633/ JAVA代码审计的一些Tips(附脚本) 概述 本文重点介绍JAVA安全编码与代码审计基础知识,会以漏洞及安全编码示例的方式介绍JA ...

  3. 洛谷——P1821 [USACO07FEB]银牛派对Silver Cow Party

    P1821 [USACO07FEB]银牛派对Silver Cow Party 题目描述 One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...

  4. HTTP 415错误 Unsupported Content-Type

    报如下错误: { "badMediaType": { "message": "Unsupported Content-Type", &quo ...

  5. Django 如何实现 如下 联表 JOIN 查询?

    SQL语句: select distinct a.device_hash, sum(b.cmn_merge_count) from (select distinct device_hash from ...

  6. Scrapy实战篇(五)爬取京东商城文胸信息

    创建scrapy项目 scrapy startproject jingdong 填充 item.py文件 在这里定义想要存储的字段信息 import scrapy class JingdongItem ...

  7. BZOJ4554 HEOI2016游戏

    网络流. 我一开始傻傻的将每条边与每一列连边,边权为联通块树,但是这样做是错的因为我们就在跑网络流中会忽略掉边和列的关系. 我们在做网络流题时一定要注意题目中给出的限制条件,一定要以限制条件建图!!! ...

  8. python爬取基础网页图片

    python基础爬虫总结 1.爬取信息原理 与浏览器客户端类似,向网站的服务器发送一个请求,该请求一般是url,也就是网址.之后服务器响应一个html页面给客户端,当然也有其他数据类型的信息,这些就是 ...

  9. 性能测试工具——Jmeter使用小结(一)

    Apache Jmeter是针对Java的一款性能测试工具,利用该工具可以实现自动化的批量测试和结果聚合,适合做接口压测.今天就来捋一捋软件安装的一些小细节和使用. 一.安装 Jmeter基于JDK, ...

  10. bzoj 2693

    收获: 1.积性函数的积也是积性函数,基本的积性函数:常数函数,正比例函数,欧拉函数,Mobius函数,积性函数一般都知道表达式,所以一般都可以在线性筛时搞定. 2.遇到整除求和时,这个东西就已经是最 ...