阿里云配置DNS服务器

DNS 基本概念
一、hosts 文件
作用: 实现名字解析,主要为本地主机名、集群节点提供快速解析
数据库: 平面式结构,集中式数据库

二、域名服务 DNS
作用: 实现名字解析(例如将主机名解析为 IP)
命名空间 name space: 用于给互联网上的主机命名的一种机制

DNS 数据库 Datebase: 层次化的,分布式的数据库

权威名称服务器: 存储并提供某个区域的实际数据,例如 126.com 的 DNS 服务器,记录了 126.com 域中 所有主机的记录如: www.126.com. x.x.x.x ftp.126.com. y.y.y.y

权威名称服务器类型包括: Master: 主 DNS 服务器,包含原始区域的数据 Slave: 备份 DNS 服务器,通过(区域传输)从 Master 服务器获得区域数据的副本

非权威名称服务器: 不存储某个区域的实际数据,仅缓存 DNS 服务器,虽然可以提供查询,但查询的内 容不具有权威性

DNS 解析流程
例如客户端解析 www.126.com
1.客户端查询自己的缓存(包含 hosts 中的记录),如果没有将查询发送/etc/resolv.conf 中的 DNS 服务器
2.如果本地 DNS 服务器对于请求的信息具有权威性,会将(权威答案)发送到客户端。
3. 否则(不具有权威性),如果 DNS 服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端
4. 如果缓存中没有该查询信息,DNS 服务器将搜索权威 DNS 服务器以查找信息: a. 从根区域开始,按照 DNS 层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答案 DNS 服务器将信息传递给客户端 ,并在自己的缓存中保留一个副本,以备以后查找。 b. 转发到其它 DNS 服务器

DNS 服务器基本配置

=========================================================
实验环境:
aliyun 114.215.71.214
惟缓存 DNS 服务器 cache only

部署 DNS 服务器

 [root@aliyun ~]# yum -y install bind bind-chroot
 [root@aliyun ~]# vim /etc/named.conf 
 options {
  listen-on port 53 
  { 
  any; 
  }; 
 listen-on-v6 port 53
  { 
  any; 
  }; 
 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; 
 }; 
[root@aliyun ~]# systemctl restart named 
[root@aliyun ~]# systemctl enable named 
[root@aliyun ~]# ss -tuln |grep :53 |column -t 
udp UNCONN 0 0 114.215.71.214:53 *:* 
udp UNCONN 0 0 10.29.89.165:53 *:* 
udp UNCONN 0 0 127.0.0.1:53 *:* 
udp UNCONN 0 0 :::53 :::* 
tcp LISTEN 0 10 114.215.71.214:53 *:*
tcp LISTEN 0 10 10.29.89.165:53 *:* 
tcp LISTEN 0 10 127.0.0.1:53 *:*
tcp LISTEN 0 10 :::53 :::* 

aliyun 默认未开启防火墙 firewalld

[root@aliyun ~]# firewall-cmd --permanent --add-service=dns  
[root@aliyun ~]# firewall-cmd --reload  

客户端测试 DNS 解析

 [root@yang ~]# cat /etc/resolv.conf  
 nameserver 114.215.71.214 

DNS 服务器未正常提供服务前

[root@yang ~]# dig www.sina.com
 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.sina.com
 ;; global options: +cmd ;; connection timed out
 ; no servers could be reached 

DNS 服务器正常提供服务后

[root@yang ~]# dig www.sina.com 
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.sina.com
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38165 
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 7, ADDITIONAL: 8 
;; OPT PSEUDOSECTION: 
; EDNS: version: 0, flags:; udp: 4096 
;; QUESTION SECTION:
;www.sina.com. IN A 
;; ANSWER SECTION: www.sina.com. 22 IN CNAME us.sina.com.cn.
us.sina.com.cn. 23 IN CNAME wwwus.sina.com.
wwwus.sina.com. 23 IN A 66.102.251.33 
[root@yang ~]# ping www.ifeng.com 
PING c.xdwscache.ourglb0.com (123.128.14.201) 56(84) bytes of data. 
64 bytes from 123.128.14.201: icmp_seq=1 ttl=52 time=15.4 ms 
64 bytes from 123.128.14.201: icmp_seq=2 ttl=52 time=14.5 ms

查看 DNS 服务主配置文件
[root@aliyun ~]# vim /etc/named.conf
根提示区域 [默认]
在这里插入图片描述
DNS 转发 Forward [通常转发到上一级的 DNS 服务器]

options { 
...
forwarders 
{ 
114.114.114.114; 202.106.0.20;
}; 
}; 

正向区解析配置
=========================================================正向区: 提供正向解析,即将域名解析为 IP
反向区: 提供反向解析,即将 IP 解析为域名 [了解]
DNS 服务器正向区
案例 1:tianyun.com

  1. 主配置文件 相当于在域名服务商申请域名
[root@yangs ~]# vim /etc/named.conf  
options 
{
directory "/var/named"; //数据库文件存储位置 
};  
zone "tianyun.com" 
{//创建域 tianyun.com 
type master; 
file "tianyun.com.zone";
 };  

2. 数据库文件(区域文件) 在域名服务提供的页面上做解析

 [root@yangs ~]# vim /var/named/tianyun.com.zone  
 $TTL 600 @ IN SOA 
 @ root ( 2017033100 1H 15M 1W 1D ) 
 @ IN NS dns 
 dns IN A 114.215.71.214 //DNS 服务器本机 
 IP www IN A 119.75.218.70 //网站服务器 IP 

