DHCP服务/DNS域名系统服务
2021-10-31 17:33:32 0 举报
AI智能生成
11
作者其他创作
大纲/内容
网络服务
DHCP服务
1. DHCP 简介
DHCP
Dynamic Host Configuration Protocol ,动态主机配置协议)是一个 工作在应用层的 局域网网络协议, 数
据传输时 使用 UDP 不可靠传输 协议工作, 通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配 网络资
源 ,使网络环境中的主机 能 动态的获得 IP 地址、 Gateway 地址、 DNS 服务器地址等信息,并能够提升地址的使用率 。
Dynamic Host Configuration Protocol ,动态主机配置协议)是一个 工作在应用层的 局域网网络协议, 数
据传输时 使用 UDP 不可靠传输 协议工作, 通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配 网络资
源 ,使网络环境中的主机 能 动态的获得 IP 地址、 Gateway 地址、 DNS 服务器地址等信息,并能够提升地址的使用率 。
2. DHCP 工作 原理 租约 四部曲 续租
2.1 DHCP 客户端进行 IP 请求
当一个DHCP 客户机启动时,会自动将自己的 IP 地址 配置 成 0.0.0.0 ,由于使用 0.0.0. 0 不能进行正常通信,所以客户机就必须通过 DHCP 服务器来获取一个合法的地址。由于客户机不知道
服务器来获取一个合法的地址。由于客户机不知道 DHCP 服务器的 IP 地址,所以它 使用 0.0.0.0 的地址作为源地址,使用 255.255.255.255 作为目标地址,使用 UDP 67 端口作为目的端口来广播请求 IP 地址信息。
广播信息 D HCP D iscover 中包含了 DHCP 客户机的 MAC 地址和计算机名,以便使 DHCP 服务器能确定是哪个客户机发送的请求。
2.2 DHCP 服务器 响应 请求
当DHCP 服务器接收到客户机请求 IP 地址的信 息时 ,它 就在自己的 IP 地址池中查找是否有合法 的 IP 地址提供给客户机。如果有,
如果有, DHCP 服务器就将此 IP 地址做上标记,加入到 DHCP OFFER 的消息中,然后 DHCP 服务器就广播一则包括下列信息的 DHCP OFFER 消息:
DHCP客户机的 MAC 地址; DHCP
DHCP 服务器提供的合法 IP 地址;
子网掩码;
默认网关(路由);
租约的期限;
DHCP 服务器的 IP 地址 MAC 。
因为DHCP 客户机还没有 IP 地址,所以 DHCP 服务器使用自己的 IP 地址作为源地址,使用 255.255.255.255 作为目标地址,使用 UDP 68 端口作为 源 端 口 来广播 DHCP OFFER 信息
2.3 DHCP 客户机选择 IP
DHCP客户机从接收到的第一个 DHCP OFFER 消息中选择 IP 地址,发出 IP 地址的 DHCP 服务器将该地址保留,这样该地址就不能提供给另一个 DHCP 客户机。
当客户机从第一个 DHCP 服务器接收 DHCP OFFER 并选择 IP 地址后, DHCP 租约的第三过程发生。
客户机将 DHCP REQUEST 消息广播到所有的 DHCP 服务器,表明它接受提供的内容。 DHCP REQUEST 消息包括为该客户机提供 IP 配置的服务器的服务标识符( IP 地址)。
DHCP 服务器查看 服务 器标 识符字段,以确定它自己是否被选择为指定的客户机提供 IP 地址,如果那些 DHCP OFFER 被拒绝, 则 DHCP 服务器会取消提供并保留其 IP 地址以用于下一个IP 租约请求。
在客户机选择IP 的过程中,虽然客户机选择了 IP 地址,但是还没有配置 IP 地址,而在一个网络中可能有几个 DHCP服务器,所以 客户机仍然使用 0.0.0.0 的地址作为源地址,使用 255.255.255.255 作为目标地址,使用 UDP 67 端口作为目的端口来广播 DHCP REQUEST 信息
DHCP客户机只会回应受到的第一个offer
2.4 DHCP 服务器确认租约
服务器确认租约:DHCP ACK
DHCP服务器接收到 DHCP REQUEST 消息后,以 DHCPACK 消息的形式向客户机广播成功的确认,该消息包含有 IP 地址
的有效租约和其他可能配置的信息。
虽然服务器确认了客户机的租约请求,但是客户机还没有收到服务器的 DHCP ACK消息,所以 服务器仍然使用自己的 IP 地址作为源地址,使用 255.255.255.255 作为目标地址,使用 UDP 68 端口作为 源端口来广播 DHCP ACK 信息。
当客户机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成了 TCP/IP 的初始化。
的有效租约和其他可能配置的信息。
虽然服务器确认了客户机的租约请求,但是客户机还没有收到服务器的 DHCP ACK消息,所以 服务器仍然使用自己的 IP 地址作为源地址,使用 255.255.255.255 作为目标地址,使用 UDP 68 端口作为 源端口来广播 DHCP ACK 信息。
当客户机收到 DHCP ACK 消息时,它就配置了 IP 地址,完成了 TCP/IP 的初始化。
服务器拒绝租约:DHCP NACK(DHCP NAK)
如果DHCP REQUEST 不成功,例如客户机试图租约先前的 IP 地址,但该 IP 地址不再可用,或者因为客户机移到其他子网,该 IP 无效时, DHCP 服务器将广播否定确认消息 DHCP NACK 。当客户机接收到不成功的确认时,它将重新开始 DHCP租约过程。
注1:如果DHCP客户机无法找到DHCP服务器,它将从TCP/IP的B类网段169.254.0.0/16中挑选一个IP地址作为自己的IP地址,继续每隔5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务器取得联系,则客户机放弃自动配置的IP地址,而使用DHCP服务器分配的IP地址。
注2:DHCP客户机收到DHCP服务器回应的ACK报文后,通过地址冲突检测(arp)发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送DECLINE报文,通知服务器所分配的IP地址不可用。
2.5 DHCP 客户机续租
DHCP客户机会在租期过去 50% 的时候,直接向为其提供 IP 地址的 DHCP 服务器发送 DHCP REQUEST 消息包。如果客户机接收到该服务器回应的 DHCP ACK 消息包,客户机就根据包中所提供的新的租期以及其它已经更新的 TCP/IP 参数,更新自己 的配 置, IP 租用更新完成。如果没有收到该服务器的回复,则客户机继续使用现有的 IP 地 址,因为当前租期还有50% 。
如果在租期过去50% 的时候没有更新,则 DHCP 客户机将在租期过去 87.5% 的时候再次向为其提供 IP 地址的 DHCP 服务器联系。如果还不成功,到租约的 100% 时候, DHCP 客户机必须放弃这个 IP 地址,重新申请。
如果此时无 DHCP 服务器可用, DHCP 客户 机会使用 169.254.0.0/16 中随机的一个地址,并且每隔 5 分钟再进行尝试。
3. DHCP 服务 搭建
3.1 准备 实验 环境
两台机器,网络连接模式设为自定义VMnet*模式
防护的关闭:
1. iptables -L #防火墙
2. getenforce #SELinux
3. 关闭 Vmware 虚拟网络编辑器的DHCP功能,切记
3.2 DHCP 相关信息
软件名:
dhcp #DHCP服务软件包
dhcp-common #DHCP命令软件包(默认已安装)
服务名:
dhcpd #DHCP服务名
dhcrelay #DHCP中继服务名
端口号:
udp 67 #作为客户端的目标端口,接收客户端的请求DHCP请求
udp 68 #作为服务器的源端口,用来向客户端回复数据包
配置文件:
dhcpd /etc/dhcp/dhcpd.conf #此配置文件默认是空的,需要找模板文件重新生成
dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample #DHCP的模板配置文件
dhcrelay /etc/sysconfig/dhcrelay #该文件时中继配置文件,中继实验中用到
dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample #DHCP的模板配置文件
dhcrelay /etc/sysconfig/dhcrelay #该文件时中继配置文件,中继实验中用到
3.3 DHCP 配置文件 详解
subnet 192.168.88.0 netmask 255.255.255.0{ #声明要分配的网段和子网掩码
range 192.168.88.3 192.168.88.254; #声明可用 IP 地址池
option domain-name "atguigu.com" ; #设置 DNS 域
option domain-name-servers 8.8.8.8 ; #设置 DNS 服务器地址
option routers 192.168.88.2; #默认网关的地址
option broadcast-address 192.168.88.255; #广播地址(可不写)
default-lease-time 600; #默认租约(s)
max-lease-time 7200; #最大租约(s)
}
range 192.168.88.3 192.168.88.254; #声明可用 IP 地址池
option domain-name "atguigu.com" ; #设置 DNS 域
option domain-name-servers 8.8.8.8 ; #设置 DNS 服务器地址
option routers 192.168.88.2; #默认网关的地址
option broadcast-address 192.168.88.255; #广播地址(可不写)
default-lease-time 600; #默认租约(s)
max-lease-time 7200; #最大租约(s)
}
4. DHCP 实验部署
4.1 DHCP 基本 功能实验
4.1.1 生成配置文件
cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
4.1.2 修改配置文件
将配置文件的前几个subnet声明注释掉。修改最后一个subnet声明
注:注意配置文件中每行结尾的分号和结束大括号,谢谢!
subnet 192.168.88.0 netmask 255.255.255.0{
range 192.168.88.3 192.168.88.254;
option domain-name "atguigu.com" ;
option domain-name-servers 8.8.8.8 ;
option routers 192.168.88.2;
option broadcast-address 192.168.88.255;
default-lease-time 600;
max-lease-time 7200;
}
注:注意配置文件中每行结尾的分号和结束大括号,谢谢!
subnet 192.168.88.0 netmask 255.255.255.0{
range 192.168.88.3 192.168.88.254;
option domain-name "atguigu.com" ;
option domain-name-servers 8.8.8.8 ;
option routers 192.168.88.2;
option broadcast-address 192.168.88.255;
default-lease-time 600;
max-lease-time 7200;
}
配置文件中必须有一个subnet和本服务段ip所在同一个网段中,否则会启动失败
4.1.3 重启服务
service dhcpd start
4.1.4 重启客户机的网卡
ifdown eth0;ifup eth0
4.2 保留地址 (固定地址分配)
4.2.1 获取客户端的mac地址
arp -a #查看客户机的mac地址
4.2.2 修改/etc/dhcp/dhcpd.conf文件
host fantasia{
hardware ethernet mac地址; #客户机的mac地址
fixed-address IP地址; #固定分配给客户机的ip地址(可以使用地址池以外的IP)
}
4.2.3 重启DHCP服务
service dhcpd restart
4.2.4 重启客户机网卡验证IP获取是否成功
ifdown eth0;ifup eth0
4.3 超级作用域 (同一局域网)
4.3.1 超级作用域介绍
DHCP服务器可为单个物理网络上的客户端提供多个作用域租约地址
4.3.2 实验环境准备
三台虚拟机同一网络模式,一个DHCP服务器,两个客户机
关闭iptables SElinux
4.3.3 实验步骤
1. 设置DHCP服务器的单臂路由所需子网卡:
cp -a ifcfg-eth0 ifcfg-eth0:0 #编辑此文件,修改网卡名和IP地址即可
2. 开启路由转发:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #此选项修改为1即可
sysctl -p #刷新内核参数配置文件
子主题
3. 修改/etc/dhcp/dhcpd.conf文件
#之前的网段声明和主机声明全都注释掉!
shared-network public {
subnet 192.168.88.0 netmask 255.255.255.0{
option routers 192.168.88.10;
range 192.168.88.100 192.168.88.100;}
subnet 192.168.99.0 netmask 255.255.255.0{
option routers 192.168.99.10;
range 192.168.99.100 192.168.99.110;}
}
#剩余内容注释掉或删除掉,切记别落下括号
4. 重启DHCP服务
service dhcpd restart
5. 分别重启两台机器的网卡,查看获取的地址
ifdown eth0;ifup eth0
#之前的网段声明和主机声明全都注释掉!
shared-network public {
subnet 192.168.88.0 netmask 255.255.255.0{
option routers 192.168.88.10;
range 192.168.88.100 192.168.88.100;}
subnet 192.168.99.0 netmask 255.255.255.0{
option routers 192.168.99.10;
range 192.168.99.100 192.168.99.110;}
}
#剩余内容注释掉或删除掉,切记别落下括号
4. 重启DHCP服务
service dhcpd restart
5. 分别重启两台机器的网卡,查看获取的地址
ifdown eth0;ifup eth0
4.4 DHCP 中继
4.4.1 DHCP中继介绍
DHCP Relay(DHCPR)DHCP中继是一个小程序,可以实现在不同子网和物理网段之间处理和转发dhcp信息的功能。
4.4.2 实验环境准备
DHCP服务器:
eth0(192.168.10.10) VMnet10
DHCP中继:
eth0(192.168.10.20) VMnet10
eth1(100.100.100.20) VMnet11
外网客户机:
eth0(IP地址自动获取) VMnet11
注:关闭所有防护:iptables、SELinux
4.4.3 配置DHCP服务器
1. 软件安装:
yum -y install dhcp
2. 修改/etc/dhcp/dhcpd.conf文件:
#声明两个subnet,其他无关可以不做操作或删除
subnet 192.168.10.0 netmask 255.255.255.0 { #实验中并未用到该地址池分配IP
range 192.168.10.100 192.168.10.110;
option routers 192.168.10.20;
}
subnet 100.100.100.0 netmask 255.255.255.0 {
range 100.100.100.100 100.100.100.110;
option routers 100.100.100.20;
}
subnet 192.168.10.0 netmask 255.255.255.0 { #实验中并未用到该地址池分配IP
range 192.168.10.100 192.168.10.110;
option routers 192.168.10.20;
}
subnet 100.100.100.0 netmask 255.255.255.0 {
range 100.100.100.100 100.100.100.110;
option routers 100.100.100.20;
}
3. 重启dhcpd服务:
service dhcpd start
4. 指定网关:
只能中继器的内网IP为网关地址
4.4.4 配置DHCP中继服务器
1. 网卡配置
一块网卡ip=192.168.10.20
一块网卡ip=100.100.100.20
2. 软件安装
yum -y install dhcp
3. 修改中继配置文件
vim /etc/sysconfig/dhcrelay文件
INTERFACES=“eth0 eth1”
DHCPSERVERS=”192.168.10.10”
4. 开启路由转发
vim /etc/sysctl.conf文件。
netipv4.ip_forward = 1
sysctl -p
netipv4.ip_forward = 1
sysctl -p
5. 重启中继服务
service dhcrelay start
4.4.5 测试外网主机
重启网卡 ifdown ifup ifconfig
4.4.6 拓展实验
注:此图和实验规划有所区别,实验规划只是用一台测试机,此图使用了两台
DNS 域名系统服务
1. D NS 介绍
1.1 什么是域名?
域名(Domain Name ),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台 计算机
或计算机组的名称,用于在数据 传 输 时 标 识计算机的电子方位 。具有独一无二,不可重复的特性。
或计算机组的名称,用于在数据 传 输 时 标 识计算机的电子方位 。具有独一无二,不可重复的特性。
1.2 什么是 DNS
域名系统(Domain Name System ,缩写 DNS )是互联网的一项服务。 域名解析是把域名指向网站空
间 IP ,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP 地址是网络上标识站点的数字地
址,为了方便记忆,采用域名来代替 IP 地址标识站点地址。域名解析就是域名到 IP 地址的转换过程。
域名的解析工作由 DNS 服务器完成。 可以理解为 D NS 就是翻译官。
间 IP ,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP 地址是网络上标识站点的数字地
址,为了方便记忆,采用域名来代替 IP 地址标识站点地址。域名解析就是域名到 IP 地址的转换过程。
域名的解析工作由 DNS 服务器完成。 可以理解为 D NS 就是翻译官。
正向解析:
域名 ---> IP 地址
反向解析:
IP地址 ---> 域名
1.3 域名的组成和分类
常见格式:
www.atguigu.com
完整格式:
www.atguigu.com.
.
根域,可省略不写
com
顶级域,由 I CANN 组织指定和管理
分类
国家地区域名 cn 中国 、 hk 香港 、 sg 新加坡 等
通用顶级域名 com 商业机构 、 org 非营利组织 、 edu 教育机构 等
新通用顶级域名 red 红色 、 热 情 、 top 顶级 、 高端 等
atguigu
二级域 (注册域 ),可由个人或组织申请注册
www
三级域 子域 )),服务器 网站名 代表
主机名
s1.www.atguigu.com. 中的 s 1 就是主机名 一般用来表示具体某一台主机
全球一共有13台根服务器
2. 域名解析过程
客户机与本地DNS服务器之间的链接协议是UDP协议
0. 客户机访问www.baidu.com 浏览器自动补齐:80,web服务器的端口
1. 客户机首先查看查找本地 hosts 文件,如果有则返回,否则进行下一步
2. 客户机查看本地缓存,是否存在本条目的缓存,如果有则直接返回, 否则进行下一步 。
3. 将请求转发 给指向的 DNS 服务器(网卡信息是否有DNS服务器地址),若DNS服务器有解析记录,则将IP 地址返回给客户机。
4. 查看域名是否本地解析 是 则 本 地解析返回, 否则进行下一步 。
5. 本地 DNS 服务器首先在缓存中查找,有则返回,无则进行下一步。
6. 向全球 13 个根域服务器发起 DNS 请求,根域返回 org 域的地址列表。
7. 使用某一个 org 域的 IP 地址,发起 DNS 请求, org 域返回 kernel 域服务器地址列表。
8. 使用某一个 kernel 域 IP 地址,发起 DNS 请求, kernel 域返回 www.kernel.org 主机的 IP 地址,本地 DNS 服务收到后,返回给客户机 ,并在 本地 D NS 服务器保存一份 。
分布式DNS服务器
DNS主从同步使用的是TCP协议
3. DNS 软件信息
软件名称
bind
服务名称
named
软件端口
UDP 53 数据通信(域名解析)
TCP 53 数据同步(主从同步)
TCP 53 数据同步(主从同步)
配置文件:
主配置文件 /etc/named.conf 服务器运行参数
区域配置文件 /etc/named.rfc1912.zones 服务器解析的区域配置 ,正反向区域定义信息
数据配置文件 /var/named/xx.xx 主机名和 IP 地址的对应 解析 关系 ,及主从同步信息
记录类型
A
地址记录,用来指定域名的IPv4 地址 的记录
CNAME
将域名指向另一个域名,再由另一个域名提供ip 地址,就需要添加 CNAME记录
TXT
可填写任何东西,长 度限制 255 。绝大多数的 TXT 记录是用来做 SPF 的 (反垃圾邮件)
NS
域名服务器记录,如果需要把子域名交给其他DNS 服务商解析,就需要添加 NS 记录。
AAAA
地址记录,用来指定 域名 的 IPv6 地址 的记录
MX
邮件交换记录,如果需要设置邮箱,让邮箱能收到邮件,就需要添加 MX 记录。
4. DNS 实验搭建
4.1 DNS 服务 搭建
先关闭服务器和客户机上的防火墙和SELinux
1. 软件安装
yum -y install bind
2. 配置主配置文件( (/etc/named.conf )
3. 配置区域文件(/etc/named.rfc1912.zones )
注:先对区域文件进行备份,删除多余的模板,只留下一个正向和一个反向(反向修改时,网络
位的反写格式,如 192.168.100.2-->100.168.192.)
4. 配置数据文件 /var/named/
A. 先复制生成正向解析文件和反向解析文件
B. 编辑正向解析文件(注意域名结尾的 “.”)
C. 编辑反向解析文件(注意域名结尾的 “.”)
5. 重启 DNS 服务
service named restart
6. 客户端测试
在网卡配置文件中添加 DNS 服务器的地址,然后用 nslookup 测试。
4.2 主 从 DNS 服务器
实验目的:
减轻主服务器的压力
实验准备:
先关闭服务器和客户机上的防火墙和 SELinux
一台主服务器、一台从服务器、一台测试机
搭建过程:
1. 搭建主服务器步骤(同上,不截图了):
a. 安装 bind 软件
b. 主配置文件的修改
c. 区域配置文件的修改
d. 配置数据文件
正向数据文件
反向数据文件(可选做)
e. 启动 named 服务
注意:主 DNS 的区域配置文件中 allow-updata 参数添加从服务器 IP 地址。
2. 搭建从服务器步骤:
a. 安装 bind 软件
b. 修改主配置文件/etc/named.conf
c. 配置区域文件(/etc/named.rfc1912.zones)
注意:从配置文件的类型需要修改为 slave,并且需要填写主服务器的地址,如下
type slave;
masters { 192.168.0.10; }; #大括号两侧留有空格
文件保存位置修改为 file “slaves/atguigu.localhost”;
d. 重启服务
e. 在测试机上填写从服务器的 IP,并使用 nslookup 测试
4.3 DNS 缓存服务器
先关闭服务器和客户机上的防火墙和 SELinux
实验作用:
加快解析速度,提高工作效率
实验软件:
dnsmasq
配置文件:
/etc/dnsmasq.conf
domain=域名 #需要解析的域名
server=ip #主 DNS 服务器 IP
cache-size=15000 #声明缓存条数
重启服务:
service dnsmasq restart
测试效果:
在测试机上填写 DNS 缓存服务器的 ip 地址
4.4 智能DNS (分离解析)
实验原理:
DNS 分离解析即将相同域名解析为不同的 IP 地址。现实网络中一些网站为了让用户有更好
的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问
速度
实验环境:
一台内网测试机(单网卡)
一台网关+DNS(双网卡)
一台外网测试机(单网卡)
一台 web 服务器(双网卡)
实验步骤:
先关闭服务器和客户机上的防火墙和 SELinux
1. 安装 bind 软件
2. 内核配置文件开启路由转发,修改/etc/sysctl.conf
3. 修改主配置文件/etc/named.conf
注意:不同的解析放在了各自的区域配置文件(便于区分和维护更新)
4. 生成自己定义的区域文件(反向解析省略掉了)
cp –a named.rfc1912.zones lan
cp –a named.rfc1912.zones wan
5. 配置数据文件
配置内网的正向解析文件
配置外网的正向解析文件
6. 重启服务
service named restart
7. 效果测试
内网客户端网卡配置
将 dns 和网关都指为网关服务器的内网口地址
外网客户端网卡配置
将 dns 和网关都指为网关服务器的外网口地
内网客户端网卡配置
将 dns 和网关都指为网关服务器的内网口地址
外网客户端网卡配置
将 dns 和网关都指为网关服务器的外网口地址
0 条评论
下一页