CentOS 7.3 搭建DHCP服务器

一、DHCP服务简介

1. DHCP服务简介

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,DHCP 协议主要是用来自动为局域网中的客户机分配 TCP/IP 信息的网络协议,并完成每台客户机的 TCP/IP 协议配置。当我们将局域网中客户机IP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户机自动分配IP地址,使得客户机能够使用这个IP地址。

DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。所有的IP网络参数(包括IP地址、网关和DNS服务器地址等)都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配的IP网络参数。

2. 使用DHCP的优点

  • 减少管理员的工作量;
  • 避免IP冲突;
  • 减少收入错误的可能;
  • 能方便地更改网络的IP网段;
  • 移动计算机后不用重新配置网络信息;
  • 提高IP地址的利用率。

3. DHCP的工作过程

  1. 第1步:(请求DHCP服务器)
  2. 客户端在局域网广播发送 DHCP discovery包,寻找DHCP服务器,即向255.255.255.255发送特定的广播信息,每一台安装了TCP/IP协议的主机都会有这个广播地址,但只有DHCP服务器才会做出回应。
  3. 第2步:(提供IP地址)
  4. 服务器收到DHCP discovery包后,向客户机发送一个包含分配的IP地址和其它设置的 DHCP offer 包,目的告诉客户机,我能为你提供IP地址。
  5. 第3步:(选择IP地址)
  6. 客户机收到DHCP offer提供信息包后,(如果客户机在一段时间内没有接收到DHCP服务器发出dhcp offer包,则会重新发送dhcp discover。如果广播区域内不止一台dhcp服务器,则由客户机决定使用哪个)客户机选择第一个接收到的提供信息包,以广播的方式再发送一个DHCP request请求信息包,客户机向服务器请求IP地址。
  7. 第4步:(IP地址提供确认)
  8. 服务端收到客户机回应的DHCP request 请求信息包之后,便向客户机发送一个DHCP ack 确认信息包,告诉客户机可以使用它提供的IP地址。
  9. 第5步:(重新登录)
  10. 以后DHCP客户机每次使用此IP地址时,就不需要再发送DHCP discovery包了,而是直接发送一个包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息以后,它会继续让客户机使用此IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的客户机使用时,则DHCP服务器给客户机回答一个DHCP nack否认信息。当原来的客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discovery寻找信息来请求新的IP地址。
  11. 第6步:(更新租约)
  12. DHCP服务器向客户机出租的IP地址都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果客户机要延长其IP租约,必须更新其IP租约。客户机启动时和IP租约期限过一半时,客户机都会自动向DHCP服务器发送更新其IP租约的信息。

4. DHCP客户机自动更新IP租约

客户机租约期限已过去50%,自动尝试更新租约;当期限过去87.5% 时,发出广播再次更新租约;若租约已经到期(100%),客户机必须立即停止使用当前的IP地址。然后客户机开始新的DHCP租约过程,尝试租用新的IP地址。

二、系统环境

系统平台: CentOS 7.3

DHCP Server: 192.168.8.88

更改主机名,写/etc/hosts记录


#  vim /etc/hosts

192.168.8.88   DHCP         --最后添加DHCP服务器IP地址和主机名/别名

关闭防火墙

#  systemctl  stop  firewalld              --临时关闭防火墙 

#  systemctl  disable  firewalld          --永久关闭防火墙

关闭selinux

临时关闭:

#  setenforce 0

永久关闭:

#  vim  /etc/selinux/config

SELINUX=disabled                 --将enforcing改为disabled

#  reboot                                    --重启系统永久生效

三、CentOS下的DHCP服务

准备两台机器,一台作为DHCP服务器,一台作为客户机,如下图:

1. 在服务器上安装DHCP软件包

#  yum  -y  install  dhcp*         --安装dhcp软件包

如果已经安装过了,则显示“无须任何处理”

安装好后,配置文件目录:/etc/dhcp/dhcpd.conf

分给客户端IP的记录文件:/var/lib/dhcpd/dhcpd.leases

2. 配置DHCP

把系统默认的样例复制到/etc/dhcp/dhcpd.conf文件里


#  cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y           --输y覆盖原文件


