文章目录

  • 什么是DHCP
  • 在虚拟机中添加一块用于测试DHCP的网卡
  • 配置服务器的IP
  • 安装DHCP服务
  • 修改配置文件
  • iptables 放行UDP 67接口
  • 验证结果

什么是DHCP

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

DHCP有三种机制分配IP地址:

  1. 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
  2. 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
  3. 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
    三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。

工作原理:
DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口。

实验信息:
虚拟机操作平台:VMware® Workstation 15 Pro
操作系统:Centos 7
拓扑图:

在虚拟机中添加一块用于测试DHCP的网卡

点击“编辑”菜单里面的“虚拟网络编辑器”选项,打开虚拟机网络配置器

添加一个网络,设置为“仅主机模式”并设置IP为 192.168.178.0 (后面会用到这个IP作为DHCP自动分配的网络)并关闭DHCP服务

进入虚拟机设置,将网卡添加进来

输入 ifconfig 命令可以看到,刚才的网卡已经成功挂载了进来

接下来我们要在这个接口上配置DHCP服务

配置服务器的IP

在安装DHCP服务之前需要先将服务器DHCP接口配置上静态IP
CentOS7默认网卡设备文件存放于 /etc/sysconfig/network-scripts/
目录下, 编辑 ifcfg-ens38(根据 ifconfig 命令结果里面的接口起名) ,如果没有请创建

TYPE=Ethernet                # 网卡类型:为以太网
PROXY_METHOD=none            # 代理方式:关闭状态
BROWSER_ONLY=no                # 只是浏览器:否
BOOTPROTO=static                # 网卡的引导协议:static[中文名称: 静态主机配置协议]
IPADDR=192.168.178.1         #ip地址
NETMASK=255.255.255.0        #子网掩码
GATEWAY=192.168.178.1          #默认网关
DEFROUTE=yes                # 默认路由:是, 不明白的可以百度关键词 `默认路由`
IPV4_FAILURE_FATAL=no        # 是不开启IPV4致命错误检测:否
IPV6INIT=yes                # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes            # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes            # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no        # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy            # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=ens38                    # 网卡物理设备名称
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698    # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens38                    # 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT=yes                        # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`

配置好后执行

systemctl restart network
ifconfig

此时可以看到ens38接口引脚配置上了IP

安装DHCP服务

yum install -y dhcp

修改配置文件

配置 /etc/dhcp/dhcpd.conf 文件

添加如下配置,注意DNS服务器请设置一个存在的DNS服务器,因为我已经在这个服务器上搭建了DNS系统,所以将DNS服务器设置成了本服务器地址

##网段和掩码
subnet 192.168.178.0 netmask 255.255.255.0 { ##地址范围range 192.168.178.100 192.168.178.200;## dns服务器地址 option domain-name-servers 192.168.178.1; ##网关option routers 192.168.178.1;##广播地址option broadcast-address 192.168.178.255;## 租约时间default-lease-time 300;## 最大租约时间max-lease-time 7200;
}

运行DHCP服务,设置开机自动启动

systemctl enable dhcpd
systemctl start dhcpd
systemctl status dhcpd

iptables 放行UDP 67接口

iptables -I INPUT -p tcp --dport 67 -j ACCEPT
service iptables save

验证结果

配置主机中对应的网卡为DHCP模式

保存后查看网卡信息,可以看到已经成功拉取到了IP地址了

此时在服务状态里可以看到,已经为我的宿主机分配了一个IP地址

注意做完实验记得禁用这个网卡,否则可能导致宿主机无法联网!

参考文档
centos7之dhcp服务部署、管理、配置详解
Centos7静态ip设置(亲测有效)
CentOS7搭建DHCP服务器

