DHCP服务器配置应用

  • 一、DHCP简介
  • 二、DHCP工作流程
  • 三、DHCP服务器安装
    • 1.安装
    • 2.了解配置文件
    • 3.配置dhcp服务器
    • 4.创建两台克隆虚拟机进行配置
  • 四、客户租约文件

​ 对于TCP/IP网络,要接入到本地网络中,每台计算机要有一个唯一的ip地址。若每台计算机的ip地址都需要管理员来分配、设置,在一个规模较大的网络中,任务极其繁重。

​ 在TCP/IP协议簇中提供了DHCP应用层协议。通过DHCP,可以对每台计算机的ip地址进行动态分配,从而降低网络管理复杂性。

一、DHCP简介

​ DHCP( Dynamic Host Configuration Protocol 动态主机配置协议),是TCP/IP协议簇中的一种,主要用来给网络中的计算机动态分配ip地址。这些被分配的ip地址都是在DHCP服务器中预先保留的地址集。
DHCP在管理网络配置方面的作用

  • 网络规模较大,使用DHCP可减少管理员工作量;

  • 对于移动pc,使用环境变动,造成ip地址变动,使用dhcp,自动接入。

    DHCP分为两部分服务器端客户端

    服务器端负责集中管理可动态分配的ip地址集,并负责处理客户端的dhcp请求,给客户端分配ip地址。

    客户端负责向服务器端发出请求ip地址的数据包,并获取服务器分配的ip地址,为客户端设置分配的ip地址。

    注:dhcp服务器在很多设备中已经内置。如:家用的光猫,路由器等

二、DHCP工作流程

​ 使用dhcp时,网络上必须有一台dhcp服务器,而其他计算机执行dhcp客户端。

​ 当dhcp客户端程序发出一个信息,请求一个动态ip地址时,dhcp服务器会从目

前配置中设置的ip地址集中提供一个可供使用的ip地址和子网掩码给客户端。工作流

程如下:

  1. 由于客户端最初不知道dhcp服务器的ip地址,因此设置使用dhcp的客户端将以广播方式向网络中发送dhcp discover信息,用来查找网络中是否存在dhcp服务器。这样网络中的每一台计算机都可收到该广播信息,但只有dhcp服务器才会做出响应。
  2. dhcp服务器 收到客户端发送的dhcp discover信息,将从dhcp服务器中还没有分配的ip地址中选择一个,并将ip地址、子网掩码、网关地址等信息发送给申请的客户端计算机。
  3. 由于网络中可能存在多台dhcp服务器,而这些dhcp服务器都可能向申请ip地址的客户端返回一个ip地址及相关信息,所以,需要设置一种选择方案,通常的规则是dhcp客户端接受第一个收到的ip地址分配信息。
  4. 客户端以广播方式发送出一个dhcp request信息,该信息中包含向它所选定的dhcp服务器请求ip地址的内容。这里使用广播方式来应答,是为了通知其他其他dhcp服务器,该客户端已选择了某台dhcp服务器所提供的IP地址。
  5. 当dhcp服务器收到dhcp客户端广播的dhcp request请求后,被使用的dhcp服务器将向dhcp客户端发送一个包含其所提供的ip地址和其他设置的dhcp ack信息,告诉dhcp客户端可以使用使用该ip地址,其他的dhcp服务器则收回曾提供的ip地址。而dhcp客户端便将收到的ip地址与客户端的网卡绑定。

通过以上步骤,完成了客户端动态分配ip地址的过程。

dhcp服务器向dhcp客户端分配ip地址称为出租,通常都设置为有租借期限,当期满后,dhcp服务器便会收回该ip地址。如果dhcp客户端要延长租约,则必须更新租约。
dhcp客户端启动和租约期限过半时,会自动向dhcp服务器发送更新租约的信息。

三、DHCP服务器安装

1.安装

首先查看是否安装dhcp:rpm -qa dhcp

若未安装,可使用yum命令:yum install dhcp

2.了解配置文件

​ 1.查看配置文件命令:cat /etc/dhcp/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
You have new mail in /var/spool/mail/root

上面,第三行是可以选择的dhcp版本,可以将这个复制到dhcpd文件,并进行相应的配置。

​ 2.将/usr/share/doc/dhcp*/dhcpd.conf.sample的文件复制到当前dhcpd.conf

cp -p /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

