技术标签: linux
目录
DNS域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
正向解析:根据域名查找对应的IP地址。
反向解析:根据IP地址查找对应的域名。
DNS系统的分布式数据结构。
(1)“全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
(2)域名结构
1 http://www.sina.com.cn./ 2 http://主机名.子域.二级域.顶级域 根域/
树状结构最顶层称为根域,用“.”表示,相应服务器称为根服务器,整个域名空间解析权都归根服务器所有,但根服务器无法承担庞大的负载,采用“委派”机制,在根域下设置了一些顶级域,然后将不同顶级域解析权分别委派给相应的顶级域服务器,如将com域的解析权委派给com域服务器,以后但凡根服务器收到以com结尾的域名解析请求,都会转发给com域服务器,同样道理,为了减轻顶级域的压力,又下设了若干二级域,二级域又下设三级域或主机。
(3)服务器域名类型
根域
位于域名空间最顶层,一般用一个“.” 表示。
顶级域
一般代表一种类型的组织机构或国家地区。
如:net (网络供应商)、.com(工商企业)、.org (团体组织)、.edu (教育机构)、.gov (政府部门)、.cn(中国国家域名)。
二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理。
如.cn 顶级域名下面设置的二级域名: .com.cn、.net.cn、.edu.cn。
子域
二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名。
主机
主机位于域名空间最下层,就是一台具体的计算机。
如www、mail都是具体的计算机名字,可用www.sina.com.cn.、 mail.sina.com.cn. 来表示,这种表示方式称为FQDN(完全合格域名),也是这台主机在域名中的全名。
DNS服务器类型:
(1)主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
(2)从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
(3)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
(4)转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
(1)递归查询
递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询
DNS服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提交请求,依次循环直到返回查询的结果为止。
总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反。
①先查本机的缓存记录。
②查询hosts文件。
③查询dns域名服务器,交给dns域名服务器处理。
以上过程成为递归查询:我要一个答案你直接会给我结果。
④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步。
⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器。
⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器。
⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器。
⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端。
/etc/named.conf #主配置文件 /etc/named.rfc1912.zones #区域配置文件
rpm -qc bind //查询bind软件配置文件所在路径
/etc/logrotate.d/named //主配置文件 控制系统全局
/etc/named.rfc1912.zones //区域配置文件 控制具体单个区域
/var/named/named.localhost //区域数据配置文件 区域信息#安装bind软件包
yum install bind -y
(1)修改主要配置文件
vim /etc/named.conf
options {undefined
listen-on port 53 { 192.168.10.4; }; #监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump- file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt"; # 内存统计文件的位置
allow-query { 192.168.10.0/24; }; #允许使用本DNS解析服务的网段,也可用any代表所有
}
zone "." IN {#正向解析“."根区域
type hint;#类型为根区域
file "named.ca";#区域数据文件为named.ca,#记录了13台根域服务器的域名和IP地址等信息
};
(2)修改区域配置文件,添加正向区域配置
vim /etc/named. rfc1912. zones #文件里有模版,可复制粘贴后修改zone "yuyue.com" IN {
type master;
file "yuyue.com.zone";
allow-update { none; } ;
};
(3)配置正向区域数据文件
cd /var/ named/
cp -p named.localhost yuyue.com.zone #保留源文件的权限和属主的属性复制
vim /var/named/yuyue.com.zone
$TTL 1D #有效解析记录的生存周期
@ in SOA yuyue.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS yuyue.com. #记录当前区域的DNS服务器的名称
A 192.168.10.4 #记录主机IP地址
IN MX 10 mail.yuyue.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.10.4 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.10.100 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名
* IN A 192.168.10.200 #泛域名解析,“*"代表任意主机名注意:
#“@”这里是一个变量,当前DNS区域名。
#SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
# "yuyue.com. "此为完全合格域名(FQDN) ,后面有个“."不能漏掉。
#“admin.yuyue.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”代替。
#IN 表示internet。
(4)启动服务
systemctl start named
#如果服务启动失败,可以查看日志文件来排查错误
tail -f /var/log/messages#如果服务启动卡住,可以执行下面命令解决
rndc-confgen -r /dev/urandom -a
(5)在客户端的域名解析配置文件中添加DNS服务器地址
vi /etc/resolv .conf #修改完后立即生效
vi /etc/sysconfig/network-scripts/ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.80.10
systemctl restart network
(6)测试DNS解析
hsot
nslookup
(1)修改区域配置文件,添加反向区域配置
vim /etc/named.rfc1912.zones
// 192.168.10.0 反向则是 10.168.192
zone "10.168.192.in-addr.arpa" IN {undefined
type master;
file "yuyue.com.zone.local"; //指定反向解析的数据文件,也可以跟正向解析的数据文件相同
allow-update { none; };
};
(2)配置反向区域数据文件
cd /var/named/
cp -p yuyue.com.zone yuyue.com.zone.local
vim yuyue.com.zone.local
$TTL 1D
@ IN SOA yuyue.com. admin.yuyue.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS yuyue.com.
A 192.168.10.4
100 IN PTR www.yuyue.com.
200 IN PTR mail.yuyue.com.* IN PTR any.yuyue.com. # RTP反向指针 功能:反向解析
(3)重启服务和验证
systemctl restart named
hostnslookup
实验环境:
主服务器:192.168.10.4
从服务器:192.168.10.5
(1)修改主要配置文件
vim /etc/named.conf
listen-on port 53{} 中值为any
allow-query{}中值改为any
(2)修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zone
zone "yuyue.com" IN {
type master; //类型为主区域
file "yuyue.com.zone";
allow-transfer { 192.168.10.5; }; //设置从服务器地址
};zone "10.168.192.in-addr.arpa" IN {
type master;
file "yuyue.com.zone.local";
allow-transfer{ 192.168.10.5; };
};
(3)配置正向区域数据文件
cd /var/ named/
cp -p named.localhost yuyue.com.zone #保留源文件的权限和属主的属性复制
vim /var/named/yuyue.com.zone
$TTL 1D #有效解析记录的生存周期
@ in SOA yuyue.com. admin.yuyue.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS yuyue.com. #记录当前区域的DNS服务器的名称
A 192.168.10.4 #记录主机IP地址
IN MX 10 mail.yuyue.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.10.4 #记录正向解析www.yuyue.com对应的IP
(4)配置反向区域数据文件
cd /var/named/
cp -p yuyue.com.zone yuyue.com.zone.local
vim yuyue.com.zone.local$TTL 1D #有效解析记录的生存周期,默认单位为秒
@ IN SOA yuyue.com. admin.yuyue.com. ( #SOA标记、域名和管理员邮箱,@变量表示域名
0 ; serial #更新序列号,10位以内数字,用于主从同步,主服务器这个数值要大于从服务器否则无法同步
1D ; refresh #刷新时间
1H ; retry #重试刷新时间间隔
1W ; expire #失效时间,超过该时间则放弃
3H ) ; minimum #无效解析记录的生存周期
NS yuyue.com.
A 192.168.10.4
4 IN PTR www.yuyue.com.
(1)修改主要配置文件
yum install -y bind
vim /etc/named.conf
options {undefined
listen-on port 53 { 192.168.10.5; }; ●监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump- file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt"; # 内存统计文件的位置
allow-query { any; }; ● 允许使用本DNS解析服务的网段,也可用any代表所有
}
(2)修改从域名服务器区域配置文件,添加正、反区域配置。
vim /etc/named.rfc1912.zonezone "yuyue.com" IN {undefined
type slave; //类型为从区域
file "slaves/yuyue.com.zone"; //下载的区域数据文件保存到slaves/目录下
masters { 192.168.10.4; }; //设置主服务器地址
};zone "10.168.192.in-addr.arpa" IN {undefined
type slave;
file "slaves/yuyue.com.zone.local";
masters { 192.168.10.4; };
(3)重启服务,进行测试
###主、从都重启动服务,并查看区域数据文件是否已下载成功
systemctl restart named
ls -1 /var/named/slaves/#####在客户端的域名解析配置文件中添加从DNs服务器地址
echo "nameserver 192.168.10.4" >> /etc/ resolv.conf
echo "nameserver 192.168.10.5" >> /etc/ resolv.conf####测试
host 192.168.10.4
nslookup 192.168.10.5#停止主服务器的服务,模拟主服务器故障
实验环境:
主服务器:192.168.10.4 网卡vmnet1 192.168.10.0
Web服务器:10.0.0.100 网卡vmne2 10.0.0.0
(1)为网关服务器配置双网卡
在关机状态下再添加一块网卡,重启系统
[root@yy ~]# cd /etc/sysconfig/network-scripts/
[root@yy network-scripts]# vim ifcfg-ens33
IPADDR=192.168.10.4
NETMASK=255.255.255.0
[root@ yy network-scripts]# cp -p ifcfg-ens33 ifcfg-ens37
[root@yy network-scripts]# vim ifcfg-ens37
[root@yy network-scripts]# systemctl restart network
(2)安装bind软件包
yum install -y bind
(3)修改主配置文件
vim /etc/named.conf
options {undefined
listen-on port 53 { any; }; ●监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; }; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump- file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt"; # 内存统计文件的位置
allow-query { any; };● 允许使用本DNS解析服务的网段,也可用any代表所有
}
(4)修改区域配置文件
vim /etc/named.rfc1912.zones
view "lan" { #定义内网view,view代表容器分割
match-clients { 192.168.10.0/24; } ; #匹配内网网段
zone "yuyue.com" IN { #设置要解析的区域
type master;
file "yuyue.com.zone.lan"; #数据配置文件
};zone "." IN { #可将根域配置从主配置文件剪切过来,dd+p(要删除原文件的数据)
type hint; #hint是根区域类型
file "named.ca";
};
};view "wan" { #定义外网view .
match-clients { any; } ; #匹配除了内网网段以外的任意地址
zone "yuyue.com" IN {undefined
type master;
file "yuyue.com.zone.wan";
};
};
(5)修改区域数据配置文件
cd /var/named
cp -p named.localhost yuyue.com.zone.lan
cp -p named.localhost yuyue.com.zone.wan
vim yuyue.com.zone.lan
$TTL 1D #有效解析记录的生存周期
@ in SOA yuyue.com. admin.yuyue.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS yuyuecom. #记录当前区域的DNS服务器的名称
A 192.168.10.4 #记录主机IP地址
www IN A 192.168.10.4 #记录正向解析www.yuyue.com对应的IPvim yuyue.com.zone.wan
$TTL 1D #有效解析记录的生存周期
@ in SOA yuyue.com. admin.yuyue.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS yuyue.com. #记录当前区域的DNS服务器的名称
A 10.0.0.100 #记录主机IP地址
www IN A 10.0.0.101 #记录正向解析www.yuyue.com对应的IP
(6)启动服务,进行测试
###启动服务
systemctl start named###在内、外网客户端的域名解析配置文件中添加DNS服务器地址
echo "nameserver 192.168.80.10" >> /etc/resolv.conf #内网客户端####在内、外网客户端上测试
nslookup www.yuyue.com内网:
外网:
(1)DNS系统的作用与常见类型。
(2)BIND服务相关软件及其作用。
(3)BIND服务的主配置文件与区域数据文件。
(4)构建缓存域名服务器。
(5)构建主域名服务器、构建从域名服务器。
(6)DNS分离解析。
文章浏览阅读730次,点赞2次,收藏5次。文章目录1.Linux介绍、命令1.1操作系统(科普章节)目标1. 操作系统(Operation System,OS)1.1 操作系统的作用1.2 不同应用领域的主流操作系统1> 桌面操作系统2> 服务器操作系统3> 嵌入式操作系统4> 移动设备操作系统1.3 虚拟机1.2操作系统的发展史(科普章节)目标01. 操作系统的发展历史1.1 Unix1.2 Minix1.3 L..._ubuntu终端jjinru文件夹
文章浏览阅读943次,点赞20次,收藏19次。右击此电脑 --> 属性 --> 高级系统设置 --> 高级(概率默认进入高级) --> 环境变量 --> 系统变量 --> 双击(Path) – > 新建 --> ‘输入你之前创建的文件夹的位置’ – > 点击确定(编辑环境变量) – > 点击确定(环境变量) ------------------------------------------------------ 完成。在你电脑里的某个位置新建一个文件夹,然后把你经常使用的程序丢进去,最好名字改的简洁点,这样方便启动,(如果你想装X,自便)-
文章浏览阅读1k次。Python运算符优先级和结合性一览表 运算符说明 Python运算符 优先级 结合性 优先级顺序 索引运算符 x[i] 或 x[i1: i2 [:i3]] 18 左 优先级从上往下递减 属性访问 x.attribute 17 左 ..._python中int(5/2)*3**2x优先级
文章浏览阅读1.5k次,点赞3次,收藏8次。目 录第一章 DirectX基础(初级篇)第一节 什么是DirectX一、什么是DirectX ?二、DirectX的组成部分三、关于DirectDraw四、为什么要使用DirectDraw?五、DirectX5.0的新特性?六、什么是部件对象模型(COM)七、自我检测第二节 如何安装和使用DirectX一、编译库和运行库二、安装 VC++ 5..._diray功能說明書
文章浏览阅读1.3k次。某些情况下,我们可能需要在fme的外部使用fmeobjects。比如我想针对fme封装好的模板,进行一些二次开发什么的,将其嵌入到其他程序里面来做某些事情。这就需要将fmeobjects包引入到fme的外部开发环境。将安装目录下的“fmeobjects”目录下,对应版本的pyd文件,拷贝到外部python环境的模块下。以anaconda环境为例:我需要将“C:\apps\FME21x64\fmeobjects\python36”文件夹下面的pyd文件拷贝到“C:\Users\admin\Ana_fme二次开发
文章浏览阅读1w次,点赞132次,收藏303次。硬核推荐----13张思维导图带你快速入门 -- _java基础思维导图
文章浏览阅读579次,点赞6次,收藏2次。游泳馆信息管理系统主要功能模块包括游泳资讯、游泳课程、申请会员、用户报名管理、会员报名管理等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用Springboot框架、B/S架构进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。_springboot + jsp 游泳管理系统
文章浏览阅读5.5k次,点赞2次,收藏9次。STM32F072C8T6调试IAP(CAN)记录_stm32f072的can例程
文章浏览阅读2.4k次,点赞2次,收藏10次。Opencv图像轮廓检测主要是通过对图像进行边缘提取,并将提取出的边缘连接成为一个完整的边缘线来实现的。_图像检测代码
文章浏览阅读49次。课题调查问卷分析报告
文章浏览阅读842次,点赞25次,收藏20次。卡氏积:集合的乘积cartesian product,两个集合各取一个数构成一个个对。举例:平面是两个直线坐标的cartesian product。前者是集合的映射,后者是元素的映射。举例sinx的集合映射是(-域的定义:可以进行加减乘除四种运算的运算系统。[-1, 1],取一个元素π映射为0,即。映射带尾与不带尾的箭头。
文章浏览阅读129次。解释:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。1.如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。2.如果需要返回..._@controller和@restcontrollaer区别