域名申请及解析

域名申请及解析

DNS 基本概念

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器 直接读取的IP数串。

域名的分层结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。

这里,“域”(domain)是名字空间中一个可被管理的划分。从语法上讲,每一个域名都是有标号(label) 序列组成,而各标号之间用点(小数点)隔开。域名可以划分为各个子域,子域还可以继续划分为子 域的子域,这样就形成了顶级域、主域名、子域名等。

关于域名层次结构如下图:

image-20211011111820133

域名分层举例

“.com”是顶级域名;

“aliyun.com”是主域名(也可称托管一级域名),主要指企页名;

“example.aliyun.com”是子域名(也可称为托管二级域名);

“www.example.aliyun.com”是子域名的子域(也可称为托管三级域名)。

DNS的分层结构

域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装 有域名系统的主机。

域名解析过程涉及4个DNS服务器,分别如下:

在这里插入图片描述

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器

每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询

DNS 解析过程

DNS查询的结果通常会在本地域名服务器中进行缓存,如果本地域名服务器中有缓存的情况下, 则会跳过如下DNS查询步骤,很快返回解析结果。下面的示例则概述了本地域名服务器没有缓存 的情况下,DNS查询所需的8个步骤:

\1. 用户在Web浏览器中输入“example.com”, 则由本地域名服务器开始进行递归查询。

\2. 本地域名服务器采用迭代查询的方法,向根域名服务器进行查询 。

\3. 根域名服务器告诉本地域名服务器,下一步应该查询的顶级域名服务器.com TLD的IP地址

\4. 本地域名服务器向顶级域名服务器.com TLD进行查询

\5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的IP地址‘

\6. 本地域名服务器向example.com权威域名服务器发送查询

\7. example.com权威域名服务器告诉本地域名服务器所查询的主机IP地址

\8. 本地域名服务器最后把查询的IP地址响应给web浏览器

一旦DNS查询的8个步骤返回了example.com的IP地址,浏览器就能够发出对网页的请求:

\1. 浏览器向IP地址发出HTTP请求

\2. 该IP处的web服务器返回要在浏览器中呈现的网页

在这里插入图片描述

DNS术语

1、递归查询

是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务 器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结构提交给用 户。

2、迭代查询

是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器 的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

3、DNS缓存

DNS缓存是将解析数据存储在靠近发起请求的客户端的位置,也可以说DNS数据是可以缓存在任 意位置,最终目的是以此减少递归查询过程,可以更快的让用户获得请求结果。

4、TTL

英文全称Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时 间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进 行递归查询/迭代查询的过程。

5、IPV4、IPV6双栈技术

双栈英文Dual IP Stack,就是在一个系统中可同时使用IPv6/ IPv4这两个可以并行工作的协议栈

6、TLD Server

英文全称Top-level domains Server,指顶级域名服务器。

7、DNS Resolver

指本地域名服务器,它是DNS查找中的第一站,是负责处理发出初始请求的DNS服务器。运营商 ISP分配的DNS、谷歌8.8.8.8等都属于DNS Resolver。

8、Root Server

指根域名服务器,当本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获 取顶级域名服务器的IP地址。

9、DNS Query Flood Attack

指域名查询攻击,攻击方法是通过操纵大量傀儡机器,发送海量的域名查询请求,当每秒域名查询 请求次数超过DNS服务器可承载的能力时,则会造成解析域名超时从而直接影响业务的可用性。

10、URL转发

英文 Url Forwarding,也可称地址转向,它是通过服务器的特殊设置,将一个域名指向到另外一 个已存在的站点

11、edns-client-subnet

google提交了一份DNS扩展协议,允许DNS resolver传递用户的ip地址给authoritative DNS server.

12、DNSSEC

域名系统安全扩展(DNS Security Extensions),简称DNSSEC。它是通过数字签名来保证DNS 应答报文的真实性和完整性,可有效防止DNS欺骗和缓存污染等攻击,能够保护用户不被重定向 到非预期地址,从而提高用户对互联网的信任。

DNS 记录类型

DNS支持A、CNAME、MX、TXT、SRV、AAAA、NS、CAA记录类型

在这里插入图片描述

DNS 客户端检测工具

正、反解查询命令:host、nslookup、dig

1、host

解析域名对应的IP地址和别名等信息

语法

host [选项] [主机名或IP] [server]

常用选项

-a:列出该主机详细的各项主机名称设定资料

常用参数

server:host 命令默认是使用 /etc/resolv.conf 文件中的 DNS 主机来查询的,若设置该参数,则 使用这里设置的 DNS 主机进行查询。

应用实例

1)解析域名对应的IP地址等信息

host 域名

