linux搭建DHCP服务

DHCP

Dynamic Host Configuration Protocol  动态主机配置协议

DHCP使用udp协议工作,是由bootp发展而来。

booptp:

bootp缺点:MAC与IP是静态绑定的,容易造成IP地址的浪费

而DHCP对IP地址的管理是动态的,通过租约的概念来实现

用途:

1、给内部网络或网络服务供应商自动分配IP地址、主机名、DNS服务器、域名

2、配合其他服务,如无人值守安装服务器

端口号:

dhcp-server  67

dhcp-client   68

运行原理:

client与server之间互传4个数据包

dhcp discover:DHCP客户端寻找服务器,以广播的形式发送discover消息,网络上每一台安装了TCP/IP的主机都会收到,但只有DHCP服务器才会做出响应。

dhcp offer:网络中接收到discover消息的DHCP服务器都会做出响应,它从尚未出租的IP地址中选择一个分配给客户机,即向DHCP客户端发送一个包含出租IP地址以及其他设置的offer消息。

dhcp request :此阶段为客户端选择IP地址的阶段,若有多台DHCP服务器发送了offer消息,客户机只接受第一个收到的offer消息,然后以广播的形式发送一个request消息,该消息中包含它所选定的DHCP服务器提供的IP地址。

dhcp ack :此阶段为服务器确认所提供的IP地址的阶段。被客户机接受的这台服务器向客户机发送一个ack确认消息,然后客户机将此IP与网卡绑定,同时,其他的DHCP服务器将收回之前提供的IP地址。

   目标端口 源IP 目的IP  广播的原因
dhcp discover 67  0.0.0.0 255.255.255.255 c不知道s的IP地址
dhcp offer 68 server-IP 255.255.255.255  所有s都可提供服务
dhcp request 67 0.0.0.0 255.255.255.255  c公开和哪一个s建立关系
dhcp ack  68 server-IP 255.255.255.255 同样起到公开的作用

255.255.255.255  :广播地址,所有运行了tcp/ip的主机都会收到

安装:

yum  install  dhcp

或者用rpm安装

 rpm -ivh  /run/media/root/CentOS\ 7\ x86_64/Packages/dhcp-4.2.5-42.el7.centos.x86_64.rpm

配置:

vim  /etc/dhcp/dhcpd.conf

提示让看/usr/share/doc/dhcp*/dhcpd.conf.example模板配置文件

cp dhcpd.conf dhcpd.conf.bak    #备份

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim  /etc/dhcp/dhcpd.conf

下面部分为全局配置:

下面为局部配置,优先于全局配置

subnet 192.168.10.0 netmask 255.255.255.0 {                #网络号及掩码

  range 192.168.10.100 192.168.10.200;                      #地址池

  option domain-name-servers 192.168.10.1;                #dns

  option domain-name "internal.example.org";               #域名

  option routers 192.168.10.1;                                          #网关

  option broadcast-address 192.168.10.255;                 #广播地址

  default-lease-time 600;                                                #默认租约时间

  max-lease-time 7200;                                                   #最大租约时间

}

host passacaglia {

    hardware ethernet 00:0c:29:fe:5c:c9;

    fixed-address 192.168.10.252;

}

相关概念:

作用域:可以分配IP的范围,网络号:  subnet

地址池:可分配的地址范围  : range

保留地址:指定给某个客户端分配的ip(根据Mac地址指定) :host

租约期限:

客户机除了在请求IP地址的时候发出dhcp-request外,在租约时间(default-lease-time,单位为秒)过了一半时也会向DHCP服务器发出request消息,如果此时得不到服务器的确认,客户机还可以继续使用该IP,当租约期过了87.5%时,如果还是得不到服务器的确认,客户机将向其他服务器通信,请求新的IP地址。

两个租约时间的解释:

如果客户机在使用租约的IP地址时宕机了,当时间过了default-lease-time 600秒时,服务器发现没有机器向它续约,此时服务器会将该IP地址为此客户机保留max-lease-time  7200秒,在此期间不会分配给其他客户机,超过7200s将不再保留。

注意:

1、要将用于测试的两台主机的网卡设置改为VMnet4,防止与局域网中可能存在的dhcp服务冲突,另外,还可能导致公司局域网内的其他主机获取到我们配置的DHCP服务提供的地址,由于网关不对,人家就会上不了网。

2、服务端的IP地址要改为192.168.10的网段

3、客户端的网卡配置信息中改为dhcp  ,即 BOOTPROTO=dhcp

启动DHCP服务

systemctl srart dhcpd

在客户端重启network服务,查看ip地址是否获取到,以及网关,dns等

systemctl restart network

租约数据库文件

cat  /var/lib/dhcpd/dhcpd.leases

可以查看已分配的一些租约信息

 

如有错误,敬请指正~~

发布了28 篇原创文章 · 获赞 8 · 访问量 1万+
展开阅读全文

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

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览