使用dhcp动态管理主机地址

1 介绍:dynamic host configuration protocl 协议用于让被管理的局域网主机自动获取到地址池中的网络参数,包括地址,掩码,网关,dns等参数,好处一大堆吧,就是自动不用管理,几个需要了解的词:

¾ 作用域:一个完整的 IP 地址段, DHCP 协议根据作用域来管理网络的分布、分配 IP
地址及其他配置参数。
¾ 超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含
了可以统一管理的作用域列表。
¾ 排除范围:把作用域中的某些 IP 地址排除,确保这些 IP 地址不会分配给 DHCP
客户端。
¾ 地址池 在定义了DHCP的作用域并应用了排除范围后, 剩余的用来动态分配给DHCP
客户端的 IP 地址范围。
¾ 租约 DHCP 客户端能够使用动态分配的 IP 地址的时间。
¾ 预约:保证网络中的特定设备总是获取到相同的 IP 地址。

2 部署:

2.1 安装: yum install dhcp-server

守护进程: systemctl status dhcpd

配置文件: cat /etc/dhcp/dhcpd.conf,客户端和服务端的配置文件都有,我们先看这个服务端,默认里面是三行注释,没有正文。但是提示去看see /usr/share/doc/dhcp-server/dhcpd.conf.example,可以看到一个标准的配置文件包括,【全局配置参数,子网网段声明,地址配置选项以及地址配置参数】,常用参数介绍如下20201111 dhcp局域网指定设备固定ip其他设备动态分配

3 配置服务

3.1 准备工作:地址池作为实际可以分配的地址区间,要小于作用域,由于我们是虚拟机做实验,所以先关闭vmware提供的dhcp服务20201111 dhcp局域网指定设备固定ip其他设备动态分配启动客户机做准备

3.2 从例子中复制一段来更新配置文件 vim /etc/dhcp/dhcpd.conf

# 全局配置

ddns-update-style none; # dns不自动更新域名映射

ignore client-updates;  # 忽略客户端更新dns记录

# 子网配置

subnet 192.168.88.0 netmask 255.255.255.0 {   # 作用域

  range 192.168.88.20 192.168.88.30;  # 地址池

  option domain-name-servers 192.168.88.11; # 客户端的dns

  option domain-name "www.lipengchao.com"; # 默认搜索域

  option routers 192.168.88.11;  # 网关

  default-lease-time 600;   # 默认一次租赁时间秒

  max-lease-time 7200;      # 最大租赁时间,如果不续租超过最大时间就会被回收

}

3.3 启动服务进行测试,可以看到端口使用了udp 67

[[email protected] ~]# systemctl start dhcpd

20201111 dhcp局域网指定设备固定ip其他设备动态分配

 

找到我们的客户端,就是在一个网段即可

然后把我们默认的dhcp配置恢复,mv ifcfg-ens33_bak ifcfg-ens33

重启网卡:nmcli connection up ens33 已经变成了我们设定的范围

20201111 dhcp局域网指定设备固定ip其他设备动态分配

这样理解的话,我感觉就是说一个局域网只要有一个dhcp服务,那么网段内只要是dhcp模式的网卡都会从这里获取地地址,那么如果是有两台服务,那么会获取谁的?

如果想要知道哪些主机获取过地址,cat /var/log/message 最后几行会记录,比如:

Nov 11 08:20:58 www dhcpd[3301]: Server starting service.

Nov 11 08:32:18 www dhcpd[3301]: DHCPDISCOVER from 00:0c:29:54:cc:4a via bond0

Nov 11 08:32:19 www dhcpd[3301]: DHCPOFFER on 192.168.88.100 to 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:32:19 www dhcpd[3301]: DHCPREQUEST for 192.168.88.100 (192.168.88.11) from 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:32:19 www dhcpd[3301]: DHCPACK on 192.168.88.100 to 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:32:19 www dhcpd[3301]: DHCPREQUEST for 192.168.88.100 (192.168.88.11) from 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:32:19 www dhcpd[3301]: DHCPACK on 192.168.88.100 to 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:36:45 www dhcpd[3301]: DHCPREQUEST for 192.168.88.100 from 00:0c:29:54:cc:4a (ogg_src1) via bond0

Nov 11 08:36:45 www dhcpd[3301]: DHCPACK on 192.168.88.100 to 00:0c:29:54:cc:4a (ogg_src1) via bond0

 

仅主机模式下,如果客户端是dhcp 但是没有一个提供dhcp服务的主机,则无法启动网卡

 

4 针对特殊设备固定ip 其他设备动态获取

原理就是将地址和网卡mac绑定,ether 后面的标记,我们从刚才两个随便挑一个出来

20201111 dhcp局域网指定设备固定ip其他设备动态分配

或者windows的适配器属性同样可以看到

如果想要在服务端看,可以参考刚才那段日志,每一个地址分配都会记录两天一条是请求,另一条是ack确认,一样的,找到之后,我们去修改服务配置文件,需要的两个参数,查看服务或者日志都有,一个是名称,一个是mac,下面这个配置参数没问题,但是最后没有加分号;所以无法启动,

20201111 dhcp局域网指定设备固定ip其他设备动态分配

增加分号后正常启动,当续租时间到或者是重启服务之后,再去查看客户端,地址已经更改成指定的,完整配置

 

# 全局配置
 ddns-update-style none; # dns不自动更新
 ignore client-updates;  # 忽略客户端更新dns记录
# 子网配置
 subnet 192.168.88.0 netmask 255.255.255.0 {   # 作用域
      range 192.168.88.100 192.168.88.200;  # 地址池
         option domain-name-servers 192.168.88.11; # 客户端的dns
           option domain-name "www.lipengchao.com"; # 默认搜索域
        option routers 192.168.88.11;  # 网关
        default-lease-time 600;   # 默认租赁时间秒
        max-lease-time 7200;      # 最大租赁时间
    # 固定ip指定部分
    host ogg_src1 {
    hardware ethernet 00:0c:29:54:cc:4a;
    fixed-address 192.168.88.110;
       }

 }

 

相关文章: