CentOS配置DHCP服务器

知识储备

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目录下

1 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

启动服务

1 systemctl start dhcp

查看状态和监听端口

systemctl status dhcp

ss -unlp

netstat -unlp

监听端口

    67/udp

DHCP Client 守护进程获取地址

单台主机上只能启动一次

dhcpclient -d

netstat -unlp

监听端口

    68/udp

查看dhcp分配情况

1 cat /var/lib/dhcpd/dhcpd.leases
原文地址:https://www.cnblogs.com/cq146637/p/8724503.html