Centos 搭建DHCP服务,新建独立网卡完成DHCP实验相关推荐

  1. Centos搭建FTP服务

    前言: Centos 搭建FTP服务学习记录 FTP简介 FTP简称"文件传输协议",用于Internet上的控制文件的双向传输. 在FTP中常遇到两个概念: 下载和上传 &quo ...

  2. linux dhcp 绑定mac地址,●DHCP协议的功能是 (58) 。在Linux中提供DHCP服务的程序是 (59) ;DHCP服务将主机的MAC地址和IP地 - 赏学吧...

    ●DHCP协议的功能是 (58) .在Linux中提供DHCP服务的程序是 (59) :DHCP服务将主机的MAC地址和IP地址绑定在一起的方法是在 (60) 文件中添加"host主机名{h ...

  3. linux 查询dhcp服务,查找局域网中的DHCP服务器

    某天,在xenserver中的某一台主机启动后发现IP地址是DHCP获得的,但是网段却是我从没有配置过的.想了很久都不记得自己曾经架过这么一台DHCP服务器.我要做的就是揪出它,看看是哪台机器在提供D ...

  4. CentOS 搭建 Vsftpd 服务,一次性成功,收藏了!

    点击下方"民工哥技术之路",选择"设为星标" 回复"1024"获取独家整理的学习资料! 文件传输协议 FTP 文件传输协议(FTP)是一种基 ...

  5. Centos搭建ARK服务器之路

    最近ark打折,买了之后和小伙伴准备一起搭建服务器来玩,然后就查了下资料,因为本人服务器是centos的 利用剩余空间弄了个服务器,然后发现,ark服务器真耗内存啊-- 然后实在看不懂的,本人的服务器 ...

  6. CentOS搭建云服务平台

    原文博客:Doi技术团队 链接地址:https://blog.doiduoyi.com/authors/1584446358138 初心:记录优秀的Doi技术团队学习经历 目录 文章目录 目录 前言 ...

  7. 基于Linux CentOS搭建FTP服务

    vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器.vsftpd支持匿名访问和本地用户模式两种访问方式.匿名访问方式任何用户都可以访问搭建的F ...

  8. CentOS搭建Open服务(集成openldap认证)

    1.安装openvpn 和easy-rsa(该包用来制作ca证书) (1)安装epel 仓库源 wget http://dl.fedoraproject.org/pub/epel/6/i386/epe ...

  9. centos搭建rsync服务!

    为什么80%的码农都做不了架构师?>>>    rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部 ...

  10. centos搭建git服务

    一.服务器 yum -y install git git init --bare test.git cd test.git pwd //打印当前目录,假设是:/home/root/git/test.g ...

最新文章

  1. C++派生类与基类构造函数调用次序
  2. Spring Boot集成持久化Quartz定时任务管理
  3. 【Linux高频命令专题(24)】grep
  4. 【POJ 2485】 Highways
  5. 两个datatable之间的复制
  6. Android中ExpandableListView控件基本使用
  7. api-hook,更轻量的接口测试工具
  8. php弹幕技术轮询,PHP实现长轮询消息实时推送功能代码
  9. i/o timeout , 希望你不要踩到这个net/http包的坑
  10. ****CentOS下安装JDK1.7
  11. 【花式】基于matlab花圣诞树【含Matlab源码 001期】
  12. 爱与光 android4.0学习
  13. c语言符合语法规定的常量,以下各项中,符合C语言语法规定的实型常量是() 答案:.5E-3...
  14. Xweibo:新浪云微博服务 - 新浪开源微博系统
  15. Fastjson源码阅读:缺陷静态检查(上)
  16. pythonlambda多行_Python中通过lambda抛异常的奇迹淫巧
  17. matlab中@的用法
  18. SAP 固定资产折旧 计算方法
  19. 签张回执单 保险合同就生效?
  20. 简单介绍会计师事务所

热门文章

  1. 正则表达式, email格式验证,邮箱地址验证
  2. 天才小毒妃 第943章 小东西很努力
  3. Kettle spoon 工具实战分享
  4. 从代码和底层探究Synchronized锁实现
  5. 带你了解二进制(基础篇)
  6. Excel加密07版本及03版本
  7. Edge浏览器设置网速限制
  8. 服务器操作系统有哪些?
  9. 深度 | 苹果略胜微软一筹,为什么说 ARKit 是 AR 的最好选择?
  10. 系统运维工程师的法宝:python paramiko