案例 2:增加 yang.com 1. 主配置文件

 [root@yangs ~]# vim /etc/named.conf 
 zone "yang.com" {
  type master; 
  file "yang.com.zone";
  }; 

2. 数据库文件(区域文件)

[root@yangs ~]# vim /var/named/yang.com.zone 
 $TTL 600
  @ IN SOA 
  @ root ( 2017033100 1H 15M 1W 1D ) 
  IN NS dns 
  dns IN A 114.215.71.214 
  www IN A 1.1.1.1 
  bbs IN A 1.1.1.2
  oa IN A 1.1.1.3 

数据库文件:
@ 表示当前域名 www.tianyun.com. = www
第一个字段继承
SOA: 起始授权记录 强制
NS: DNS 服务器记录 强制
A: 主机记录
CNAME: 别名记录
客户端查询
nslookup,host,dig
客户端指定本地 DNS

[root@tianyun ~]# cat /etc/resolv.conf  nameserver 192.168.2.115 [root@tianyun ~]# dig www.baidu.com
[root@tianyun ~]# nslookup www.baidu.com 
[root@tianyun ~]# host www.baidu.com 

dig (Linux)

[root@tianyun ~]# dig www.126.com //使用/etc/resolv.conf 设置的 DNS [root@tianyun ~]# dig @192.168.2.168 www.126.com //使用指定的 DNS [root@tianyun ~]# dig @192.168.2.100 www.126.com //使用指定的 DNS 

host (Linux)

[root@tianyun ~]# host -t A www.baidu.com //正向解析,查询 A 记录 
[root@tianyun ~]# host 192.168.5.100 //反向解析,查询 PTR 记录 
[root@tianyun ~]# host www.baidu.com 192.168.5.240 //使用 DNS 服务器 192.168.5.240 解析 
[root@tianyun ~]# host -t SOA baidu.com //查询某个域的SOA  
baidu.com has SOA record ns.baidu.com. root.baidu.com. 2013081303 3600 900 604800 86400 
[root@tianyun ~]# host -t NS baidu.com //查询某个域的NS 
baidu.com name server ns.baidu.com. baidu.com name serverns2.baidu.com. 
[root@tianyun ~]# host -t MX baidu.com //查询某个域的邮件服务器 baidu.com mail is handled by 10 mail.baidu.com. 

nslookup (Linux/Windows)
[root@tianyun ~]# nslookup www.baidu.com
[root@tianyun ~]# nslookup 192.168.5.100
[root@tianyun ~]# nslookup

www.baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.baidu.com
Address: 192.168.5.100
192.168.5.2
Server: 127.0.0.1
Address: 127.0.0.1#53
2.5.168.192.in-addr.arpa name = www.baidu.com.
[root@tianyun ~]# nslookup
server 192.168.5.2 //使用临时指定的服务器析
Default server: 192.168.5.2 Address: 192.168.5.2#53
[root@tianyun ~]# nslookup
set q=soa > baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
baidu.com
origin = ns.baidu.com
mail addr = root.baidu.com
serial = 2013081303
refresh = 3600
retry = 900
expire = 604800 minimum = 86400
set q=ns

baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53

baidu.com nameserver = ns.baidu.com.
baidu.com nameserver = ns2.baidu.com.
[root@tianyun ~]# nslookup

set q=mx

baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53

baidu.com mail exchanger = 10 mail.baidu.com.

set q=a > www.baidu.com
Server: 127.0.0.1 Address: 127.0.0.1#53
Name: www.baidu.com
Address: 192.168.5.100

### 如何在阿里云控制台中更改自定义域名的DNS服务器设置 #### 进入域名管理页面 登录阿里云账号后,导航至域名控制面板。在这里可以管理和操作已经注册的所有域名。 #### 定位目标域名并进入解析设置 找到想要修改DNS服务器的目标域名,并点击其后的“解析”按钮以进入详细的解析配置界面[^1]。 #### 修改DNS服务器地址 为了变更DNS服务提供商,在此页面内并非直接编辑所谓的“DNS服务器”,而是通过调整特定类型的解析记录实现间接效果。对于希望完全切换到新的DNS服务商的情况,则需删除现有的一切A/CNAME等常规解析项;如果仅是增加额外的支持(比如启用CDN),则可在保留原有基础上新增相应条目。 当涉及到具体更换成其他第三方DNS供应商时,通常的做法是在当前使用的平台(这里是阿里云)里移除所有非必要的标准解析规则,之后依据新提供方的要求创建对应的映射关系——这可能意味着要添加一些特殊的TXT/SOA/NS类目的项目用于验证所有权或是指定权威名称服务器[^2]。 值得注意的是,某些情况下还需要更新注册商处保存的名字服务器信息(即NS记录)。不过就阿里云而言,默认情况下用户的这些改动都是在其内部完成的,无需手动干预外部注册机构的数据除非特别指明迁移整个域名管理权给另一家服务商[^3]。 #### 添加或更改CNAME记录指向GitHub Pages实例 按照需求向阿里云提交一条或多条CNAME类型的新纪录,其中主机记录应设为`www`或其他子域部分,而记录值则是对应于托管静态站点的位置,如个人账户下的`.github.io`形式链接。 #### 验证更改是否生效 利用命令行工具dig测试最新的DNS传播状态,确保能够正确返回预期的结果。例如执行如下指令检查perseverejia.cn这个例子中的设定是否已被全球范围内的公共DNS系统接受: ```bash dig perseverejia.cn @a.dns.cn ns ``` 上述过程展示了如何在保持使用阿里云作为主要域名注册商的同时,灵活地改变关联的服务端点以及潜在的背后支撑它的不同DNS基础设施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值