域名解析实际应用 ----DNS
常用DNS
DNS | 地址 |
---|---|
114.114.114.114 | 国内移动、电信和联通通用的DNS |
8.8.8.8 | GOOGLE公司提供的DNS |
223.5.5.5 和 223.6.6.6 | 阿里云DNS |
首选DNS为:218.2.135.1 备用DNS为:61.147.37.1 | 江苏省南京市(中国电信) |
DNS(Domain Name System)解析过程是将域名转换为相应的IP地址的过程:
-
用户在浏览器中输入一个网址
-
操作系统首先检查本地DNS缓存(/etc/hosts),看是否已经解析过该域名。如果有,操作系统会直接使用缓存中的IP地址。(递归查询)
-
如果本地DNS缓存中没有该域名的解析记录,操作系统会向本地DNS服务器发送一个DNS解析请求。
-
本地DNS服务器在自己的缓存中进行查询,如果找到对应的解析记录,则立即返回给操作系统。(递归查询)
-
如果本地DNS服务器的缓存中没有对应的解析记录,会向根域名服务器发送一个请求。
-
根域名服务器会告诉本地DNS服务器,该域名所对应的顶级域名服务器的IP地址。
-
本地DNS服务器再向顶级域名服务器发送请求。
-
顶级域名服务器会告诉本地DNS服务器,该域名所对应的权威DNS服务器的IP地址。
-
本地DNS服务器再向权威DNS服务器发送请求。
-
权威DNS服务器会返回该域名对应的IP地址给本地DNS服务器。
-
本地DNS服务器将IP地址返回给操作系统,并且缓存该解析结果。
-
操作系统将IP地址返回给浏览器,浏览器再发起请求到该IP地址对应的服务器上获取网页内容。(迭代查询)
搭建DNS服务器
程序名:bind
服务名:named
[root@rider ~]# yum install bind bind-utlis -y ----下载所需程序
[root@rider ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf ----主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones ----附属配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost ----样本文件
/var/named/named.loopback
#修改主文件配置
[root@rider ~]# vim /etc/named.conf
13 // listen-on port 53 { 127.0.0.1; }; ----注释此行,或者将127.0.0.1替换成any
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 recursing-file "/var/named/data/named.recursing";
20 secroots-file "/var/named/data/named.secroots";
21 // allow-query { localhost; }; ----注释此行,或者将localhost替换成any
#修改附属文件配置
[root@rider ~]# vim /etc/named.rfc1912.zones ----复制13-17行粘贴并删除第4行
13 zone "rider.com" IN { ----修改引号中的文件,格式为:*.com
14 type master;
15 file "rider.com.zone"; ----修改引号中的文件,格式为:*.com.zone
16 };
#复制(连带权限)样本文件并改名与附属文件中15行引号中同名
[root@rider ~]# cd /var/named/
[root@rider named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@rider named]# cp -a named.localhost rider.com.zone
[root@rider named]# ll
总用量 20
drwxrwx---. 2 named named 6 10月 16 2023 data
drwxrwx---. 2 named named 6 10月 16 2023 dynamic
-rw-r-----. 1 root named 2253 4月 5 2018 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
-rw-r-----. 1 root named 152 6月 21 2007 rider.com.zone
drwxrwx---. 2 named named 6 10月 16 2023 slaves
[root@rider named]# vim rider.com.zone
#初始配置
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
#修改为
$TTL 1D
@ IN SOA master admin.rider.com (
# 完整需为master.rider.com.(需有.根域) 邮箱不影响可不写
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
# 代表主(备为salve)
master A 172.16.87.40
#master指向本机IP
www A 172.16.87.119
#www指向119
##在DNS(Domain Name System)配置文件中,记录类型表示了不同类型的DNS记录,用于将域名解析为特定的资源记录。以下是一些常见的DNS记录类型及其作用:
1. A记录(Address Record):将主机名解析为IPv4地址。
2. AAAA记录(IPv6 Address Record):将主机名解析为IPv6地址。
3. CNAME记录(Canonical Name Record):为主机创建别名,将主机名指向另一个主机名。
4. MX记录(Mail Exchange Record):指定邮件服务器的优先级和域名,用于邮件交换。
5. TXT记录(Text Record):用于存储任意文本信息,常用于验证域名所有权、SPF记录等。
6. PTR记录(Pointer Record):将IP地址反向解析为主机名。
7. SOA记录(Start of Authority Record):指定区域的授权和相关参数,如负责人、刷新时间等。
8. NS记录(Name Server Record):指定区域的名称服务器。
9. SRV记录(Service Record):指定提供特定网络服务的主机名和端口。
在DNS配置文件中,根据每条记录的记录类型来指定相应的DNS记录信息,确保正确设置每种记录类型的参数和值,以确保DNS解析和网络服务的正常运行。
[root@rider named]# systemctl start named ----启动服务
[root@rider named]# rndc reload ----重启配置
server reload successful
[root@rider named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 ----修改DNS
OTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.87.40
NETMASK=255.255.255.0
GATEWAY=172.16.87.2
DNS1=172.16.87.40 ----指向自己
#DNS1=218.2.135.1
[root@rider named]# systemctl restart network ----重启网卡
[root@rider named]# host www.rider.com ----解析地址
www.rider.com has address 172.16.87.119 ----与配置对应