自己搭建DNS--Linux

揭开DNS神秘的面纱

  首先让我们来了解一下什么是DNS,我们举个列子了解一下轮廓,DNS就是一个翻译,将一种你不认识的文字翻译成你认识的文字,这个你很明显指的不是,好,接下来,让我们正式进入DNS。
DNS:domain name system(域名系统)
apple,来上图!
在这里插入图片描述
  小apple最近工作有点消极呀,我要扣他工资了,找了一个“比较”可以的图片吧(此处在默默的流泪,有点糊,见谅见谅),DNS类似目录树的层次结构,记录域名和ip地址之间的对应关系。
  由图也可以看出,他有根,顶级域名(一级域名),二级域名,三级域名,主机。。。。。。还可以往下分的哈。一般分为主机名.三级域名.二级域名.顶级域名.
举个例子:大家都知道百度哈,咱们打开网页,直接一个www.baidu.com给它甩过去,哎唷,百度就出来了,那让我们来看看,这个电脑怎么就这么聪明,马上就给你识别出来了。咱们来看看这个网址的组成www.baidu.com. 主机名.三级域名.二级域名.顶级域名.(最后一个小点是根哟)

Linux的 /etc/resolv.conf 文件,系统会在进行DNS解析时,会根据 /ect/resolv.conf 中列出服务器,根据顺序依次查找,直到获取响应或者查询完所有服务器。

DNS的功能

1.正向解析:把域名解析成ip地址 www.baidu.com------>39.156.66.18
2.反向解析:把ip地址解析成域名39.156.66.18------>www.baidu.com

解析记录:
A:将主机名映射到ipv4地址
AAAA:将主机名映射到ipv6地址
CNAME:将一个记录别名化成另一个记录
PTR:将ipv4地址映射成域名

DNS相关知识点

(1)DNS三者服务器类型

1.主服务器:在特点区域中有唯一性。用来负责维护该区域内的域名和ip地址之间的对应关系。
2.从服务器:从主服务器中获取ip地址和域名间的对应关系并加以维护,防止主服务器宕机。(个人体会,数据库里面的镜像文件功能差不多吧,备份一个,一模一样的,防止损坏没人替代)
3.缓存服务器:将经常访问的域名信息保存到该服务器当中,提高重复查询的效率。

(2)查询方式

1.递归查询:DNS服务器在收到客户的请求时,必须返回给客户一个结果,如果有,直接返回,若没有找到结果,则该服务器会向其他服务器询问,直到找到查询结果返回给客户,始终只和一台服务器交付。
2.迭代查询:DNS服务器在收到客户的请求时,首先看是否有该记录,如果有,直接返回,如果没有,会提高另一台DNS的服务器的地址,用户再向提供的DNS地址发起请求,这样一次反复,直到找到结果。
  举个例子,咱们一起来理解一下,递归查询就像你向上级汇报工作,你只会和你的上一级有所接触,越俎代庖可是职场禁忌呀,那迭代查询就好比你找同事A帮忙,但他帮不了你,但是他认识B可以帮你,同时还把B的联系方式给了你,让你找他帮忙,你get了吗?

自己搭建DNS–Linux

好的,咱们的重头戏,实操环节开始了,搓搓小手,开干了!

(1)
vim /etc/named.conf

这是主配置文件,用来定义bind服务程序的运行
是不是又在想什么是bind服务程序,好的,您的Lemon为您服务
bind服务
这个图片中的许多内容咱们都会用到,看不懂不用着急!
好的,咱们运行完该命令就会出现如下界面:
vim /etc/named.conf
标记红色的就是我改过的哈!
listen-on port 53 { any; }; //指定ipv4监听端口和ip地址;any表示服务器上的所有ip地址
allow-query { any; }; //指定DNS查询的客户端地址,any表示允许所有人对本服务器发送DNS请求

(2)
vim  /etc/named.rfc1912.zones
zone "lemon.com" IN {
        type master;
        file "lemon.com.zone";
        allow-update { none; };
};
zone "149.168.192.in-addr.arpa" IN {
        type master;
        file "lemon.com.rev";
        allow-update { none; };
};

在这里插入图片描述

(3)
cd  /var/named/
ls
cp  -p  named.empty  lemon.com.zone
vim  lemon.com.zone

在这里插入图片描述在这里插入图片描述
下图是打开 lemon.com.zone 文件开始默认的,需要我们去修改
在这里插入图片描述
修改如下代码:(注意里面的ip地址自己写哈)

TTL 3H
@       IN SOA  dns.lemon.com.  root.dns.lemon.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.lemon.com.
dns     A       192.168.133.123
www     A       192.168.133.123

在这里插入图片描述
-p (小写p) 一定不要忘记了

(4)
cp  -p  lemon.com.zone  lemon.com.rev

在这里插入图片描述
这个后面的 . 真的很重要,不然会报错,代表着

$TTL 3H
@       IN SOA  dns.lemon.com.   root.dns.lemon.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.lemon.com.
123     PTR     dns.lemon.com.   
123     PTR     www.lemon.com.
(5)
firewall-cmd --add-port=53/udp  --permanent 
firewall-cmd --add-port=53/tcp  --permanent 
firewall-cmd --reload 
systemctl  restart   named

另一台测试的虚拟机,走起!

(6)
nslookup   dns.lemon.com

在这里插入图片描述
你如果出现这个错误,停,不要慌,解决办法来了(这是因为他走的默认的地址)

(7)
 vim  /etc/resolv.conf 

在这里插入图片描述
加入我打钩钩的那一行,ip 就写你在前面的文件里面写的ip地址

(8)
nslookup www.lemon.com

在这里插入图片描述

nslookup  192.168.149.130

在这里插入图片描述
到这里,我们就成功了,没想到这么简单吧!是的,很有意思,那么,你自己来搭建一个sina或者baidu 的DNS吧,加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值