DNS简介:
互联网中的地址是数字的IP地址,而我们平时用来访问网站的域名主要就是为了便于记忆。域名解析的作用就是把域名指向网站的IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务。域名解析就是域名到IP地址的转换过程。而域名的解析工作就是由DNS服务器完成。
DNS系统的作用:
正向解析:根据主机名称(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机域名。
DNS系统类型:
缓存域名服务器:也称为高速缓存服务器,通过向其他域名服务器查询获得域名、IP地址记录,然后将域名查询结果缓存到本地,提高重复查询时的速度。
主域名服务器:特定DNS区域的官方服务器,具有唯一性。负责维护该区域内所有域名、IP地址的映射记录。
从域名服务器:也称为辅助域名服务器,其维护的域名、IP地址记录来源于主域名服务器。
域名解释:
我们平时所输入的域名,例如咱们博客的地址:blog.51cto.com,其实是不完整的,它在末尾省略了根域 “ . ”。就是一个“点”,完整的域名应该是“blog.51cto.com.”。下面我们以这个地址来解释一下各个部分代表什么。
“ . ”:表示根域。根域服务器,全球只有13台。
“.com”:表示*域。*域有很多,根据不同用途也有不同的*域。我们平时见得较多的“.com”是用于商业机构的,“.net”多用于网络服务提供商,“.edu”用于教育机构,“.cn”是按照区域划分的*域,代表的是咱们国家大陆。
“.51cto”:表示二级域名。这个一般都是由使用机构自己定义的,原则就是简单易记。当然在二级域名前面还可以根据个人需求增加三级域名。
“blog”:表示主机名。像咱们平常见得最多的“www”也是主机名。
正向解析:
1.安装DNS服务器的程序bind,直接用yum源安装。注意:需要在联网环境下安装。
2.安装完毕,用“rpm -qc bind”命令,查看一下程序的配置文件。
在这些配置文件中,有三个主要的配置文件。
/etc/named.conf----------------------------主配置文件(控制系统全局)
/etc/named.rfc1912.zones--------------区域配置文件(控制具体单个区域)
/var/named/named.localhost----------区域数据配置文件(区域信息)
3.用vim编辑器对主配置文件“/etc/named.conf”进行配置。将“127.0.0.1”改为自己的IP地址“192.168.52.131”,将下面的“localhost”改为“any”。
options {
listen-on port 53 { 192.168.52.131; };
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; };
4.用vim编辑器对区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个正向解析的区域配置内容,可以复制上面的模板,在模板上直接改。
zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-update { none; };
};
5.用“cd”命令,进入“/var/named”目录,再用“cp -p”命令复制一份“named.localhost”文件,命名为“yun.com.zone”。
输入:cd /var/named/
输入:cp -p named.localhost yun.com.zone
6.用vim编辑器对“yun.com.zone”文件进行配置。(CNAME是设置主机名的别名,*表示泛域名解析)
$TTL 1D
@ IN SOA yun.com. admin.yun.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS yun.com.
A 192.168.52.131
IN MX 10 mail.yun.com.
www IN A 192.168.100.100
ftp IN A 192.168.99.99
stmp IN CNAME www
* IN A 8.8.8.8
7.关闭防火墙和增强性安全功能,然后开启DNS服务。
输入:systemctl stop firewalld.service
输入:setenforce 0
输入:systemctl start named
8.将本地的DNS服务器IP地址更改为自己的IP地址,用自己的DNS服务器来解析域名。查看是否更改成功。
输入:echo "nameserver 192.168.52.131" > /etc/resolv.conf
输入:cat /etc/resolv.conf
9.用“host”命令来测试DNS服务器是否能够解析域名。我们可以看到我们设置的域名都能解析成功。
输入:host www.yun.com
输入:host stmp.yun.com
输入:host ftp.yun.com
输入:host abc.yun.com
反向解析:
1.再次用vim编辑器对区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个反向解析的区域配置内容,可以复制上面的模板,在模板上直接改。
zone "100.168.192.in-addr.arpa" IN {
type master;
file "yun.com.local";
allow-update { none; };
};
2.用“cd”命令,进入“/var/named”目录,再用“cp -p”命令复制一份“yun.com.zone”文件,命名为“yun.com.local”。
输入:cd /var/named/
输入:cp -p yun.com.zone yun.com.local
3.用vim编辑器对“yun.com.local”文件进行配置。
$TTL 1D
@ IN SOA yun.com. admin.yun.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS yun.com.
A 192.168.52.131
99 IN PTR www.yun.com.
88 IN PTR ftp.yun.com.
4.配置完毕后,重启DNS服务。
输入:systemctl restart named
5.用“host”命令检测DNS服务器是否能够进行反向解析。可以看到我们设置的IP地址能够反向解析出域名。
输入:host 192.168.100.99
输入:host 192.168.100.88
主从同步:
1.先将防火墙和增强性安全功能关闭,再开启一台CentOS 7,并用yum源安装DNS服务的程序。用来作为从域名服务器。
输入:systemctl stop firewalld.service
输入:setenforce 0
输入:yum install bind -y
2.用vim编辑器对从域名服务器的主配置文件“/etc/named.conf”进行配置。将“127.0.0.1”改为自己的IP地址“192.168.52.132”,将下面的“localhost”改为“any”。
options {
listen-on port 53 { 192.168.52.132; };
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; };
3.用vim编辑器对从域名服务器的区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个正向解析的区域配置内容,可以复制上面的模板,在模板上直接改。注意:需要将类型从“master”改为“slave”
zone "yun.com" IN {
type slave;
file "slaves/yun.com.zone";
masters { 192.168.52.131; };
};
4.再用vim编辑器对主域名服务器的区域配置文件“/etc/named.rfc1912.zones”进行配置。将其中的“allow-update { none; };”改为“allow-transfer { 192.168.52.132; };”。
zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-transfer { 192.168.52.132; };
};
5.主域名服务器配置完毕需要重新启动,然后再回到从域名服务器开启服务。
主域名服务器:
输入:systemctl restart named
从域名服务器:
输入:systemctl start named
6.将从域名服务器的DNS服务器IP地址,改为自己的IP地址。并查看是否更改成功。
输入:echo "nameserver 192.168.52.132" > /etc/resolv.conf
输入:cat /etc/resolv.conf
7.用“host”命令来测试从域名服务器是否能够解析域名。我们可以看到我们在主域名服务器设置的域名都能解析,所以主从同步成功。
输入:host www.yun.com
输入:host stmp.yun.com
输入:host ftp.yun.com
输入:host abc.yun.com