Linux DHCP和DNS服务安装配置

DHCP动态主机配置协议

  DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。DHCP有3个端口,其中UDP 67和UDP 68为正常的DHCP服务端口,分别作为DHCP服务器和DHCP客户端的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做“双机热备”的。

1、DHCP功能概述
  DHCP通常被应用在局域网络环境中(有限和无线),主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:
1>. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
2>. DHCP应当可以给用户分配永久固定的IP地址。
3>. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
4>. DHCP服务器应当向现有的BOOTP客户端提供服务。
  DHCP相关概念
1>. 作用域:是指一个网络中的所有可分配的IP地址的连续范围
2>. 超级作用域:一组作用域的集合,用来实现同一个物理子网包含多个逻辑IP子网的情况
3>. 排除范围:作用域从DHCP服务中排除的有限IP序列
4>. 地址池:定义DHCP作用域并应用排除范围之后,剩余的地址在作用域内形成可用地址。地址池内的地址由DHCP服务器在网络上动态指派给DHCP客户机。
5>. 保留:通过DHCP服务器的永久地址租约指派,保留确保了子网上指定的硬件设备始终可使用相同的IP地址
6>. 租用:指DHCP客户从DHCP服务器上获得并临时占用某IP地址的过程
7>. 租约:指客户机可使用的被DHCP服务器指派的IP地址的时间长度,在这个时间范围内客户机可以使用所获得的IP地址

2、DHCP的分配机制
1>. 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
2>. 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
3>. 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

3、DHCP的工作模式
001.png
全部数据报都是以广播的方式发送的
1>. 首先,客户端发送DHCP Discover报文到DHCP服务器。
2>. 然后,服务器接收到响应后就发送DHCP Offer报文回应DHCP客户端。所有的DHCP Server都能够接收到DHCP Client发送的DHCP Discover报文,所有的DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。DHCP Offer报文中“Your(Client) IP Address”字段就是DHCP Server能够提供给DHCP Client使用的IP地址,且DHCP Server会将自己的IP地址放在“option”字段中以便DHCP Client区分不同的DHCP Server。DHCP Server在发出此报文后会存在一个已分配IP地址的纪录。
3>. 其次,DHCP客户端接收到DHCP Offer之后就会发送DHCP request到DHCP服务器。DHCP Client只能处理其中的一个DHCP Offer报文,一般的原则是DHCP Client处理最先收到的DHCP Offer报文。DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
4>. 最后,DHCP服务器响应客户端发送DHCP ack报文到客户端。DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
5>. DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。

  在使用租期超过50%时刻处,DHCP Client会以单播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址。
  在使用租期超过87.5%时刻处,DHCP Client会以广播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址,直到IP地址使用租期到期时,DHCP Client才会向DHCP Server发送DHCP Release报文来释放这个IP地址,并开始新的IP地址申请过程。

4、DHCP中继代理
  DHCPRelay叫做DHCP中继代理。DHCP中继代理,就是在DHCP服务器和客户端之间转发DHCP数据包。当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息。DHCP中继代理的数据转发,与通常路由转发是不同的,通常的路由转发相对来说是透明传输的,设备一般不会修改IP包内容。而DHCP中继代理接收到DHCP消息后,重新生成一个DHCP消息,然后转发出去。
  在DHCP客户端看来,DHCP中继代理就像DHCP服务器;在DHCP服务器看来,DHCP中继代理就像DHCP客户端。此外,如果想让一台DHCP服务器建立多个IP域为不同的VLAN或网络都提供DHCP服务,那么就必须要使用DHCP中继的功能。DHCP中继可以使用主机搭建,也可以通过三层交换机来设置,如下图:
002.png

5、DHCP安装配置
  安装DHCP:
1>. # yum install dhcp
或挂载CentOS安装光盘,通过RPM包安装:# rpm -ivh /mnt/Packages/dhcp-4.2.5-68.el7.centos.x86_64.rpm
2>. 修改dhcp配置
默认配置文件:/etc/dhcp/dhcpd.conf
可以按照dhcp提供的模板文件/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example内容,修改dhcpd.conf。
配置完成后,启用dhcp服务,并修改为自启动。
\# systemctl start dhcpd
\# systemctl enable dhcpd

DHCP服务器配置文件中的三类描述
  声明:描述网络的布局,描述客户,提供客户的地址,或把一组参数应用到一组声明中。
  参数:表明如何执行任务,是否要执行任务,或将哪些网络配置选项发给客户
  选项:配置DHCP的可选参数,以option关键字开头
声明:
 shared-network:用来告知是否一些子网络分享相同网络。
 subnet:描述一个IP地址是否属于该子网。
 range:起始IP 终止IP 提供动态分配IP 的范围。
 host:机名称 参考特别的主机。
 group:为一组参数提供声明。
 allow unknown-clients/deny unknown-client:是否动态分配IP给未知的使用者。
 allow bootp;deny bootp:是否响应激活查询。
 allow booting;deny booting :是否响应使用者查询。
 filename:开始启动文件的名称. 应用于无盘工作站。
 next-server:设置服务器从引导文件中装如主机名,应用于无盘工作站。
 fixed-address:为DHCP客户指定IP地址
 domain-name:为客户指定DHS名字
参数:
 ddns-update-style:配置DHCP-DNS 互动更新模式。
 default-lease-time: 指定确省租赁时间的长度,单位是秒。
 max-lease-time:指定最大租赁时间长度,单位是秒。
 hardware:指定网卡接口类型和MAC地址。
 server-name:通知DHCP客户服务器名称。
 get-lease-hostnames flag:检查客户端使用的IP地址。
 fixed-address ip:分配给客户端一个固定的地址。
 authritative:拒绝不正确的IP地址的要求。
选项:
 subnet-mask:为客户端设定子网掩码。
 domain-name:为客户端指明DNS名字。
 domain-name-servers:为客户端指明DNS服务器IP地址。
 host-name:为客户端指定主机名称。
 routers:为客户端设定默认网关。
 broadcast-address:为客户端设定广播地址。
 ntp-server:为客户端设定网络时间服务器IP地址。
 time-offset:为客户端设定和格林威治时间的偏移时间,单位是秒。
例如,DHCP配置:
ScreenShot067.jpg
客户端获取IP地址:
ScreenShot069.jpg
在DHCP服务器上可以查看租约信息:# less /var/lib/dhcpd/dhcpd.leases
或者查看日志:# less /var/log/messages

参考:DHCP地址分配服务
注:使用VMWare Workstation做测试时,可以关闭Workstation自带的DHCP服务,并可以指定测试LAN区段。
ScreenShot070.jpg
ScreenShot071.jpg

DNS域名解析服务

1、DNS(Domain Name System,域名系统)
  因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
  DNS 服务器将域名解析出来,找到域名对应的ip地址的服务,可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 可以提高解析速度。

相关文章

发表新评论