admin管理员组文章数量:1567245
DNS域名解析
- 一.DNS详解
- 1.1 DNS系统的作用
- 1.1.1 为什么需要DNS系统?
- 1.1.2 互联网中的114查号台/导航员
- 1.2 DNS是什么
- 1.3 DNS系统的作用
- 1.3.1 两种查询方式:
- 1.4 常用域名注解
- 1.4.1 常见的各级域名
- 1.4.2 全域名
- 1.4.3 管理售卖机构
- 1.4.4 补充
- 1.5 DNS使用的协议及端口号
- 1.6 DNS服务器系统类型
- 1.6.1 缓存域名服务器
- 1.6.2 主域名服务器
- 1.6.3 从域名服务器
- 1.6.4 转发域名服务器
- 二. BIND服务
- 2.1 BIND服务端程序
- 2.2 主配置文件named.conf
- 三. 实验配置
- 3.1 DNS正向解析实验
- 3.2 反向解析实验
- 3.3 DNS主从同步
- 总结:
引言: 分享一下配置DNS主从服务器的步骤和一些经验。保险起见,我们在修改配置文件之前,应该备份一下,避免因为修改错误影响系统
一.DNS详解
1.1 DNS系统的作用
1.1.1 为什么需要DNS系统?
原因: 当客户端访问www.baidu时计算机是识别不了的,需要转换成IP地址,计算机找到IP就能访问到
web,就可以访问到对应的百度服务器。
1.1.2 互联网中的114查号台/导航员
13个根服务器的分布地点及IP地址:
A,INTERNIC.NET(美国弗吉尼亚州),IP地址:198.41.0.4
B,美国信息科学研究所(美国加利弗尼亚州),IP地址:128.9.0.107
C,PSINet公司(美国弗吉尼亚州),IP地址:192.33.4.12
D,马里兰大学(美国马里兰州) IP地址:128.8.10.90
E,美国航空航天管理局(美国加利弗尼亚州),IP地址:192.203.230.10
F,因特网软件联盟(美国加利弗尼亚州),IP地址:192.5.5.241
G,美国国防部网络信息中心(美国弗吉尼亚州),IP地址:192.112.36.4
H,美国陆军研究所(美国马里兰州),IP地址:128.63.2.53
I,Autonomica公司(瑞典斯德哥尔摩),IP地址:192.36.148.17
J,VeriSign公司(美国弗吉尼亚州),IP地址:192.58.128.30
K,RIPE NCC(英国伦敦),IP地址:193.0.14.129
L,IANA(美国弗吉尼亚州),IP地址:198.32.64.12
M,WIDE Project(日本东京),IP地址:202.12.27.33
根服务器主要用来管理互联网的主目录,全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根
服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
PS:搞一台回来你就可以吃喝不愁,永世无忧
在与现有IPv4根服务器体系架构充分兼容基础上,由下一代互联网国家工程中心牵头发起的“雪人计划”于2016年在
美国、日本、印度、俄罗斯、德国、法国等全球16个国家完成25台IPv6(互联网协议第六版)根服务器架设,事实
上形成了13台原有根加25台IPv6根的新格局,为建立多边、民主、透明的国际互联网治理体系打下坚实基础。
1.2 DNS是什么
英文原义:Domain Name Server
中文释义:域名解析系统
注 解:简单地说,该协议主要负责将域名转换成网络可以识别的IP地址,比如将www.Baidu转换成
119.75.217.109,域名和IP地址之间是一一对应的。因为访问网站的时候,最终都是转换成IP地址进行访问的,如果
直接设置DNS服务器那么可以提高网络的访问速度,而且可以保证访问的正确性。
应 用:在Windows中要使用DNS协议,只要设置相应的DNS服务器地址即可。具体的方法同IP地址的设置:比如在
Windows XP中,首先,打开“本地连接”属性窗口,在“常规”选项卡中双击“Internet协议(TCP/IP)”;然后在打开的
属性窗口中,选中“使用下面的IP地址”设置IP地址、子网掩码以及默认网关,选中“使用下面的DNS服务器地址”,在
首选DNS服务器和备用DNS服务器中输入相应的DNS服务器地址;最后,连续单击“确定”按钮即可
1.3 DNS系统的作用
正向解析: 根据域名查找对应的IP地址,查询hosts文件
反向解析: 根据IP地址查找对应的域名(域名的反向解析不是很常用,只在一些特殊场合才会用到,比如:邮
件服务器中来阻拦垃圾邮件)
正向解析:FQDN--------IP(一对多)------一般使用正向解析
反向解析:IP------------FQDN
DNS的分布式数据结构
1.3.1 两种查询方式:
(1)递归查询
递归查询是一种DNS服务器的查询模式在该模式下DNS服务器接收客户机请求,必须使用一个准确的查询结果回复
客户机。如果DNS服务器本地没有存储查询 DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交
给客户机。
总的一句话,就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。
(2)迭代查询
DNS查询时S服务器查询结果,而告诉客户机另一台DN服务器地址,客户机再向这台NS服务器提求,依环直到回查
询的结果为止
总的一句话,客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地
址,而不会帮你去请求查询,这与递归截然相反
1.4 常用域名注解
域名: 通常由一个完全合格域名(FQDN)标识。FQDN 全称Fully Qualified Domain Name,它能准确表示出其相对
于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“”分
隔,对于DNS域google来说,其完全正式域名(FQDN)为google。
例如: google为com域的子域,其表示方法为google,而www为google域中的子域,可以使用
www.google,表示。
注意: 通常,FODN 有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)
只允许在域名标志之间(例如"google")或者 FQDN的结尾使用。
域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域
1.4.1 常见的各级域名
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区):
一级域名 | 解释 |
---|---|
工商企业 | |
网络供应商 | |
.edu | 教育机构 |
中国国家域名 | |
团体组织 | |
.gov | 政府部门 |
二级DNS服务器:专门负责二级域名的解析
二级域名 |
---|
.edu |
子域名DNS服务器:专门负责子域名的解析也称为三级域名
三级域名 |
---|
.ina |
.pku.edu |
主机站点
主机名 |
---|
tts9 |
tts6 |
www |
1.4.2 全域名
全域名:同时带有主机名和域名的名称 FQDN=Hostname+DomainName
如:www.baidu.
注意:最前而的一定是主机,最后一个点表示根域,通常是省略不写的,但实际www.baidu=www.baidu.
域名结构:
http://www.sina./
http://主机名 . 子域 . 二级域 . 顶级域 根域 ./
1.4.3 管理售卖机构
IANA,互联网数字分配机构
Internet Assigned Numbers Authority -整个域名系统的最高权威机构主管DNS根、.int、.arpa 等国际化域名资源
CNNIC中国互联网络信息中心
China Internet Network Information Center -主管国家顶级域
域名代理/注册/购买服务商
新网,http://www.xinnet
万网,http://www
中国互联,http://hulian.top
阿里云,https://aliyun/
腾讯云,https://cloud.tencent/
西部数码,https://www.west/
亚马逊,https://aws.amazon/cn/
1.4.4 补充
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
8.8.8.8是GOOGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用
223.5.5.5 和223.6.66:阿里云DNS
IPV6 2400:3200:1 和2400:3200baba::1
江苏省南京市(中国电信)
首选DNS为:218.2.135.1 备用DNS为:61.147.37.1
1.5 DNS使用的协议及端口号
DNS的默认端口为53。
DNS的端口协议分别为TCP和UDP
区域传送时使用TCP,主要有一下两点考虑:
1.辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一
次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数
据量要多得多。
2.TCP是一种可靠的连接,保证了数据的准确性。
域名解析时使用UDP协议:
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这
样DNS服务器负载更低,响应更快。虽然从理论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事
实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。
1.6 DNS服务器系统类型
1.6.1 缓存域名服务器
也称为DNS高速缓存服务器
通过向其他域名服务器查询获得域名 ---->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
1.6.2 主域名服务器
特定DNS区域的权威服务器,具有唯一性
负责维护该区域所有域名 ---->IP地址的映射记录
需要自行建立所负责区域的地址数据文件
1.6.3 从域名服务器
也称为辅助服务器,是对主域名服务器的热备份
其维护的域名----->IP地址记录来源于主域名服务器
需要从主域名服务器自动同步区域地址数据库
1.6.4 转发域名服务器
负责所有非本地域名的本地查询
转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求一次转发到指定的域名服务器,知道查到结
果为止,否则返回无法映射的结果。
二. BIND服务
2.1 BIND服务端程序
主要执行程序:/usr/sbin/named
默认监听端口 :53
主配置文件 /etc/named.conf
保存DNS解析记录的数据文件位于 /var/named
BIND服务控制
systemctl 【status|start|stop|restart】named.service
2.2 主配置文件named.conf
全局配置部分
设置DNS服务器的全局参数
包括监听地址和服务端口、区域数据文件存放的目录等
使用options {……};的配置端
三. 实验配置
3.1 DNS正向解析实验
1.安装bind软件
rpm -q bind ###查看是否有安装
yum install -y bind #### 没有安装就用yum安装
2. 查看需要修改的配置文件所在路径
rpm -qc bind ###查看配置文件
3. 修改主配置文件(etc/named.conf)
vim /etc/named.conf ###进入编辑器编辑配置文件
options {
listen-on-v6 poet 53 { 192.168.161.136 ; }; #监听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代表所有
zone "." IN { #正向解析“. "根区域
type hint; #类型为根区域
file "named.ca"; #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
};
4. 修改区域配置文件,添加正向区域配置(/etc/named.rfc1912.zones)
vim /etc/named.rfc1912.zones
zone "liang. com" IN { #正向解析"liang"区域
type master; #类型为主区域
file "liang. com. zone"; #指定区域数据文件为liang. com. zone
allow-update {192.168.161.136; };
};
5.配置正向区域数据文件(/var/named/liang.zone)
cd /var/named/ ####进到正向数据文件区域进行备份
cp -p named.localhost liang.zone ###保留源文件的权限和属主的属性复制
vim /var/named/liang.zone ###进入编辑器编辑内容
$TTL 1D #设置缓存解析结果的有效时间
@ IN SOA liang. admin.liang. (
0; serial .
1D; refresh
1H; retry
1W; expire
3H ) ; minimum
NS liang. #记录当前区域的DNS服务器的名称
A 192.168.161.136 #记录主机IP地址
IN MX 10 mail.zhangbin. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.161.136 #记录正向解析www.liang对应的IP
mail IN A 192.168.161.100
ftp IN CNAME www #CNAME使用别名,ftp是www的别名
* IN A 192.168.161.200 #泛域名解析,“*"代表任意主机名
6.启动服务,关闭防火墙
systemctl start named ###启动服务
systemctl stop firewalld ### 关闭防火墙
systemctl status named ### 查看服务状态
注:
**若服务启动不了可以用tail -f /var/log/messages ###查看日志文件来排除错误 **
rndc-confgen -r /dev/urandom -a #如果服务启动卡住,可以执行此命令解决
7. 检查配置文件
named-checkconf -z /etc/named.conf
8. 在客户端的域名解析配置文件中添加DNS服务器地址
法 1:
vim /etc/resolv.conf #修改完后立即生效
nameserver 192.168.161.136
cat /etc/resolv.conf ###查看
法 2:
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.161.136
systemctl restart network ###重启网卡
9. 测试DNS解析(nslookup/host)
3.2 反向解析实验
前面配置一样: 从安装bind服务到修改主配置文件
1、修改区域配置文件,添加反向区域配置
vim /etc/named. rfc1912. zones ###进入编辑器修改反向及解析
zone "136.161.168.192. in-addr.arpa" IN { #反向解析的地址倒过来写,代表解析192.168.223段的地址
type master;
file "liang.zone.local"; #指定区域数据文件为liang.zone.local
allow-update { none; } ;
2.备份指定区域数据配置文件,然后编辑指定区域数据配置文件
cd /var/ named/
cp -p named.localhost liang.zone.local
vim /var/named/liang.zone.local
$TTL 1D
@ IN SOA liang. admin.liang. ( #这里的“@"代表192.168.161段地址 )
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS liang.
A 192.168.161.136
100 IN PTR www.liang.
200 IN PTR mail.liang
50 IN PTR ftp.liang
#PTR为反向指针,反向解析192.168.161.200地址结果为www.liang.
邮箱地址为mail.liang
3.使用 host或nslookup 测试即可
3.3 DNS主从同步
实验环境
主服务器:192.168.161.133
从服务器:192.168.161.128
1.配置主服务器(192.168.161.133)
vim /etc/named.conf ###进入编辑器编辑
options {
listen-on port 53 { any; }; ###监听所有IP
# listen-on-v6 port 53 { ::1; };
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”;
recursing-file “/var/named/data/named.recursing”;
secroots-file “/var/named/data/named.secroots”;
allow-query {any ; }; ###地址改允许所有IP
2.修改主服务器区域配置文件 (/etc/named.rfc1912.zones)
vim /etc/named.rfc1912.zones
zone "liang" IN {
type master; #表示该服务为域内主DNS服务器
file "liang.zone"; #该域的配置文件的名字,放在/var/named/
allow-update { 192.168.161.128; }; #括号内为从服务器地址
};
"/etc/named.rfc1912.zones" 5L, 113C
3.修改数据配置文件
我们从/var/named/下面复制一份正向解析的模板文件,然后把域名和IP地址对应数据填写进去。(named-checkconf、named-checkzone 这两个命令可以帮助我们检查语法或参数中的错误。)
cp -a 可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容。
cd /var/named/
cp -a named.localhost liang.zone
vi liang.zone ### 编辑配置文件
$TTL 1D #设置缓存解析结果的有效时间
@ IN SOA liang. admin.liang. (
0; serial .
1D; refresh
1H; retry
1W; expire
3H ) ; minimum
NS liang. #记录当前区域的DNS服务器的名称
A 192.168.161.133 #记录主机IP地址
IN MX 10 mail.zhangbin. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.161.133 #记录正向解析www.liang对应的IP
mail IN A 192.168.161.100
ftp IN CNAME www #CNAME使用别名,ftp是www的别名
* IN A 192.168.161.200 #泛域名解析,“*"代表任意主机名
修改完后重启服务 systemctl restart named
4. 测试
5.配置从服务器(192.168.161.128)
安装服务 yum install -y named
6.修改从服务器区域配置文件(/etc/named.rfc1912.zones)
vim /etc/named.conf
options {
listen-on port 53 { 192.168.161.128; };
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
7.修改从域名服务器区域配置文件,添加正、反区域配置
vim /etc/named.rfc1912.zones
zone "liang" IN {
type slave;
file "slaves/liang.zone";
masters {192.168.161.133; };
};
zone "133.161.168.192.in-addr.arpa" IN {
type slave;
file "slave/liang.zone.local";
allow-update { 192.168.161.133; };
};
总结:
DNS域名解析的过程有助于我们搭建相关服务,以及查找相关问题
版权声明:本文标题:DNS域名解析 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726533088a1074380.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论