Linux学习笔记--DHCP

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

DHCPv6(RFC 3315)IPv6使用
DHCPv4(RFC 2131)IPv4使用
本文主要介绍DHCPv4
DHCP是一种客户/服务器协议,它主要为客户端指定配置信息(IP 地址、子网掩码、网关IP、DNS IP)。DHCP的设计基于早期Internet 引导程序协议 (BOOTP 【RFC 0951】)。BOOT只为客户端提供有限的配置信息,并且没有提供一种机制来支持改变以提供的信息。DHCP使用租用的概念来扩展BOOTP,并且可提供主机操作所需的所有信息。租用允许客户使用一个商量的时间来配置信息。客户端可向DHCP服务器请求续订租约,并继续操作。客户端UDP 68,服务端 UDP 67。
DHCP 由两个部分组成:地址管理和配置数据交付
地址管理 地址分配和配置数据交互 (自动 动态 手动)
DHCP服务程序常见术语
作用域:一个完整的ip地址段,DHCP服务根据作用域来管理网路的分布、分配ip地址及其他配置参数
地址池: 专门为DHCP用途而分配的一个连续的ip地址范围
租用期:分配给客户的地址只在一段特定时间内有效
预约:保证局域子网中特定设备总是获取到相同的ip地址

DHCP和BOOTP报文格式

DHCP扩展了BOOTP。DHCP消息格式的定义采用扩展BOOTP的方式,以保持两种协议的兼容性,这样即使在没用安装DHCP服务器的网路中,BOOTP客户机仍然可以使用DHCP服务器和BOOTP中继代理支持DHCP服务。
在这里插入图片描述
报文详解

OP标识消息是请求(1)应答(2)
Htype硬件地址类型(以太网 1)
Hlen表示硬件地址长度单位字节(以太网 6)
Hops保存消息传输过程中中继次数,消息发送方将将该值设置为0
Xid是由客户端选择的一个随机数,服务端需要将它复制到响应中。用于应答与请求的匹配
Secs由客户端产生记录客户端获得ip或续租ip的时间
Flags此字段在BOOTP中保留未用,在DHCP中表示标志字段 只有标志字段的最高位才有意义,其余的位均被置为0。最左边的字段被解释为广播响应标志位,内容如下所示: • 0:客户端请求服务器以单播形式发送响应报文• 1:客户端请求服务器以广播形式发送响应报文
ciaddr如果客户处于BOUND、RENEW或REBINDING状态和回应arp请求时,填写客户ip地址
Yiaddr‘你’(客户)ip
Siaddr下一个服务端ip地址用于BOOTP;服务端返回 DHCPOFFER,DHCPACK
GiaddrDHCP中继IP
Chaddr客户硬件地址(以太网中mac地址)
Sname可选的服务器主机名,以0的字符串结尾
File客户端启动配置文件名由dhcp服务端填写
Option选项参数长度可变,用于区分DHCP消息和传统BOOTP消息

常见选项
在这里插入图片描述
DHCP消息数据类型

选项值消息数据包名称使用
1DHCPDISCOVER客户端广播给局域网内可用的服务端
2DHCPOFFER服务端给客户端发送DHCPOFFER(内有配置参数)相应DHCPDISCOVER
3DHCPREQUESTDHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的Request请求报文,通告选择的服务器,希望获得所分配的IP地址。另外,DHCP客户端在成功获取IP地址后,在地址使用租期达到50%时,会向DHCP服务器发送单播Request请求报文请求续延租约,如果没有收到ACK报文,在租期达到87.5%时,会再次发送广播的Request请求报文以请求续延租约。
4DHCPACK与DHCPOFFER报文相似。但客户端的FQDN选项包括在内。
5DHCPNAK服务端向客户端发送,客户端索要ip地址不正确(客户端移动到新的网路内)或客户端租期失效
6DHCPDECLINE客户端向服务端指出已有可用ip地址
7DHCPRELEASE客户端向服务端表示放弃ip地址和剩余的租期
8DHCPINFORM客户端向服务端请求局域网内配置信息,客户端已经连接上外部网路
9DHCPFORCERENEW详见RFC3203
10DHCPLEASEQUERY详见RFC4388
11DHCPLEASEUNASSIGNED详见RFC4388
12DHCPLEASEUNKNOWN详见RFC4388
13DHCPLEASEACTIVE详见RFC4388

DHCP过程
在这里插入图片描述

安装dhcpd程序

dhcpd程序用于提供dhcp协议服务,挂载光盘镜像,配置yum仓即可
yum install dhcp

dhcp服务程序域配置文件位置
主配置文件/etc/dhcp/dhcpd.conf
参考配置文件/usr/share/doc/dhcp*/dhcpd.conf.example
执行程序/usr/sbin/dhcpd /usr/sbin/dhcrelay
日志记录文件/var/lib/dhcpd/dhcpd.leases

配置参数

参数作用
ddns-update-style类型定义dns服务动态更新的类型 none (不支持动态更新),interim(互动更新模式)ad-hoc(特殊更新模式)
allow/ignore client-update允许/忽略客户机更新dns记录
default-lease-time默认超时时间
max-lease-time最大超时时间
option domain-name-server+ip定义dns服务器地址
option domain-name定义dns域名
range+网段定义用于分配的IP地址池
option subnet-mask定义客户机的子网掩码
option routers+ip定义客户机网关地址
broadcase-address+ip定义广播地址
ntp-server +ip定义客户机ntp
nis-server +ip定义客户的nis
hardware指定网卡接口类型域mac地址
server-nameDHCP服务端主机名
fixed-address+ip讲某个固定ip地址分配给指定主机
time-offset+时间指定客户端与格林尼治时间的偏移差

linux --DHCP服务使用实例

1单网段配置

如果是虚拟机先将两台设备网络模式调为一致
服务端配置
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.40.0 netmask 255.255.255.0 {
option routers 192.168.40.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 114.114.114.114;
range dynamic-bootp 192.168.40.200 192.168.40.254;
default-lease-time 60;
max-lease-time 60;
}
systmectl restart dhcpd
客户端
进入虚拟机网络编辑器
不使用本地dhcp服务
在这里插入图片描述
dhclient

2固定ip配置

vim /etc/dhcp/dhcpd.conf
host boss {
    hardware ethernet  要绑定客户端的mac地址;
   fixed-address 要绑定的ip地址;
}
host ns2 {
      hardware ethernet 要绑定客户端的mac地址;
      fixed-address 要绑定的ip地址;
}

参考文献:
1.[ tcp/ip 详解卷一](第二版)
2.RFC 2131 2132
3.《linux就该这样学》

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值