[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 61.135.169.125
www.a.shifen.com has address 61.135.169.121

host -a 域名

[root@localhost ~]# host -a www.baidu.com
Trying "www.baidu.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29562
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 5
;; QUESTION SECTION:
;www.baidu.com. IN ANY
;; ANSWER SECTION:
www.baidu.com. 1000 IN CNAME www.a.shifen.com.
;; AUTHORITY SECTION:
baidu.com. 52656 IN NS ns7.baidu.com.
baidu.com. 52656 IN NS ns3.baidu.com.
baidu.com. 52656 IN NS ns2.baidu.com.
baidu.com. 52656 IN NS ns4.baidu.com.
baidu.com. 52656 IN NS dns.baidu.com.
;; ADDITIONAL SECTION:
dns.baidu.com. 52853 IN A 202.108.22.220
ns2.baidu.com. 65473 IN A 61.135.165.235
ns3.baidu.com. 52760 IN A 220.181.37.10
ns4.baidu.com. 65473 IN A 220.181.38.10
ns7.baidu.com. 53740 IN A 180.76.76.92
Received 228 bytes from 10.0.2.3#53 in 9 ms

www.baidu.com 通过 CNAME 映射到 www.a.shifen.com,但是无法直接访问 www.a.shifen.co m 。

Web应用防火墙或高防IP生产的CNAME域名,是用于DNS解析的,不能直接访问。

在这里插入图片描述

2)使用自定义的 DNS主机 解析域名对应的IP地址等信息

host 域名 DNS主机名或IP

[root@localhost ~]# host www.baidu.com 168.95.1.1
Using domain server:
Name: 168.95.1.1
Address: 168.95.1.1#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 180.97.33.108
www.a.shifen.com has address 180.97.33.107
[root@localhost ~]# host www.baidu.com dns.hinet.net
Using domain server:
Name: dns.hinet.net
Address: 168.95.1.1#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 180.97.33.108
www.a.shifen.com has address 180.97.33.107
[root@localhost ~]# host www.baidu.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 61.135.169.121
www.a.shifen.com has address 61.135.169.125

2、nslookup

域名解析工具,就是查DNS信息用的命令。使用 /etc/resolv.conf 这个文件作为 DNS 服务器的来 源选择。

语法

nslookup [主机名或IP]

应用实例

1)解析域名对应的IP地址

nslookup 域名

[root@localhost ~]# nslookup www.baidu.com
Server: 10.0.2.3
Address: 10.0.2.3#53
Non-authoritative answer:
Name: www.baidu.com
Address: 61.135.169.121
Name: www.baidu.com
Address: 61.135.169.125

2)解析IP地址对应的主机名

并不是所有的IP地址都能解析成功

nslookup IP

[root@localhost ~]# nslookup 168.95.1.1
Server: 10.0.2.3
Address: 10.0.2.3#53
Non-authoritative answer:
1.1.95.168.in-addr.arpa name = dns.hinet.net.
Authoritative answers can be found from:
95.168.in-addr.arpa nameserver = ans1.hinet.net.
95.168.in-addr.arpa nameserver = ans2.hinet.net.
ans1.hinet.net internet address = 168.95.192.15
ans1.hinet.net has AAAA address 2001:b000:168::1:100:1
ans2.hinet.net internet address = 168.95.1.15
ans2.hinet.net has AAAA address 2001:b000:168::2:100:1

3)查看本机DNS服务器

nslookup server

** server can't find server: NXDOMAIN
[root@localhost ~]# nslookup server
Server: 10.0.2.3
Address: 10.0.2.3#53

3、dig

域名查询工具,可以用来测试域名系统工作是否正常。

功能与 nslookup 类似,建议使用 dig 来取代 nslookup

安装

若系统默认没有 dig 命令,则使用下面命令进行安装。

[root@localhost ~]# yum install bind-utils

语法

dig [选项] [主机名]

常用选项

@:dig 命令默认使用 /etc/resolv.conf 文件中的 DNS 主机来解析域名,若设置该参数,则使用这 里设置的 DNS 主机进行解析。

-b :当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求。

应用实例

1)解析域名对应的IP地址等信息

