[rhel6.5]DHCP分配IP地址以及保留地址

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36294875/article/details/79869642
  • DHCP:表示Dynamic Host Configuration Protocol,其前身是bootp,DHCP基于bootp来说引入了租约的概念,当使用IP的主机关机之后,那么IP地址就会被释放,并且在租约的概念上面还引入了续租的概念实现了地址的动态管理;
  • 租约的续租是在使用时间接近于一半的时间时进行续租,DHCP的报文是通过广播的方式进行的,由于路由器不转发广播报文,所以DHCP服务器应该在局域网里面进行设置;
  • DHCP协议的流程
client          ------>        DHCP服务器
DHCPDISCOVR(UDP,广播)
        <---------- DHCPOFFER
DHCPREQUEST     ----------->    
        <-----------    DHCPACK
上面的报文都是广播的
续租的过程是单播的
DHCPREQUEST -----------> 
        <-----------      DHCPACK
  • 前面的虽然说路由器不进行广播报文,所以DHCP服务器不能够提供跨物理网络的地址分配请求,但是可以将路由器配置称为DHCP的中继器,单播转发跨网络的DHCP报文,在这个过程中:
    • 1.DHCP和路由器的通信是单播的,请求主机和路由器的通信是广播的;
    • 2.DHCP提供的地址池,必须和IP在统一网段中;
    • 3.一个DHCP主机可以包含多地址池,在DHCP服务器转发非同一个网络的请求时,会通过路由器的某个接口的MAC地址进行转发,DHCP服务器可以根据MAC的信息选择一个合适的网段的IP进行分配;
  • 对于DHCP服务器来说,大多数情况下,分配的地址对于某个特定的服务器来说是特定的,这些地址成为保留地址.保留地址不使用地址池的地址,通过MAC地址来进行识别;
  • rhel6系列上面提供了DHCP RELAY功能,这个功能和DHCP服务器不能够同时使用
  • 规划

    子网的范围是172.25.23.10–>172.25.23.100/24
    默认的网关是:172.25.23.250
    广播地址是:172.25.23.255
    规划保留地址是:172.25.23.222

  • 配置DHCP服务器

  • 先说明以下这些配置文件都是什么意思
    • /var/lib/dhcpd/dhcpd.leases:表示租约,用于记录哪个地址给哪个主机使用;
    • /etc/dhcp/dhcpd.conf:DHCP的主配置文件;
    • /usr/sbin/dhcpd:用于提供主服务的程序;
    • /usr/sbin/dhcrelay:表示DHCP的中继功能,不能够和DHCP同时使用;
    • /etc/dhcp/dhcpd.conf:DHCP的主配置文件;
  • 主配置文件/etc/dhcp/dhcpd.conf里面的语法说明:

    • #ddns-update-style none:动态DNS的更新方式, DNS和主机名称的对应关系随着DHCP的分配而改变,这个用于DHCP通知DNS进行对应关系的更改;
    • subnet:表示子网;
    • routers:表示默认的网关的;
    • domain-name-servers:表示DNS服务器的地址;
    • range:表示地址池范围;
    • default-lease-time:表示默认的租约时间;
    • max-lease-time:表示最大租约时间;
  • 用于定义保留地址的说明

host passacaglia {
  hardware ethernet 0:0:c0:5d:bd:95;
  filename "vmunix.passacaglia";
  server-name "toccata.fugue.com";
}
  • DHCP服务器的配置
  • DHCP服务器的安装,这里使用rpm软件包进行安装
[root@server23 ~]# yum install dhcp -y
  • 对于配置文件,默认提供的是一个空的配置文件,需要从特定位置进行复制
[root@server23 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 
cp: overwrite `/etc/dhcp/dhcpd.conf'? y
  • 接下来需要按照规划来更改配置文件
subnet 172.25.23.0 netmask 255.255.255.0 {
  range 172.25.23.10 172.25.23.100;
  option routers 172.25.23.250;
  option broadcast-address 172.25.23.255;
  default-lease-time 600;
  max-lease-time 7200;
}
  • 上面的配置信息是没有包含保留地址的配置的,接下来启动DHCPD服务
[root@server23 ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]
  • 查看服务监听的端口
[root@server23 ~]# netstat -anulp 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
udp        0      0 0.0.0.0:67                  0.0.0.0:*                               2767/dhcpd 
  • 这里需要额外说明的是DHCPD服务器监听的是UDP/67端口,而client监听的是UDP/68端口;
  • 接下来需要另一台虚拟机来检测服务的配置是否正常
  • 首先需要更改的是IP的获得方式,一般情况下,默认是DHCP,如果以前修改为static,现在改为DHCP;
  • 然后从新启动网络服务
    这里写图片描述

这里写图片描述
* 接下来查看DHCP client是否打开UDP/68端口
这里写图片描述
* 也可以通过租约文件来查看IP地址的分配情况

[root@server23 ~]# cat /var/lib/dhcpd/dhcpd.leases
lease 172.25.23.10 {
  starts 1 2018/04/09 11:46:09;
  ends 1 2018/04/09 11:56:09;
  cltt 1 2018/04/09 11:46:09;
  binding state active;
  next binding state free;
  hardware ethernet 52:54:00:e7:89:57;
}
  • 如果分配出去额地址很多,那么这个租约文件里面的内容会十分多;
  • 接下来更改配置文件,使分配到172.25.23.10的主机重新分配IP地址,得到172.25.23.222这个地址
更改配置文件如下:
subnet 172.25.23.0 netmask 255.255.255.0 {
  range 172.25.23.10 172.25.23.100;
  option routers 172.25.23.250;
  option broadcast-address 172.25.23.255;
  default-lease-time 600;
  max-lease-time 7200;

  host newhost {
        hardware ethernet 52:54:00:e7:89:57;  //这个地址需要和你需要保留的地址一致;
        fixed-address 172.25.23.222;
  }

}
  • 接下来重新启动服务
[root@server23 ~]# service dhcpd restart
Starting dhcpd:                                            [  OK  ]
  • 接下来检测是否分配到符合期望的IP地址
    这里写图片描述
展开阅读全文

没有更多推荐了,返回首页