#  vim  /etc/dhcp/dhcpd.conf                           --修改配置文件

7   option domain-name "example.org";                 --DNS域名

8   option domain-name-servers ns1.example.org, ns2.example.org;     --DNS的域服务器

9

10   default-lease-time 600;             --默认的租约时间,秒为单位

11   max-lease-time 7200;                --最大的租约时间,秒为单位

14   #ddns-update-style none;         --表示要不要把IP地址的更新情况告诉DNS服务器,默认是关闭的

22   log-facility local7;                       --定义日志服务,可以在日志配置文件中查看具体日志位置,默认是:/var/log/boog.log,但是在/var/log/messages里面也会记录dhcp日志

47   subnet 192.168.8.0 netmask 255.255.255.0 {      --分配的网段及子网掩码,代表只在192.168.8.x这个C类网段里生效,子网掩码设为255.255.255.0

48   range 192.168.8.30 192.168.8.60;                        --代表给客户机分配可用的IP范围,起始到结束,尽量不要包含DHCP服务器的IP地址

49   option domain-name-servers 192.168.8.88;       --配置要分配给客户端的DNS地址,这里我们设为DHCP服务器的IP地址

50   option domain-name "internal.example.org";    --DNS的域名

51   option routers 192.168.8.88;                               --配置分配给客户机的路由网关,这里我们设为DHCP服务器的IP地址

52   option broadcast-address 192.168.8.255;           --给客户机指定广播地址,配置192.168.8.x这个网段的广播地址

53   default-lease-time 600;                                       --指定租约时间,秒为单位

54   max-lease-time 7200;                                         --指定最大租约时间,秒为单位

55   }

75   host fantasia {                                                     --将MAC地址和IP绑定,host后面的名字随意,如:fantasia

76   hardware ethernet 08:00:07:26:c0:a5;                 --MAC地址

77   fixed-address fantasia.fugue.com;                      --IP地址

78   }

85   class "foo" {                                                         --定义多个子网,class后面写组名

86   match if substring (option vendor-class-identifier, 0, 4) = "SUNW";

87   }

88

89   shared-network 224-29 {                                    --定义多个子网,要从大往小写

90       subnet 10.17.224.0 netmask 255.255.255.0 {

91           option routers rtr-224.example.org;

92       }

93       subnet 10.0.29.0 netmask 255.255.255.0 {

94           option routers rtr-29.example.org;

95       }

96       pool {

97           allow members of "foo";

98           range 10.17.224.10 10.17.224.250;

99       }

100       pool {

101           deny members of "foo";

102           range 10.0.29.10 10.0.29.230;

103       }

104   }

修改红色标注位置就可以了,修改完成之后,保存退出。

3、启动DHCP服务


#  systemctl  restart  dhcpd.service        --重启DHCP服务

#  systemctl  enable  dhcpd.service        --设置为开机自启动

#  netstat  -anlp  |  grep  dhcpd             --查看dhcp服务端口为67

4、来到客户机验证

把客户端机的网卡配置成dhcp,再重启网络服务


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

BOOTPROTO=dhcp                                 --网卡指定方式改为dhcp

#  systemctl  restart  network.service          --重启网卡

打开日志文件查看分配的IP地址

服务器:

#  tail  -f  /var/log/messages           --在服务器上监听日志

客户机:

打开两个终端窗口:一个查看日志,一个重启网络。

查看日志

#  tail  -f  /var/log/messages

重启网络

#  systemctl  restart  NetworkManager     --重启这个服务,每次重启网络服务时,系统都会重新去DHCP服务器上获取IP地址

查看IP

#  ifconfig                         --查看IP

查看网关

#  route  -n  |  grep  UG     --查看网关

查看路由

#  cat  /etc/resolv.conf     --查看路由

5、如果要把客户机分配的IP给固定的话,可以在服务器做如下配置


#  vim  /etc/dhcp/dhcpd.conf                       --分给客户机IP的记录文件

在文件的最下面加上下面一段代码即可

75 host Client {                                             --host后面接的是客户机主机名称,可以自定义,建议为主机名

76   hardware ethernet 00:0c:29:82:6f:db;    --代表客户机的物理MAC地址

77   fixed-address 192.168.8.40;                   --代表如果有遇到物理MAC地址为上面一行的,则分配这行的IP给它

78 }


#  systemctl  restart  dhcpd.service               --重启DHCP服务

测试,重复第4步

6、客户机获取IP

先清除客户机IP地址缓存


#  systemctl  restart  NetworkManager         --重启这个服务,每次重启网络服务时,系统都会重新去DHCP服务器上获取IP地址

#  ifconfig                                                       --查看IP,应该为设定的IP,即192.168.8.40

时间: 2024-10-12 02:01:51

CentOS 7.3 搭建DHCP服务器的相关文章

centos下搭建dhcp服务器

centos下搭建dhcp服务器 一.软件环境 CentOS release 6.5 dhcp-4.1.1-51.P1.el6.centos.x86_64 dhcp-common-4.1.1-51.P1.el6.centos.x86_64 二.网络拓扑 dhcp服务器--H3c交换机(7503)-- H3c交换机(5500)-- H3c交换机(3100)--dhcp客户端(办公电脑) 网段: 10.2.240.0/24 10.2.180.0/24 dhcp服务器ip:10.2.33.253 三.

Linux下搭建DHCP服务器

一.DHCP所需软件包dhcp-common-4.1.1-34.Pl.el6.centos.x86_64dhcp-4.1.1-34.pl.el6.centon.x86_64二.编辑主配置文件 vi/etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; shared-network ifs {        option domain-name     "ifs.com";        option 

RedHat5.9下搭建DHCP服务器

DHCP服务器的搭建(服务器本身一般都设置为静态ip地址) 准备工作:给服务器本身设置固定ip地址 [[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0   //配置文件 # Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) DEVICE=eth0                  //设备名为eth0,第一块物理网卡 BOOTPROTO

CentOS 6.4 搭建git 服务器

CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md ##CentOS安装Git服务器 Centos 6.4 + Git 1.8.2.2 + gitosis## 1.查看Linux系统服务器

Linux Centos 6.6搭建SFTP服务器

在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的版本 1 ssh -V 使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级. 1.创建sftp组 1 groupadd sftp 2.创建一个sftp用户,用户名为mysftp,密码为mysftp 修改用户密码和修改Linux用户密码是一样的. useradd -g sftp -s /bin/false

fedora 20 与 centos 6.5 搭建openldap服务器心得

目标:使用ldap做为系统用户的数据目录,基于web管理ldap数据. 安装 使用 YUM 安装方式 ,由于要使用web方式管理LDAP服务器,也要安装APACHE.PHP和ldap相关的软件包,要想通过ldap验证用户,一定要安装nss-pam-ldapd和pam_ldap.web管理使用ldap-account-manager或phpldapadmin,lam和phpldapadmin可以直接用rpm包安装.centos 6.5 使用openldap 2.4.23, fedora 使用ope

linux下搭建dhcp服务器及部署中继代理详解

搭建DHCP服务器,本机eth0网卡IP为1.1.1.18/24,网关为1.1.1.20 yum install -y dhcp  安装dhcp rpm软件包 cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample  /etc/dhcpd.conf vim /etc/dhcpd.conf,主要修改以几行: subnet 1.1.1.0 netmask 255.255.255.0 {              #设置子网段 option routers    

Linux系统搭建DHCP服务器

                              实验要求:在Linux系统搭建DHCP服务器 实验步骤: 第一步:设置DHCP服务器的iP地址和网关 第二步:查看有没有安装DHCP服务,如果没有安装就要到mnt/下的Packages文件中找到DHCP安装包,找到之后再安装. 安装之前首先我们要把系统安装光盘挂载到mnt目录下,然后在查看一下有没有挂载上 第三步:查看并安装DHCP 第四步:安装完后,查看配置文件 第五步:显示配置文件,并且将/usr/share/doc/dhcp-4.

Linux学习随笔——Linux环境中搭建DHCP服务器

2015.8.30    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要用途:给内部网络或网络服务供应商自动分配IP地址.DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为dhcp server和dhcp client的服务端口      DHCP服务器需要安装TCP/IP协议,需要设置静态IP地址 子网掩码和默认网关 搭建DHCP服务器: 一.设置DHCP服务器