​ 3.再次查看配置文件:cat /etc/dhcp/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
## option definitions common to all supported networks...
option domain-name "example.org";   #指定网络的域名
option domain-name-servers ns1.example.org, ns2.example.org;  #指定域名解析服务器(DNS)的ip地址default-lease-time 600; #默认租约时间,单位s
max-lease-time 7200;  #最大租约时间,单位s。过期续约,续约直接发送request包即可# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;  #日志设备类型为local7.一般日志设备类型包括mail、crontab。遇到此选项可以找到服务的日志记录路径# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.subnet 10.152.187.0 netmask 255.255.255.0 {
}  #指定分配网段的ip地址和子网掩码,括号内是局部配置# This is a very basic subnet declaration.subnet 10.254.239.0 netmask 255.255.255.224 {range 10.254.239.10 10.254.239.20;#可以使用的地址池范围option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
} #option routers 可以指定网关# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.subnet 10.254.239.32 netmask 255.255.255.224 {range dynamic-bootp 10.254.239.40 10.254.239.60;option broadcast-address 10.254.239.31;option routers rtr-239-32-1.example.org;
}# A slightly different configuration for an internal subnet.
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";# 网段DNSoption routers 10.5.5.1;# 指定网关option broadcast-address 10.5.5.31;# 指定广播地址default-lease-time 600;# 租约时间max-lease-time 7200;# 最大租约时间
}# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.host passacaglia {# 主机名hardware ethernet 0:0:c0:5d:bd:95;# 主机的mac地址filename "vmunix.passacaglia";server-name "toccata.fugue.com";
}# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
host fantasia {hardware ethernet 08:00:07:26:c0:a5;fixed-address fantasia.fugue.com;# 分配的固定ip地址
}# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.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;}
}

3.配置dhcp服务器

配置实例
局域网络,在该网络中使用dhcp服务器,要对dhcp服务器进行配置设置:

  • 网络中ip网段为192.168.232.0(虚拟机上的ipv4地址)
  • 子网掩码:255.255.255.0
  • 动态分配的ip地池区间:192.168.232.180~192.168.232.190
  • dns服务器的ip地址为:114.114.114.114
  • 默认网关为:192.168.232.1
  • 有一台计算机的ip地址有特殊要求,设置ip地址为192.168.0.199

根据以上条件,修改配置文件。

注:以上的配置一定要与虚拟机的ip地址设置。

subnet 192.168.232.0(这个地方,后面的数字必须为0) netmask 255.255.255.0{range 192.168.232.60 192.168.232.80;(这是整个范围)option routers 192.168.232.1;(最后的数字必须为1)default-lease-time 600;max-lease-time 7200;host mm{hardware ethernet 00:8C:29:AB:B2:6H;fixed-address 192.168.232.70;
}
}

注:可以使用sudo dhcpd -t命令查看是否出现问题。

4.创建两台克隆虚拟机进行配置

创建完之后,可以使用命令:cat /etc/sysconfig/network-scripts/ifcfg-eth0查看每个虚拟机的网络配置文件,然后使用ifconfig查看每个虚拟机的ip地址即可发现规律。

四、客户租约文件

​ 运行dhcp服务器程序时还需要一个名为dhcpd.leases的客户租约文件,该文件保存所有已经分配出去的ip地址。该文件位于 /var/lib/dhcpd/dhcpd.leases。
​ 若不是通过rpm安装的dhcp服务器程序,则必须创建一个空文件dhcpd.leases。
​ 若当前网络中还未使用dhcp服务, dhcpd.leases文件是无内容的,使用一段时间之后,可查看文件内容。

​ 查看命令:cat /var/lib/dhcpd/dhcpd.leases

dhcpd.leases文件格式:leases address{statement}

​ address表示分配出去的ip地址, statement保存该ip地址出租的时间、使用该ip地址的硬件mac地址信息等。

# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.1.1-P1server-duid "\000\001\000\001&_\336\003\000\014)\273\262n";

Linux网络管理18:DHCP服务器相关推荐

  1. Linux ENSP 搭建DHCP服务器并实现中继和Linux 下搭建DNS服务器(2个实验可跟做)

    文章目录 DHCP服务 了解DHCP服务 使用DHCP的好处 Linux 下搭建DNS服务器 实验环境 实验过程 修改DHCP配置文件 更改dns服务器名称 更改win10的IP地址 Linux &a ...

  2. linux配置服务器心得体会,linux 学习 linux上搭建dhcp服务器

    ①配置前的环境准备 ##确保dhcp服务器有固定ip [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE= ...

  3. 嵌入式linux dhcp移植,嵌入式linux中的dhcp服务器

    嵌入式系统下,用开发板建立dhcp服务器 1.重新编译内核,添加对dhcp的支持 2.busybox是否带有dhcp的应用,如无,则需要重新编译busybox,或者直接下一个独立的也可. 3.dhcp ...

  4. Linux下搭建DHCP服务器 【2020.12.01】

    目录 安装DHCP服务 修改作为DHCP服务器的网络配置 关闭Vmware虚拟机自带DHCP服务器 编辑--虚拟网络编辑器--如下 客户端获取DHCP分配IP地址测试 客户端1:固定租约类型 客户端2 ...

  5. dhcp怎么开启 linux,怎么开启DHCP服务器啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [root@DHCP init.d]# rpm -qa|grep dhcp dhcp-4.1.1-38.P1.el6.centos.x86_64 dhcp ...

  6. 如何启用dhcp linux,怎么开启DHCP服务器啊

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [root@DHCP init.d]# rpm -qa|grep dhcp dhcp-4.1.1-38.P1.el6.centos.x86_64 dhcp ...

  7. linux下DHCP服务器设置——让自己的智能手机上自己的wifi网络

    现在越来越多的朋友开始使用智能手机了,一个月十块.二十块的也不过百来兆的GPRS流量,用起来可不敢大手大脚.如果不想花冤枉钱,只用自己的笔记本来为我们的只能手机搭建wifi网络,体验3G的快感,那么就 ...

  8. 【小白向】Kali Linux DHCP服务器的安装,配置及启动

    Kali Linux 安装配置DHCP服务器 DHCP概述 安装DHCP服务 配置DHCP服务 启动DHCP服务 最近在学习DHCP服务器,发现网上已有的教程大部分不全面,安装配置过程中出现了些问题, ...

  9. 未设置服务器核心文件,[问题3] dhcpd.conf是DHCP服务器的配置的核心,每次启动DH..._考试资料网...

    问答题在一个基于TCP/IP协议的网络中,每台主机都有会有一个IP地址(如:Internet).Inter- net上的每台主机都有一个惟一的IP地址,根据获得IP址的方式不同,可以分为静态IP,动态 ...

  10. Linux编译dhcpd,linux中搭建dhcpd服务器

    这一次咱们来共同看一看如何在linux中搭建dhcp服务器: 首先呢dhcp服务分为客户端IP地址动态分配服务和dhcp中继服务,小编在这里用linux系统搭建一个为客户端动态分配IP地址的dhcp服 ...

最新文章

  1. Hibernate主键生成方式
  2. XCTF WEB get_post
  3. 集群服务器分布式iis_集群,分布式,微服务,SOA概念
  4. [Golang]slice值传递存在的问题
  5. gpu浮点计算能力floaps_基准测试移动 GPU 中的浮点精度 - 第 2 部分
  6. js赋值与逻辑运算的疑问
  7. 条件注释判断兼容浏览器版本CSS HACK !--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]...
  8. sql查询禁用缓存_如何在SQL Server 2017中启用和禁用身份缓存
  9. 阿里研究院安筱鹏:云计算推动企业迈向高频竞争时代
  10. 《学习笔记》使用AngularJS模板来创建视图
  11. ZigBee中协调器如何向子节点发消息?
  12. python 阮一峰_ES6 Iterator笔记(摘抄至阮一峰的ECMAScript 6入门)
  13. ubuntu开机报错/dev/nume0n1p2:clean解决方案
  14. postman--常用公共函数
  15. 爱上收纳的花艺师:热爱生活,就能被生活治愈
  16. YOLOv2—passthrough层
  17. 小程序中如何正确使用换行符‘\n‘
  18. 微信小程序布局干货——来自微信官方
  19. WPS配置mathtype
  20. Java使用smart-doc自动生成文档

热门文章

  1. 关于电信路由猫、无线路由猫的设置
  2. 机器人焊钳选型_焊接机器人选型资料
  3. 机器人改变生活利弊英语作文_机器人的利弊作文
  4. 经济学常识之破窗谬论
  5. 出国留学成绩要求主要看点在雅思
  6. 原来String、StringBuffer、StringBuilder底层是这么回事
  7. 3DMAX渲染时,vray渲染有光斑、噪点?几招就解决。
  8. blowfish算法c语言,blowfish-c源代码(简陋).doc
  9. newifi mini php,NewFi(newifi mini华硕固件)
  10. linux在gpt分区装系统,linux安装到GPT分区