知识储备

bootp (boot protocol)

  早前用于无盘工作站,dhcp的前身

  IP初次分配完成,以后固定mac和IP绑定关系

dhcp基础

获取IP步骤

step1:

    Client dhcp discover 发现DHCP服务器

step2:

    Server dhcp offer 发送给客户端,携带IP/MASK GATEWAY

step3:

    Client 响应最先收到的dhcp offer (因为局域网中可能存在多台DHCP服务器)

    Client dhcp request 如果地址合法没有冲突则发送广播请求DHCP服务器资源

    Client 地址冲突则拒绝

step4:

    Server dhcp ack 回复客户端

租约:一般获取到的IP地址的使用时间为2个小时,如果不满足2个小时的使用时间,那么过1个小时后就必须要再次续约

step1:

    Client dhcp request 单播

step2:

    地址池中有该可用地址

    Server dhcp ack 单播

    否则 Server dhcp nack 单播

跨路由器请求DHCP服务器

中间路由器开启中继功能,能接收dhcp discaover请求,并单播发送给另一个网络的DHCP服务器

step1:

    Client dhcp discover

step2:

    Router 单播发送给DHCP服务器

step3:

    Server 单播回应路由器

step4:

    Router 回应Client

DHCP软件包

安装

  重量级软件包 yum install dhcp

  轻量级软件包 yum install dnsmasq

文件详解

/etc/dhcp/dhcpd.conf  IPV4 DHCP Configuration

/etc/dhcp/dhcpd6.conf IPV6 DHCP Configuration

/usr/sbin/dhcpd DHCP 服务器 守护进程 不能同时提供IPV4和IPV6服务,需要做特别配置

    服务配置文件 CentOS7 

        /usr/lib/systemd/system/dhcpd.service

        /usr/lib/systemd/system/dhcpd6.service

    服务配置文件 CentOS5.6

        /etc/rc.d/init.d/dhcpd

        /etc/rc.d/init.d/dhcpd6

/usr/sbin/dhcrelay DHCP 中继服务器 守护进程 不能喝dhcpd同时启动

    服务配置文件 CentOS7 

        /usr/lib/systemd/system/dhcrelay.service

    服务配置文件 CentOS5.6

        /etc/rc.d/init.d/dhcprelay

DHCP服务配置

查看主配置文件

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#

负责模板文件到/etc/dhcp目录下

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

配置文件详解

全局分配配置

    指明除地址外的其它分配属性,它可以定义在全局也能定义在子网、主机中

        option domain-name "example.org";  # 默认搜索域,当域名没有给全时,自动补充搜索域

        option domain-name-servers ns1.example.org, ns2.example.org;  # 指定DNS服务器

        # 不想使用DHCP服务器给定的DNS可以在网卡配置中指定PEERDNS=no

    租约时长配置

        default-lease-time 600;

        max-lease-time 7200;

子网分配配置

    必须先配置本网络的DHCP服务

        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";
} 其它配置选项 group {
filename "Xncd19r"; # 通常是一个TFTPserver
next-server ncd-booter;
} filename 指明引导文件路径 next-server IP_ADDR 指定加载引导文件的服务器IP

启动服务

 systemctl start dhcp

查看状态和监听端口

systemctl status dhcp

ss -unlp

netstat -unlp

监听端口

    67/udp

DHCP Client 守护进程获取地址

单台主机上只能启动一次

dhcpclient -d

netstat -unlp

监听端口

    68/udp

查看dhcp分配情况

 cat /var/lib/dhcpd/dhcpd.leases

