DHCP动态管理主机地址

学习总结所用《 Linux就该这么学 》

动态主机地址管理协议

  • 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议

  • 主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中

  • 主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数

  • 简单来说,DHCP协议就是让局域网中的主机自动获得网络参数的服务

  • DHCP涉及的常见术语:

    作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数

    超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表

    排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端

    地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围

    租约:DHCP客户端能够使用动态分配的IP地址的时间

    预约:保证网络中的特定设备总是获取到相同的IP地址

部署dhcpd服务程序

  1. 安装dhcpd服务程序

    # yum install dhcp
    
  2. 查看dhcpd服务程序的配置文件内容

    # vim /etc/dhcp/dhcpd.conf
    #
    # DHCP Server Configuration file.
    #   see /usr/share/doc/dhcp*/dhcpd.conf.example
    #   see dhcpd.conf(5) man page
    #
    

dhcpd服务常见参数以及作用

参数作用
ddns-update-style 类型定义DNS服务动态更新的类型,
类型包括: none(不支持动态更新)、
interim(互动更新模式)与ad-hoc(特殊更新模式)
allow/ignore client-updates允许/忽略客户端更新DNS记录
default-lease-time 21600默认超时时间
max-lease-time 43200最大超时时间
option domain-name-servers 8.8.8.8定义DNS服务器地址
option domain-name “domain.org”定义DNS域名
range定义用于分配的IP地址池
option subnet-mask定义客户端的子网掩码
option routers定义客户端的网关地址
broadcast-address 广播地址定义客户端的广播地址
ntp-server IP地址定义客户端的网络时间服务器(NTP)
nis-servers IP地址定义客户端的NIS域服务器的地址
hardware 硬件类型 MAC地址指定网卡接口的类型与MAC地址
server-name 主机名向DHCP客户端通知DHCP服务器的主机名
fixed-address IP地址将某个固定的IP地址分配给指定主机
time-offset 偏移差指定客户端与格林尼治时间的偏移差