[root@localhost ~]# dig www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50280
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 6
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1096 IN CNAME www.a.shifen.com.
www.a.shifen.com. 290 IN A 61.135.169.121
www.a.shifen.com. 290 IN A 61.135.169.125
;; AUTHORITY SECTION:
a.shifen.com. 34 IN NS ns3.a.shifen.com.
a.shifen.com. 34 IN NS ns4.a.shifen.com.
a.shifen.com. 34 IN NS ns1.a.shifen.com.
a.shifen.com. 34 IN NS ns5.a.shifen.com.
a.shifen.com. 34 IN NS ns2.a.shifen.com.
;; ADDITIONAL SECTION:
ns1.a.shifen.com. 411 IN A 61.135.165.224
ns2.a.shifen.com. 435 IN A 180.149.133.241
ns3.a.shifen.com. 431 IN A 61.135.162.215
ns4.a.shifen.com. 431 IN A 115.239.210.176
ns5.a.shifen.com. 435 IN A 119.75.222.17
;; Query time: 11 msec
;; SERVER: 10.0.2.3#53(10.0.2.3)
;; WHEN: Wed May 16 08:40:42 UTC 2018
;; MSG SIZE rcvd: 271

HEADER(标题):显示查询的内容有哪些,包括1个QUERY, 3个 ANSWER 及5个AUTHORITY。

QUESTION(问题):显示所要查询的内容。

ANSWER(回答):依据刚刚的 QUESTION 去查询所得到的结果。

AUTHORITY(验证):从这里我们可以知道 www.baidu.com 是由 哪些DNS服务器提供的 ANSWER。

2)使用自定义的 DNS服务器解析域名对应的IP地址等信息

[root@localhost ~]# dig @168.95.1.1 www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @168.95.1.1 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48040
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 3072
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1034 IN CNAME www.a.shifen.com.
www.a.shifen.com. 241 IN A 180.97.33.107
www.a.shifen.com. 241 IN A 180.97.33.108
;; Query time: 70 msec
;; SERVER: 168.95.1.1#53(168.95.1.1)
;; WHEN: Wed May 16 08:39:13 UTC 2018
;; MSG SIZE rcvd: 101

DNS 客户端配置

Centos7 手动设置 /etc/resolv.conf 里的 DNS,系统会重新覆盖或者清除了,使用以下三种方法解决。

1、使用命令行工具 nmcli

查看网络连接

[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 662a58e0-f4cb-40d0-a01f-d39a354baaba ethernet eth0

nmcli 配置 DNS

修改当前网络连接对应的DNS服务器,这里的网络连接可以用名称或者UUID来标识

[root@localhost ~]# nmcli con mod eth0 ipv4.dns "114.114.114.114 8.8.8.8"

启动 DNS 配置

[root@localhost ~]# nmcli con up eth0
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/4)

nmcli 命令的详细帮助

[root@localhost ~]# man NetworkManager.conf
[root@localhost ~]# man nmcli

2、使用传统方法

修改 NetworkManager 配置

修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:

[root@localhost ~]# vim /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=nonevim

重启 NetworkManager 服务

[root@localhost ~]# systemctl restart NetworkManager.service

手工修改 /etc/resolv.conf

[root@localhost ~]# vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

3、网卡配置文件指定 DNS

修改网卡配置文件

[root@localhost ~]# cd /etc/sysconfig/network-scripts/ # 进入网络配置文件目录
[root@localhost ~]# vim ifcfg-eth0 # 编辑配置文件,添加修改以下内容
TYPE="Ethernet"
BOOTPROTO="static" # 启用静态IP地址
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="8071cc7b-d407-4dea-a41e-16f7d2e75ee9"
ONBOOT="yes" # 开启自动启用网络连接
IPADDR0="192.168.21.128" # 设置IP地址
PREFIX0="24" # 设置子网掩码
GATEWAY0="192.168.21.2" # 设置网关
DNS1="8.8.8.8" # 设置主DNS
DNS2="8.8.4.4" # 设置备DNS
HWADDR="00:0C:29:EB:F2:B3"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"

重启网络

[root@localhost ~]# service network restart

测试网络是否正常

[root@localhost ~]# ping www.baidu.com

查看IP地址

[root@localhost ~]# ip addr

DNS 实战

\1. 公网域名申请(阿里云万网/新网)操作

\2. 域名服务商后台配置公网域名解析操作

IPADDR0=“192.168.21.128” # 设置IP地址
PREFIX0=“24” # 设置子网掩码
GATEWAY0=“192.168.21.2” # 设置网关
DNS1=“8.8.8.8” # 设置主DNS
DNS2=“8.8.4.4” # 设置备DNS
HWADDR=“00:0C:29:EB:F2:B3”
IPV6_PEERDNS=“yes”
IPV6_PEERROUTES=“yes”


**重启网络**

```shell
[root@localhost ~]# service network restart

测试网络是否正常

[root@localhost ~]# ping www.baidu.com

查看IP地址

[root@localhost ~]# ip addr

DNS 实战

\1. 公网域名申请(阿里云万网/新网)操作

\2. 域名服务商后台配置公网域名解析操作

\3. 使用dns客户端测试工具测试公网域名解析结果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值