CentOS配置DHCP服务器的更多相关文章

  1. 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)

    环境如下:        (参考之前,保证二个子网可以互相ping通) 虚拟机vm1        192.168.170.3                    VMnet8 (NAT模式) 虚拟 ...

  2. Linux配置DHCP服务器,DHCP中继配置

    配置dhcp服务器 第一步:配置网卡 第二步: 安装dhcp (需要先构建yum仓库,构建yum仓库的方法在之前的博客里有) 编写dhcp.conf文件 进去以后会出现这个内容 需要执行下面的内容将内 ...

  3. 烂泥:centos安装及配置DHCP服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...

  4. 解决Centos 7 dhcp服务器-no subnet declaration for start (no IPV4 addresses.)

    上面的配置是hyper-v 安装的 centos 7.0 安装dhcp 服务器的方法是 yum install dhcpd 在安装和配置好后,运行的时候出现错误 错误提示如下: no subnet d ...

  5. Ubuntu Linux 学习篇 配置DHCP服务器

    isc-dhcp-server 动态主机配置协议是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码.首先, DHCP服务器必须是 ...

  6. 安装与基本配置DHCP服务器

    一,安装DHCP服务器角色 1,打开[开始]→[管理工具]→[服务器管理器]→"仪表板"选项的[添加角色和功能],持续单机[下一步]按钮, 直至出现下图所示的"选择服务器 ...

  7. Linux配置dhcp服务器

    一.安装dhcp软件 yum -y install dhcp 二.配置 dhcp 主配置文件 /etc/dhcp/dhcpd.conf ns-update-style interim; log-fac ...

  8. linux下安装配置DHCP服务器

    前提是已经安装了 core 及 base 两个组 1 2 3 4 5 # cat /etc/redhat-release   Red Hat Enterprise Linux Server relea ...

  9. centos 配置NFS服务器

    转载:http://boloveyo.blog.163.com/blog/static/203926187201232383956558/ 系统是CentOS5.6,假设NFS Server IP为1 ...

随机推荐

  1. PE基础2

    PE课程002 怎么找到Nt头? (PIMAGE_NT_HEADER)(DOS.e_lfanew + (DWORD)m_pBuff) 怎么找到第一个区段表? 区段头位置 = pNt + 4 + 文件头的 ...

  2. MATLAB——解数独

    数独 数独是一种逻辑游戏,玩家需要根据9x9盘面的已知数字,推理出剩余所有空格的数字,并满足每一行.每一列和每个粗线宫(3x3)内均含1~9,不重复. MATLAB中有关函数 M = dlmread( ...

  3. CPP-基础:关于内存分配

    1:c中的malloc和c++中的new有什么区别 (1)new.delete 是操作符,可以重载,只能在C++中使用.(2)malloc.free是函数,可以覆盖,C.C++中都可以使用.(3)ne ...

  4. Bootstrap历练实例:导航中的表单

    Bootstrap历练实例:导航中的表单,它是使用class.navbar-form类,这确保了表单适当的垂直对齐和在较窄的视口中折叠的行为,使用这个对齐方式选项来决定导航栏中的内容放置在哪里. 实例 ...

  5. sscanf的使用

    sscanf的使用 语法 int ssanf(const char *buffer, const char *format,[argument]...); 参数 buffer 存储的数据 format ...

  6. Kafka创建&查看topic,生产&消费指定topic消息

    启动zookeeper和Kafka之后,进入kafka目录(安装/启动kafka参考前面一章:https://www.cnblogs.com/cici20166/p/9425613.html) 1.创 ...

  7. 【php】【运算符】位移运算符

    位运算符 &,|,!,^,<<,>> ···<<···左移一位值乘以2 ···>>···右移一位值除以2 超过总位数都会变为0 正负值移位运算符 ...

  8. js 类型之间的相互转化

    设置元素对象属性 var img = document.querySelector("img") img.setAttribute("src","ht ...

  9. Linux服务器硬件设备信息查看

    一.cpu信息 cpu信息存储在/proc文件系统的cpuinfo(/proc/cpuinfo)文件里,可以直接查看这个文件以获得cpu信息,所列字段解释如下: processor : 核心编号,如: ...

  10. js request学习

    SP的内置对象在JSP页面中无须声明就可以直接使用,其内置对象常用的有Request,response,session,application,out,config,pageCOntext reque ...