DNS域名服务

DNS服务器分类

缓存域名服务器

  1. 也称为高速缓存服务器
  2. 通过向其他域名服务器查询获得域名 -> IP 地址记录
  3. 将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

  1. 特定 DNS 区域的官方服务器,具有唯一性
  2. 负责维护该区域内所有域名 -> IP 地址的映射记录

从域名服务器

  1. 也称为辅助域名服务器
  2. 其维护的域名 -> IP 地址记录来源于主域名服务器

搭建DNS服务器

安装软件

[root@wpt ~]# yum install bind bind-chroot bind-utils -y

配置文件介绍

使用BIND软件构建域名服务是,主要涉及两种类型的配置文件:主配置文件和区域数据文件。其中,主配置文件用于设置named服务的全局选项、注册区域及访问控制等各种运行参数;区域数据文件用于保存 DNS 解析记录的数据文件(正向或反向记录)。
BIND配置文件保存在两个位置:
/etc/named.conf BIND服务主配置文件
/var/named/ zone文件(域的dns信息)
如果安装了bind-chroot,BIND会被封装到一个伪根目录内,原先的文件配置文件的路径位置变为:
/var/named/chroot/etc/named.conf ----BIND服务主配置文件
/var/named/chroot/var/named/ ---------zone文件

复制配置相关文件


