云计算百科
云计算领域专业知识百科平台

DHCP 服务器

DHCP 服务器

DHCP 服务介绍

在大型网络中,系统静态分配IP地址面临问题:

  • 确保不要同时在多个系统上使用同一个地址。

  • 部署新系统通常需要手动分配其IP地址。在云环境中,实例的网络是自动化配置的。

  • 动态主机配置协议(DHCP-Dynamic Host Configuration Protocol)提供了一种自动配置网络参 数的方法,例如IP地址,默认网关,DNS服务器和域或NTP服务器。在网络中部署DHCP服务器, 您可以集中控制这些参数。

    DHCP 通信过程

  • 客户端使用DHCPv4配置网络接口时,网卡将 DHCPDISCOVER 数据包发送到 255.255.255.255 广播目标。因为路由器通常不转发该广播地址,所以必须将DHCP服务器 与客户端安装在同一物理网络上,以便它可以接收DHCPDISCOVER数据包。您也可以将路由 器配置为DHCP中继代理,转发DHCP消息到其他网络。

  • DHCP服务器收到 DHCPDISCOVER 数据包后,响应 DHCPOFFER 数据包,该数据包包含其 自己的IP地址和客户端应使用的IP地址。该数据包还包括一个租用期限,以指示所提供的IP 地址有效的时间,以及其他网络参数,例如默认网关和DNS服务器。

  • 客户端收到DHCP服务器 DHCPOFFER 数据包后,发送 DHCPREQUEST 广播数据包,请求 DHCP服务器提供的IP地址。这似乎很多余,但是网络上可能有多个DHCP服务器,或者路由 器可能会将DHCPOFFER转发到多个网络。因此,客户端可能会从不同的DHCP服务器收到响 应。客户端的DHCPREQUEST数据包包括接受请求的DHCP服务器的IP地址。

  • DHCP服务器收到DHCPREQUEST数据包后,会发送 DHCPACK 数据包,确认客户端对客户 端IP地址具有独占权限,直到租约到期为止。

  • 在DHCP服务器上,可以使用 journalctl –unit= dhcpd.service 命令来访问客户端与服务端 通信消息。 以下摘录显示了客户端通过DHCP请求IP地址。

    DHCPDISCOVER from 00:0c:29:26:13:b5 via eth0
    DHCPOFFER on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0
    DHCPREQUEST for 10.1.8.101 (10.1.8.2) from 00:0c:29:26:13:b5 (hosta) via
    eth0
    DHCPACK on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0

    在租约到期之前,客户端会定期向服务器发送 DHCPREQUEST 数据包,以确保服务器不会收回 IP地址。

    部署 DHCP 服务器

    要配置DHCPv4服务器,请首先使用 ip addr 命令确认您的网络接口配置是否指定了 BROADCAST地址。

    2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
    state UP group default qlen 1000
    link/ether 00:0c:29:e5:be:0f brd ff:ff:ff:ff:ff:ff
    inet 10.1.8.10/24 brd 10.1.8.255 scope global ens160
    valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee5:be0f/64 scope link
    valid_lft forever preferred_lft forever

    服务器必须具有静态IP地址。

    安装 DHCP 软件

    # 安装软件包
    [root@server ~]# yum install -y dhcp
    # 配置防火墙,放行dhcp服务
    [root@server ~]# firewall-cmd –add-service=dhcp
    [root@server ~]# firewall-cmd –add-service=dhcp –permanent

    配置 DHCP 服务器

    dhcpd服务使用 /etc/dhcp/dhcpd.conf 配置文件。 dhcp软件包提供/usr/share/doc/dhcp- */dhcpd.conf.example 配置文件示例。

    [root@server ~]# /bin/cp /usr/share/doc/dhcp-*/dhcpd.conf.example
    /etc/dhcp/dhcpd.conf
    [root@server ~]# vim /etc/dhcp/dhcpd.conf

    典型的DHCP配置示例:

    subnet 10.1.8.0 netmask 255.255.255.0 {
    range 10.1.8.101 10.1.8.130;
    option domain-name-servers 223.5.5.5;
    option domain-name "laoma.cloud";
    option routers 10.1.8.2;
    option broadcast-address 10.1.8.255;
    default-lease-time 600;
    max-lease-time 7200;
    }

    配置说明:

    authoritative,指示服务器对其所管理的子网具有权威性。 subnet,提供的子网详。 range,指定服务器在该范围内分配IP地址。 option routers,指定服务器提供默认网关地址。 option domain-name-servers,指定服务器提供DNS名称服务器。 option domain-search,指定服务器提供DNS域搜索列表。 default-lease-time,提供网络信息默认租期,如果客户端不要求任何特定的租期。单位 秒。 max-lease-time,指示服务器可以从客户端请求接受的最大租期。单位秒。 客户端系统上的NetworkManager使用domain-name-servers和domain-search更新 resolv.conf文件中的nameserver和search参数。

    验证 DHCP 配置

    # 验证配置文件语法
    [root@server ~]# dhcpd -t
    Internet Systems Consortium DHCP Server 4.2.5
    Copyright 2004-2013 Internet Systems Consortium.
    All rights reserved.
    For info, please visit https://www.isc.org/software/dhcp/
    Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were
    not specified in the config file

    启用并启动服务

    # 启用并启动服务
    [root@server ~]# systemctl enable dhcpd –now
    # 查看服务状态
    [root@server ~]# systemctl status dhcpd

    配置 DHCP 客户端

    # 添加一个自动获取ip连接,假设网卡设备名为ens192
    [root@client ~]# nmcli connection add con-name dynamic type ethernet
    ifname ens192
    [root@client ~]# nmcli connection up dynamic
    # 验证
    [root@client ~]# ip addr show ens192
    3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
    group default qlen 1000
    link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 10.1.8.101/24 brd 10.1.8.255 scope global dynamic
    noprefixroute ens192
    valid_lft 597sec preferred_lft 597sec
    inet6 fe80::95db:2216:1a36:615/64 scope link noprefixroute
    valid_lft forever preferred_lft forever

    基于 MAC 地址预留IP地址

    在配置文件中,host声明可以将MAC地址绑定到IP地址。 此配置对于始终为特定系统的网络接口 提供相同的IP地址特别有用,尤其是Web或数据库系统之类的服务器。 客户端MAC地址查看

    [root@client ~]# ip link show ens192
    3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
    mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
    altname enp11s0

    在以下示例中,服务器始终为MAC地址是 00:0c:29:26:13:b5 的系统分配10.1.8.20地址。 在 /etc/dhcp/dhcpd.conf 最后添加如下内容:

    host client.laoma.cloud {
    hardware ethernet 00:0c:29:26:13:b5;
    fixed-address 10.1.8.30;
    }

    重启服务

    [root@server ~]# systemctl restart dhcpd

    客户端验证

    # 激活连接
    [root@client ~]# nmcli connection up dynamic
    # 验证
    [root@client ~]# ip addr show ens192
    3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
    group default qlen 1000
    link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 10.1.8.30/24 brd 10.1.8.255 scope global dynamic noprefixroute
    ens192
    valid_lft 245sec preferred_lft 245sec
    inet6 fe80::95db:2216:1a36:615/64 scope link noprefixroute
    valid_lft forever preferred_lft forever

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » DHCP 服务器
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!