环境:centos stream 9
DNS,全称 Domain Name System,域名系统。
DNS是将域名解析成IP地址,然后找到IP对应的主机或者服务器。我们平常上网查找资料的时候,总是在浏览器的搜索栏输入 www.baidu.com ,当出现百度一下的界面,我们就进行搜索,实际上,在输入 www.baidu.com 按下回车键的时候,就已经开始了域名解析的过程,最后解析成一个ip地址,然后找到ip对应的百度的服务器,将页面呈现。
DNS分为两种解析方式:
正向解析:将域名解析成IP地址
逆向解析:将IP地址解析成域名
我们通常使用的都是正向解析,即将域名www.baidu.com输入浏览器,然后解析成IP地址,进行访问。
DNS递归查询和迭代查询,简单的来说:
递归查询:就是主机发送DNS请求给本地的DNS服务器,本地服务器有记录,就直接回给主机;若没有,本地的DNS服务器就会以DNS客户端的身份向根服务器发送请求,根没有,就像其他顶级服务器查询,直到查到结果,返还给本地DNS服务器,然后交由本地服务器发给主机,整个过程中,主机只和本地服务器建立连接。
迭代查询:主机发送请求给本地服务器,若本地没有,则返回一个可以进行查询的其他的服务器的列表,然后主机再向列表中的服务器进行请求,直至查出,返回给主机。整个过程,主机不知建立和本地服务器的连接,还会和其他的服务器进行连接。
记录类型:A,AAAA,PTR,SOA,NS,CNAME,MX
SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
A:域名解析成IP地址
AAAA:IPV6
PTR:反向解析,ip地址解析成域名
NS:专用于标明当前区域的DNS服务器,服务器类型为域名服务器
CNAME:别名记录
MX:邮件交换器
SOA记录与NS记录的区别:NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。
yum install bind
yum install bind-utils
如果遇到镜像无法访问的话,可以检查一下虚拟机的镜像路径是否正确,重启虚拟机应该就可以解决了。
编辑named.conf文件
vim /etc/named.conf
配置文件
options {
listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; };
// 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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
// allow-query { localhost; };
allow-query { any; };
检查语法错误
named-checkconf
没有错误不会报错,有错误按照提示修改即可
编写正向解析配置文件
查看本机ip
ifconfig
cd /var/named/
vim iris.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.1.128 //添加A记录,为本机IP
www A 192.168.1.128 //添加www的A记录,即www.iris.com
AAAA ::1
编写反向解析配置文件
cd /var/named/
vim iris.com.local
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
AAAA ::1
128 PTR www.iris.com
编写服务器配置文件
vim /etc/named.rfc1912.zones
在文件末尾添加配置
//正向区域配置
zone "iris.com"IN {
type master;
file "iris.com.zone";
allow-update{none;};
};
//反向区域配置
zone "1.168.192.in-addr.arpa"IN{
type master;
file "iris.com.local";
allow-update{none;};
};
重启dns服务
systemctl restart named
如果还在named下记得先用cd退出
在另一台linux计算机上,把配置好的dns服务器作为他的服务器
vim etc/resolv.conf
(不知道配置文件到底哪里有错,遂放弃,日后有机会再来修改)