[root@wpt ~]# cp -rv /usr/share/doc/bind-9.11.4/sample/etc/* /var/named/chroot/etc/
[root@wpt ~]# cp -rv /usr/share/doc/bind-9.11.4/sample/var/* /var/named/chroot/var/ bind-chroot安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.11.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:
# 拷贝bind相关文件,准备 bind chroot 环境
cp -R /usr/share/doc/bind-*/sample/var/named/* /var/named/chroot/var/named/ # 将 /etc/named.conf 拷贝到 bind chroot目录
# -p 复制后目标文件保留源文件的属性 (包括所有者、所属组、权限和时间)
cp -p /etc/named.conf /var/named/chroot/etc/named.conf # 在 bind chroot 的目录中创建相关文件
touch /var/named/chroot/var/named/data/cache_dump.db
touch /var/named/chroot/var/named/data/named_stats.txt
touch /var/named/chroot/var/named/data/named_mem_stats.txt
touch /var/named/chroot/var/named/data/named.run
mkdir /var/named/chroot/var/named/dynamic # 修改文件属主和属组
chown -R named:named /var/named/chroot/var/named # 启动服务
systemctl start named-chroot

构建缓存域名服务器

案例介绍

  • 缓存域名服务器的IP地址为192.168.142.128。
  • ​ 局域网内的PC机将首选DNS服务器设为192.168.142.128。
  • 缓存域名服务器能够访问Internet中的其他DNS服务器。
  • ​ 负责处理局域网PC机的DNS解析请求,并缓存查询结果。

基本步骤:

​ 1.建立named.conf主配置文件,通过根域或者转发器机制指定解析源;
​ 2.确认建立named.ca根区域数据文件,若使用转发器机制则无需此步骤;
​ 3.启动named服务;
​ 4.验证缓存域名服务器;

实现方案

### 1.修改主配置文件
[root@wpt ~]# vim /var/named/chroot/etc/named.conf # 指定数据文件的存放目录 默认无需修改
directory "/var/named"; # 指定服务器监听的地址和端口
listen-on port 53 { 127.0.0.1; 192.168.142.128; }; # 指定允许内网网段地址主机可以查询授权区域数据
allow-query { 192.168.142.0/24; }; # 哪些主机查询非授权区域记录时,为其做递归
allow-query-cache { 192.168.142.0/24; }; # 开启递归 默认为开启
# 如果你要建立一个 授权域名服务器 服务器, 那么不要开启 recursion(递归) 功能。
# 如果你要建立一个 递归 DNS 服务器, 那么需要开启recursion 功能。
# 如果你的递归DNS服务器有公网IP地址, 你必须开启访问控制功能,
# 只有那些合法用户才可以发询问. 如果不这么做的话,那么你的服
# 服务就会受到DNS 放大攻击。实现BCP38将有效抵御这类攻击。
recursion yes; ########################使用转发器#################################
# 如果不使用根区域,也可以选择设置转发器,即可以指向另外一个DNS服务器。
# forward 可以是first,也可以是only
# forward first设置优先使用forwarders DNS服务器做域名解析,如果查询不到再使用本地DNS服务器做域名解析。
# forward only设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败。 # 在 options{}; 中加入以下内容
# forward only;
# forwarders {8.8.8.8};
################################################################## ### 2. 配置根区域 这样服务器不知道域名记录时,就去找根DNS服务器 在区域文件目录中必须存在"/var/named/named.ca"这个文件,里面记录了根DNS服务器的地址(共13个)
cat /var/named/chroot/var/named/named.ca | grep -v '^;'|grep -v '^$' ### 3.检查配置文件语法
named-checkconf /var/named/chroot/etc/named.conf ### 180错误解决
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST "test_key"
[root@localhost ~]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST "test_key"
Ktest_key.+157+09104
[root@localhost ~]# cat Ktest_key.+157+09104.key
test_key. IN KEY 512 3 157 XkByzMnhtuSq4IItAzKb3w==
## 复制XkByzMnhtuSq4IItAzKb3w== 然后修改文件key 大概在180行左右 # 4 重启服务
systemctl restart named-chroot ## 测试前把双方的防火墙都关掉,或者在服务器端配置dns服务
[root@wpt ~]# firewall-cmd --add-service=dns
## 测试时把客户端的dns地址解析改为服务端的,文件在/etc/resolv.conf下 ###############################################################
##################客户端验证是否可以解析#########################
###############################################################
# 5 安装客户端命令行工具
yum install bind-utils # 6 配置首选DNS为192.168.215.3
cp /etc/resolv.conf /etc/resolv.conf.bak
vim /etc/resolv.conf
# 修改以下内容
nameserver 192.168.215.3 # 7 解析域名
# 第一台客户端解析会慢一些,第二台客户端解析相同域名会很快,因为有了缓存。
nslookup www.baidu.com #eg:
root@experiment2 ~# nslookup www.baidu.com
Server: 192.168.142.128
Address: 192.168.142.128#53 Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 39.156.66.18
Name: www.a.shifen.com
Address: 39.156.66.14

构建主域名服务器

案例介绍

  • 负责abc.com域的解析
  • 网站服务器 www.abc.com,IP地址为192.168.142.10
  • 邮件服务器 mail.abc.com,IP地址为192.168.142.20
  • 在线视频服务器 video.abc.com,IP地址为192.168.142.30
  • 主域名服务器 ns1.abc.com ,IP地址为192.168.142.3
  • 从域名服务器 ns2.abc.com,IP地址为192.168.142.5

基本步骤

  1. 确认本机网络地址、主机映射、默认DNS服务器地址。
  2. 建立主配置文件named.conf。
  3. 建立正、反向区域数据文件。
  4. 启动named服务或重载配置。
  5. 验证主域名服务器。

实现方案

### 1 确认本机网络地址、主机映射、DNS服务器地址
# 为了提高域名解析效率,将两个DNS服务器的地址映射直接写入到/etc/hosts文件中
vim /etc/hosts
192.168.142.128 ns1.abc.com ns1
192.168.142.6 ns2.abc.com ns2 # 指定两个DNS服务器的地址为首选和备份DNS
vim /etc/resolv.conf # 写入以下内容
# search 定义域名的搜索列表
nameserver 192.168.142.128
nameserver 192.168.142.6 ### 2 修改主配置文件
vim /var/named/chroot/etc/named.conf
# 在 zone "." IN 前面加入以下内容 # 一个zone关键字定义一个域区 # type类型有三种,它们分别是master,slave和hint它们的含义分别是:
# master:表示定义的是主域名服务器
# slave [sleɪv]:表示定义的是辅助域名服务器
# hint [hɪnt]暗示:表示是互联网中根域名服务器 # file 指定具体存放DNS记录的文件 # allow-transfer [trænsˈfɜːr , ˈtrænsfɜːr]指定哪些主机可以从服务器上接收区域传输,未指定将允许传说到所有的主机
zone "abc.com" IN {
type master;
file "abc.com.zone";
allow-transfer {192.168.142.6;};
};
# 定义一个IP为192.168.215.*的反向域区
zone "142.168.192.in-addr.arpa" {
type master;
file "192.168.142.arpa.zone";
allow-transfer {192.168.142.6;};
}; ### 3 建立正向区域数据文件
cp -p /var/named/named.localhost /var/named/chroot/var/named/abc.com.zone
vim /var/named/chroot/var/named/abc.com.zone
# 修改以下内容
# “@”表示当前的DNS区域名,相当于“abc.com.”
# $TTL(Time To Live,生存时间)记录
# SOA(Start Of Authority[əˈθɔːrəti],授权信息开始)记录
# 分号“;” 开始的部分表示注释信息
# NS 域名服务器(Name Server):记录当前区域的DNS服务器的主机地址
# MX 邮件交换(Mail Exchange[ɪksˈtʃeɪndʒ]):记录当前区域的邮件服务器的主机地址,数字10表示优先级。
# A 地址(Address):记录正向解析条目,只用在正向解析区域中
# CNAME 别名(Canonical[kəˈnɑːnɪkl] Name):记录某一个正向解析条目的其他名称
# PTR 指针(Point)记录,只用在反向解析区域中
$TTL 1D
@ IN SOA abc.com. admin.abc.com. (
2020112901 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.abc.com.
IN NS ns2.abc.com.
MX 10 mail.abc.com.
www IN A 192.168.142.10
mail IN A 192.168.142.20
video IN A 192.168.142.30
ns1 IN A 192.168.142.128
ns2 IN A 192.168.142.6
# 验证区域数据文件
# named-checkzone zonename filename
named-checkzone abc.com /var/named/chroot/var/named/abc.com.zone ### 4 建立反向区域数据文件
cd /var/named/chroot/var/named/
cp -p abc.com.zone 192.168.142.arpa.zone
vim 192.168.142.arpa.zone
$TTL 1D
@ IN SOA abc.com. admin.abc.com. (
2020112901 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.abc.com.
IN NS ns2.abc.com.
10 IN PTR www.abc.com.
20 IN PTR mail.abc.com.
30 IN PTR study.abc.com.
128 IN PTR ns1.abc.com.
6 IN PTR ns2.abc.com.
# 验证区域数据文件
named-checkzone 215.168.192.in-addr.arpa 192.168.142.arpa.zone
# 5 重启服务
systemctl restart named-chroot ###############################################################
##################客户端验证是否可以解析#########################
###############################################################
[root@wpt named]# nslookup
> www.abc.com
Server: 192.168.142.128
Address: 192.168.142.128#53 Name: www.abc.com
Address: 192.168.142.10
> mail.abc.com
Server: 192.168.142.128
Address: 192.168.142.128#53 Name: mail.abc.com
Address: 192.168.142.20
> 192.168.142.30
30.142.168.192.in-addr.arpa name = study.abc.com.

构建从域名服务器

为了降低主域名服务器的压力,可以构建从域名服务器,不仅可以负载分担,还可以起到备份作用。

基本步骤

  1. 确认本机网络地址、主机映射、默认DNS服务器地址。
  2. 建立主配置文件named.conf。
  3. 启动named服务,查看区域数据文件是否下载成功。
  4. 验证从域名服务器。

实现方案

# 1 安装
yum install bind bind-chroot bind-utils # 2 启动服务
systemctl start named-chroot.service # 3 确认本机网络地址、主机映射、DNS服务器地址
# 为了提高域名解析效率,将两个DNS服务器的地址映射直接写入到/etc/hosts文件中
vim /etc/hosts
192.168.142.128 ns1.abc.com ns1
192.168.142.6 ns2.abc.com ns2 # 指定两个DNS服务器的地址为首选和备份DNS
vim /etc/resolv.conf # 写入以下内容
# search 定义域名的搜索列表
nameserver 192.168.142.128
nameserver 192.168.142.6 # 4 建立主配置文件
cd /var/named/chroot/
vim /etc/named.conf
# 修改如下配置
listen-on port 53 { 127.0.0.1; 192.168.142.6; };
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters {192.168.142.128;};
};
zone "142.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.142.arpa.zone";
masters {192.168.142.128;};
}; # 5 关闭两个机器的防火墙
systemctl stop firewalld # 6 重启服务
systemctl restart named-chroot # 7 查看是否同步成功
ll /var/named/chroot/var/named/slaves/ -rw-r--r--. 1 named named 362 Nov 23 22:35 abc.com.zone
# 8 使用从域名服务器进行验证
root@experiment2 /v/n/chroot# nslookup
> www.abc.com
Server: 192.168.142.6
Address: 192.168.142.6#53 Name: www.abc.com
Address: 192.168.142.20

nslookup命令详解

###   nslookup命令详解
nslookup -qt=type domain [dns-server] 其中,type可以是以下这些类型: A 地址记录
AAAA 地址记录
AFSDB Andrew文件系统数据库服务器记录
ATMA ATM地址记录
CNAME 别名记录
HINFO 硬件配置记录,包括CPU、操作系统信息
ISDN 域名对应的ISDN号码
MB 存放指定邮箱的服务器
MG 邮件组记录
MINFO 邮件组和邮箱的信息记录
MR 改名的邮箱记录
MX 邮件服务器记录
NS 名字服务器记录
PTR 反向记录
RP 负责人记录
RT 路由穿透记录
SRV TCP服务器信息记录
TXT 域名对应的文本信息
X25 域名对应的X.25地址记录
###例如
[root@localhost ~]# nslookup -qt=mx baidu.com 8.8.8.8

国内常用的DNS服务器

114DNS

114DNS开启DNS高可靠服务时代的大幕。114DNS开始同时为公众提供高速、稳定、可信的DNS递归解析服务;为网站提供强大抗攻击能力的权威智能DNS解析服务;为ISP提供可靠的DNS灾备及外包服务,作为国内用户量最大的老牌DNS,访问速度快,各地区设有节点,负载各运营商用户,DNS防劫持能力,自然也是名列前茅。
DNS 服务器 IP 地址:

  1. 首选:114.114.114.114
  2. 备选:114.114.114.115

2017公共DNS服务器地址评估—DNS推荐

DNSPod DNS

DNSPod创始于2006年3月,是中国最大的第三方域名服务商,全球排名第四位。DNSPod是国内最早提供免费智能DNS产品的网站,致力于为各类网站提供高质量的电信、网通、教育网双线或者三线智能DNS免费解析,作为114DNS竞争对手之一,无论是访问速度,还是各地区节点覆盖率以及防劫持能力都是顶级的。
DNS 服务器 IP 地址:

  1. 首选:119.29.29.29
  2. 备选:182.254.116.116

2017公共DNS服务器地址评估—DNS推荐

阿里 DNS

阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,作为国内最大的互联网基础服务提供商,阿里巴巴在继承多年优秀技术的基础上,通过提供性能优异的公共DNS服务,为广大互联网用户提供最可靠的面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。
DNS 服务器 IP 地址:

  1. 首选:223.5.5.5
  2. 备选:223.6.6.6

2017公共DNS服务器地址评估—DNS推荐

百度 DNS

百度开放DNS主要面向企业,旨在集结行业力量,以开放的方式共同打造一个全球最大的、稳定的、高效的、纯净的公共DNS平台,作为核心基础设施服务于整个互联网,百度DNS拥有一流基础设施和强大技术实力,为用户提供免费的DNS服务。
DNS 服务器 IP 地址:

  1. 首选:180.76.76.76
  2. 备选:暂未公布

2017公共DNS服务器地址评估—DNS推荐

CNNIC SDNS

SDNS已在全球部署了多个节点,提供智能的、弹性的平台支持能力,可随用户的需求而变化。每节点建设在运营商4A、5A级机房,每节点配备服务器集群,多线路出口,节点之间相互冗余备份。通过多线路,确保每一次查询的全局路由最优化,最大程度上使用户解析就近响应。
DNS 服务器 IP 地址:

  1. 首选:1.2.4.8
  2. 备选:202.98.0.68

2017公共DNS服务器地址评估—DNS推荐

DNS派

DNS派拥有全球最领先的云 DNS 集群技术,领先的分布式云服务,遍布全国的解析服务器,多年 DNS 领域专业研究,DNS派拥有全球最领先的云DNS集群技术,领先的分布式云服务,遍布全国的解析服务器,能为域名的权威解析提供强有力的支持。
DNS 服务器 IP 地址:

  1. 首选:101.226.4.6
  2. 备选:218.30.118.6

附:国外常用DNS服务器

  1. Google Public DNS (8.8.8.8, 8.8.4.4)
  2. OpenDNS (208.67.222.222, 208.67.220.220)
  3. OpenDNS Family (208.67.222.123, 208.67.220.123)
  4. Dyn DNS (216.146.35.35, 216.146.36.36)
  5. Comodo Secure (8.26.56.26, 8.20.247.20)
  6. UltraDNS (156.154.70.1, 156.154.71.1)
  7. Norton ConnectSafe (199.85.126.10, 199.85.127.10)

本文部分内容摘自:https://blog.csdn.net/weixin_49912759/article/details/110419273及https://blog.csdn.net/weixin_43634280/article/details/84361024

DNS域名服务及常用国内DNS服务器地址的更多相关文章

  1. 常用邮箱SMTP服务器地址大全

    常用邮箱SMTP服务器地址大全 阿里云邮箱(mail.aliyun.com) POP3服务器地址:pop3.aliyun.com(SSL加密端口:995:非加密端口:110) SMTP服务器地址:sm ...

  2. Linux时间同步+国内常用的NTP服务器地址

    当Linux服务需要时间戳的时候,时间同步就显得十分重要.这里介绍下,最近我使用的一个同步命令. # ntpdate s1a.time.edu.cn 国内常用的NTP地址 210.72.145.44 ...

  3. 常用邮件SMTP POP3服务器地址大全

    #阿里云邮箱(mail.aliyun.com): POP3服务器地址:pop3.aliyun.com(SSL加密端口:995:非加密端口:110) SMTP服务器地址:smtp.aliyun.com( ...

  4. 【计算机网络】DNS的作用以及修改DNS的方法

    1.DNS的作用及修改DNS的方法 1.1.DNS的作用 DNS就是将域名映射成ip的分布式数据库服务器,它的作用如下图: 1.2.修改DNS的方法 常用的DNS服务器 1.114.114.114.1 ...

  5. 常用公共DNS服务器地址

    DNS,全称Domain Name System,即域名解析系统,帮助用户在互联网上寻找路径,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持和DNS污染的 ...

  6. 国内外常用的DNS服务器

    国内外常用的DNS服务器 DNS,全称Domain Name System,即域名解析系统,帮助用户在互联网上寻找路径,它在互联网的作用是把域名转换成为网络可以识别的IP地址. 国外DNS服务器地址: ...

  7. 国内外DNS服务器地址列表

    DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持的方法,干扰用户正常上网,使得用户无法 ...

  8. 中国内地、台湾、香港、澳门和国外DNS服务器地址列表

    中国内地.台湾.香港.澳门和国外DNS服务器地址列表 详细内容 作者:网路岗 来源:局域网监控软件 DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成 ...

  9. DNS服务器地址汇总

    如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...

  10. 最新可靠好用的DNS服务器地址汇总

    如果修改DNS服务器地址就可以访问google等服务,你还等什么?使用免费DNS解析服务除了去掉了运营商的各种广告,还有个最大的好处就是不会重定向或者过滤用户所访问的地址,这样就防止了很多网站被电信. ...

随机推荐

  1. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-64 - Canvas和SVG元素推拽

    1.简介 今天宏哥分享的在实际测试工作中很少遇到,比较生僻,如果突然遇到我们可能会脑大.懵逼,一时之间不知道怎么办?所以宏哥这里提供一种思路供大家学习和参考. 2.SVG简介 svg也是html5新增 ...

  2. 神经网络之卷积篇:详解边缘检测示例(Edge detection example)

    详解边缘检测示例 卷积运算是卷积神经网络最基本的组成部分,使用边缘检测作为入门样例.在这个博客中,会看到卷积是如何进行运算的. 在之前的博客中,说过神经网络的前几层是如何检测边缘的,然后,后面的层有可 ...

  3. 在一串字符串中Java使用正则匹配电话号码的方法

    1.使用正则表达式来匹配电话号码 在Java中,使用正则表达式匹配电话号码是一个常见的需求.电话号码的格式可能因国家/地区而异,但一个典型的格式可能是这样的:(123) 456-7890.在这个例子中 ...

  4. 9组-Beta冲刺-2/5

    一.基本情况(15分) 队名:不行就摆了吧 组长博客:9组-Beta冲刺-2/5 GitHub链接:https://github.com/miaohengming/studynote/tree/mai ...

  5. dubbo服务治理(一)降级

    在线网站一般都会有服务器压力剧增的时候,比如说网上商城的促销,这个时候常用的手段就是服务降级,根据当前业务情况及流量对一些服务和页面有策略的降级,以此缓解了服务器资源压力,以保证核心任务的正常运行,同 ...

  6. 存储过程中调用EXECUTE IMMEDIATE的“权限不足”

    EXECUTE IMMEDIATE是Oracle中使用动态SQL的一种方法,可以直接执行,也可以在存储过程中调用.然而在存储过程中调用可能会遇到权限不足的问题,如在存储过程中执行重建索引语句: sql ...

  7. 联想小新Air14使用傲梅分区助手进行硬盘克隆出现的问题,克隆完显示RAW格式解决方案,win10家庭版硬盘BitLocker上锁解锁方法

    联想小新Air14使用傲梅分区助手进行硬盘克隆出现的问题,克隆完显示RAW格式解决方案 买电脑时没考虑到512会不够用,也没注意到小新Air14是单插槽的,所以有了今天的故事. 本文会就自己的经历,提 ...

  8. 【Burp Suite】Mac之破解明文密码

    一.安装CA证书 安装证书是为了代理的时候可以继续访问地址,否则的话会提示网络异常 参考文章:<Mac系统Burp Suite的安装>,文章中是火狐浏览器的操作 1.谷歌浏览器 选择导出的 ...

  9. 如何使用ChatGPT自带插件

    OpenAI的插件将ChatGPT连接到第三方应用程序.这些插件使ChatGPT能够与开发者定义的API进行交互,增强ChatGPT的能力,并使其能够执行广泛的操作.插件使ChatGPT能够做如下事情 ...

  10. 1. Two Sum Go实现

    在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标. 1. 解法1 时间复杂度 O(n^2) 直接两次遍历所有节点,进行求和比较 代码如下: func twoSum(num ...