自动管理IP地址

  1. 配置dhcpd服务程序

    # vim /etc/dhcp/dhcpd.conf
    ddns-update-style none; #设置DNS服务不自动进行动态更新
    ignore client-updates; #忽略客户端更新DNS记录
    subnet 192.168.40.0 netmask 255.255.255.0 { #作用域为192.168.40.0/24网段
            range 192.168.40.50 192.168.40.100; #IP地址池为192.168.40.50-100
            option subnet-mask 255.255.255.0; #客户端默认子网掩码
            option routers 192.168.40.1; #客户端的网关地址
            option domain-name "zengzhilai.com"; #默认搜索域
            option domain-name-servers 192.168.40.1; #客户端的DNS地址
            default-lease-time 21600; #默认租约时间(单位:s)
            max-lease-time 43200; #最大预约时间
    }
    
  2. 启动dhcpd服务,并加入开机启动项

    # systemctl start dhcpd
    # systemctl enable dhcpd
    ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
    
  3. Linux客户机测试

    Linux客户机先虚拟网络编辑设置,去掉下图的功能,避免与自己配置的dhcpd服务程序产生冲突

    01 禁止本地DHCP分配IP地址给虚拟机

    客户机 Linux6.8 重启网络服务,查看此时的IP地址

    # service network restart
    正在关闭接口 eth0:                                        [确定]
    关闭环回接口:                                             [确定]
    弹出环回接口:                                             [确定]
    弹出界面 eth0: 
    正在决定 eth0 的 IP 信息...完成。
                                                               [确定]
    # ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:50:56:3E:86:08  
              inet addr:192.168.40.50  Bcast:192.168.40.255  Mask:255.255.255.0
              inet6 addr: fe80::250:56ff:fe3e:8608/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:828 errors:0 dropped:0 overruns:0 frame:0
              TX packets:249 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:58920 (57.5 KiB)  TX bytes:23319 (22.7 KiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:256 errors:0 dropped:0 overruns:0 frame:0
              TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:28791 (28.1 KiB)  TX bytes:28791 (28.1 KiB)
    
  4. Window10客户端测试

    禁用WLAN、以太网

    02 禁用WLAN和以太网
    重启(即禁用再启用)VMware Network Adapter VMnet8

    在CMD中输入ipconfig/all查看网络信息

    C:\Users\zengzhilai>ipconfig/all
    ......
    以太网适配器 VMware Network Adapter VMnet8:
    
       连接特定的 DNS 后缀 . . . . . . . : zengzhilai.com
       描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
       物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08
       DHCP 已启用 . . . . . . . . . . . : 是
       自动配置已启用. . . . . . . . . . : 是
       本地链接 IPv6 地址. . . . . . . . : fe80::f43d:45b2:8490:738e%14(首选)
       IPv4 地址 . . . . . . . . . . . . : 192.168.40.51(首选)
       子网掩码  . . . . . . . . . . . . : 255.255.255.0
       获得租约的时间  . . . . . . . . . : 20199103:10:56
       租约过期的时间  . . . . . . . . . : 20199109:10:56
       默认网关. . . . . . . . . . . . . : 192.168.40.1
       DHCP 服务器 . . . . . . . . . . . : 192.168.40.131
       DHCPv6 IAID . . . . . . . . . . . : 251678806
       DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-24-DB-67-0F-74-C6-3B-9A-E7-E9
       DNS 服务器  . . . . . . . . . . . : 192.168.40.1
       TCPIP 上的 NetBIOS  . . . . . . . : 已启用
    
  5. 查看租约数据库/var/lib/dhcpd/dhcpd.leases

    # cat /var/lib/dhcpd/dhcpd.leases
    # The format of this file is documented in the dhcpd.leases(5) manual page.
    # This lease file was written by isc-dhcp-4.2.5
    
    server-duid "\000\001\000\001%\011UV\000\014)J \342";
    
    lease 192.168.40.50 {
      starts 1 2019/09/09 19:00:58;
      ends 2 2019/09/10 01:00:58;
      cltt 1 2019/09/09 19:00:58;
      binding state active;
      next binding state free;
      rewind binding state free;
      hardware ethernet 00:50:56:3e:86:08;
    }
    lease 192.168.40.51 {
      starts 1 2019/09/09 19:10:56;
      ends 2 2019/09/10 01:10:56;
      cltt 1 2019/09/09 19:10:56;
      binding state active;
      next binding state free;
      rewind binding state free;
      hardware ethernet 00:50:56:c0:00:08;
      uid "\001\000PV\300\000\010";
      client-hostname "LAPTOP-VFVIEPCS";
    }
    

分配固定IP地址

  1. 获取boss主机的MAC地址

    先启动dhcpd服务程序,为boss的主机分配一个IP地址,然后查看DHCP服务器本地的日志文件(保存这次的IP地址分配记录),获取主机的MAC地址

    # tail -f /var/log/messages
    Sep 10 21:47:36 localhost dhcpd: DHCPOFFER on 192.168.40.51 to 00:50:56:c0:00:08 (LAPTOP-VFVIEPCS) via eno16777728
    Sep 10 21:47:37 localhost dhcpd: DHCPREQUEST for 192.168.40.51 (192.168.40.131) from 00:50:56:c0:00:08 (LAPTOP-VFVIEPCS) via eno16777728
    Sep 10 21:47:37 localhost dhcpd: DHCPACK on 192.168.40.51 to 00:50:56:c0:00:08 (LAPTOP-VFVIEPCS) via eno16777728
    Sep 10 21:47:38 localhost kernel: e1000: eno16777728 NIC Link is Down
    Sep 10 21:47:38 localhost NetworkManager[1227]: <info> (eno16777728): link disconnected (deferring action for 4 seconds)
    Sep 10 21:47:42 localhost NetworkManager[1227]: <info> (eno16777728): link disconnected (calling deferred action)
    Sep 10 21:47:44 localhost kernel: e1000: eno16777728 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
    Sep 10 21:47:44 localhost NetworkManager[1227]: <info> (eno16777728): link connected
    Sep 10 21:50:01 localhost systemd: Starting Session 31 of user root.
    Sep 10 21:50:01 localhost systemd: Started Session 31 of user root.
    
    
    
  2. 配置dhcpd服务文件

    # vim /etc/dhcp/dhcpd.conf
    ddns-update-style none;
    ignore client-updates;
    subnet 192.168.40.0 netmask 255.255.255.0 {
            range 192.168.40.50 192.168.40.100;
            option subnet-mask 255.255.255.0;
            option routers 192.168.40.1;
            option domain-name "zengzhilai.com";
            option domain-name-servers 192.168.40.1;
            default-lease-time 21600;
            max-lease-time 43200;
            #主机分配固定IP地址
            host boss { #boss是主机名(随意取)
                    hardware ethernet 00:50:56:c0:00:08; #主机的MAC地址
                    fixed-address 192.168.40.88; #欲指定的IP地址
            }
    }
    
  3. 查看boss主机的IP地址

    03 客户端网络信息

注意:有时候dhcpd服务启动没报错不代表配置参数没错,下面的出错点在hardware ehternet这里,很明显拼错单词了,应该是ethernet

04 DHCP配置错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值