DHCP和DNS域名解析服务

51 阅读9分钟

DHCP动态主机配置协议

DHCP使用UDP协议工作,有两个端口,服务端为67,客户端为68,其中服务器使用由静态配置的固定IP,主要有两个用途,给内部网络或网络服务供应商自动分配IP地址;给用户或者内部网络管理员作为对所有计算机作中央管理的手段

使用DHCP的优点

  1. 减少管理员的工作量
  2. 避免输入错误的可能
  3. 避免IP地址冲突
  4. 当更改IP地址段时,不需要重新配置每个用户的IP地址
  5. 提高了IP地址的利用率
  6. 方便客户端的配置

DHCP的IP地址自动获取工作原理

第一步(DHCP_DISCOVER):客户端在网络中搜索服务器。客户端通过广播发送DHCP Discover报文寻找服务器端

第二步(DHCP_OFFER):服务器向客户端响应服务。服务器端通过单播发送DHCP Offer报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的IP地址分配给客户端

第三步(DHCP_REQUEST):客户端向服务器发出服务请求。如果有多台DHCP服务器向该客户端发来DHCP offer报文,客户端只接受第一个收到的DACP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request报文告知服务器端本地选择使用该IP地址(华为系统的DHCP服务器会按照由大到小的顺序从IP池里分配IP 其他的是从小到大分配)

第四步(DHCP_ACK):服务器向客户端提供服务。服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息

第五步:重新连接 DHCP客户机每次重新登录网络时,不需要再发送 DHCP Discover信息,而是直接发送包含前一次所分配的 IP地址的DHCP Request请求信息

第六步:更新租约 当DAcP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request包,要求更新现有的地址租约

配置DHCP服务器

DHCP服务器可以通过路由器,或者Win/Linux服务器主机来设置 全局配置参数

  • 默认租约为6小时,单位为秒:default-lease-time 21600;
  • 最大租约为12小时,单位为秒:max-lease-time 43200;
  • 指定默认域名:option domain-name "benet.com" ;
  • 指定DNS服务器地址:option domain-name-servers 202.106.0.20, 202.106.148.1;
  • 禁用DNS动态更新:ddns-update-style none;

DHCP操作

安装DHCP yum install -y dhcp

关闭防火墙和selinux

sysytemctl stop firewalld.service

setenforce 0

1.前往查看配置文件,但配置文件目录为空

image.png

image.png

2.将样例文件覆盖原来的空配置文件,在复制来的文件下进行操作

image.png 3.刷新dhcp image.png

4.进入客户端网卡配置,BOOTPROTO改成动态dhcp,下面配置的地址注释了,保存退出

image.png image.png

5.重启客户端网卡服务,发现获取到了地址池里的地址 image.png

DNS域名解析服务

bind域名服务基础

DNS是指域名系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS
域名和IP地址间是多对一的关系,一个IP地址不一定只对应一个域名,且一个完整域名只可对应一个IP地址。

域名结构

http:// 主机名 . 子域 . 二级域 . 顶级域 根域/
每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
完全合格域名:是指包含了所有域的主机名,其中包括根域,也是这台主机在域名中的全名

结构作用
根域做于城名空间最项层,一般用一个“.”表示
顶级域一般代表一种类型的组织机构或国家地区如:.net (网络供应商)、.com(工商企业)、.org (团体组织)、.edu(教育机构)、.gov(政府部门)、.cn (中国国家域名)
二级域用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理如.cn顶级域名下面设置的二级域名:.com.cn. .net.cn、.edu . cn
子域二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机名主机位于域名空间最下层,就是一台具体的计算机

d502db0bd6fb616e936aee7e459691c.png

结构为树状结构,树状结构最顶层称为根域,用“.” 表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制。
在根域下设置了一些项级域,然后将不同项级域解析权分别委派给相应的顶级域服务器,以后但凡根服务器收到以cm结尾的域名解析请求,都会转发给com域服务器。
同理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。

DNS域名解析方式

正向解析

根据域名查找对应的IP地址

  • 递归查询

过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>顶级域服务器———>【二级域服务器】———>子域服务器———>通过主机名解析出IP地址———>再逐层返回

  • 迭代查询

过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>返回———>顶级域服务器———>返回———>【二级域服务器】———>返回———>子域服务器———>通过主机名解析出IP地址

DNS服务器类型

  • 主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件(主要放置域名与IP地址的对应关系)。
  • 从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为各份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库(相当于主域名服务器的备份服务器)。
  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
  • 转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果(加速器就运用了转发域名服务器的性质)。

使用bind构建域名服务器

主机名:www
区域名:baidu.com

  • 安装bind软件包 yum install -y bind

  • 关闭防火墙和selinux

image.png

本地IP地址和主机名映射

本地IP地址和主机名映射文件: /etc/hosts

Windows中hosts位于:C:\Windows\System32\drivers\etc\hosts
其优先级大于dns解析

  1. 加入了本机地址,并以myhost1作为域名

vim /etc/hosts

image.png

  1. 此时直接ping域名myhosts

image.png

构建DNS域名解析服务器

需要修改的配置文件所在路径

image.png

正向解析操作

  1. 修改主配置文件 /etc/named.conf

image.png image.png

重启rndc reload 或systemctl reload named image.png

  1. 改区域配置文件,添加正向区域配置 /etc/named.rfc1912.zones

image.png

  1. 配置正向区域数据文件 image.png image.png image.png
  2. 开启服务,指定服务器名称 image.png image.png
  3. 用hosts或nslookup进行解析 image.png image.png
  4. 别的主机想要访问,需要更改网卡配置文件DNS配置,然后才能访问 image.png image.png image.png image.png

image.png

主从域名服务器

1.设置主域名服务器,改区域配置文件,正向反向都要配置,重启服务 image.png image.png image.png

  1. 再设置从服务器,修改主配置文件和区域配置文件 image.png image.png image.png
  2. 重新启动服务,在/var/named/slaves下发现文件已经备份过来,且从服务器53端口已开启 image.png image.png
  3. 此时主服务器关闭,其他主机依然可以访问进行DNS解析,通过从域名服务器进行解析

各服务端口

  • http:tcp 80
  • https:tcp 443
  • dhcp:udp 67(服务端)、68(客户端)
  • ftp:tcp 20(传输文件数据)、21(传输控制指令)
  • dns:tcp 53(连接dns服务器)、udp 53(解析dns)

域名结构:http:// 主机名 . 子域 . 二级域 . 顶级域 根域/

递归查询过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>顶级域服务器———>【二级域服务器】———>子域服务器———>通过主机名解析出IP地址———>再逐层返回

迭代查询过程:用户访问域名———>【本地缓存域名服务器】———>根域服务器———>返回———>顶级域服务器———>返回———>【二级域服务器】———>返回———>子域服务器———>通过主机名解析出IP地址

bind软件

  • /etc/named.conf:主配置文件,配置 监听地址和端口,允许访问的客户端地址,数据文件默认目录,根域区域配置

  • /etc/named.rfc1912.zones:区域配置文件,配置 正向解析/方向解析的区域配置,主/备域名服务器配置

  • /var/named/named.localhost:区域数据文件,配置 正向解析的主机名和IP的映射关系,反向解析的IP与完整域名的映射关系