Linux基础篇·DNS

概念

DNS在网络中的作用就是维护者一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,便于为各户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

1).正向解析:根据域名查IP地址,是DNS服务最常用的基本功能;

A记录,Cname(别名,不同域名同一ip

2).反向解析:根据IP查域名。

PTR

每台DNS服务器都负责管理一个有限范围(一个或多个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段成为zone(区域)

分类

1).缓存域名服务器:帮你找域名解析,本身并不能解析

2).主域名服务器:自己维护一个域名的解析记录本

3).从域名服务器:主的备份

4).智能解析服务器

解析流程

  1. 查找浏览器缓存
  2. 查找主机host文件
  3. 主机向LDNS(本地DNS)服务器发起请求
  4. LDNS服务器向根服务器发起请求
  5. LDNS服务器向.com顶级域服务器发起请求
  6. LDNS服务器向baidu.com二级域服务器发起请求
  7. LDNS服务器将结果反馈到用户并进行缓存

查询模式

递归查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的高速缓存中查询出结果,反馈给客户机,此过程为递归查询,即Client-Server

迭代查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询发现没有结果,此时该DNS服务器以DNS客户机的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程成为迭代查询,即Server-Server

端口

TCP 53端口

UDP 53 端口

所需包

bind:提供了域名服务器的主要程序及相关文件

bind-utils:提供了对DNS服务器的测试工具,如nslookup

bind-libs:提供了bindbind-utils需要使用的函数库

bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot文件夹作为BIND的根目录)以提高安全性,也成为jail(监牢)机制

bind安装后,会自动添加一个名为named的系统服务。

实验部署步骤

环境

部署

先使用rpm  -qa查看系统中是否存在安装包bindbind-chrootbind-utils,如果存在,那么使用rpm -e将其卸载,避免引起冲突。

1.

使用yum安装服务bindbind-chrootbind-utils

2.

修改主配置文件:/etc/named.conf

 

allow-query下一行添加forwarders {192.168.200.5}表示让缓存服务器去找括号内IP服务器去要解析。也就是指定服务器解析。

保存退出

3.

检查DNS配置文件

[root@centos ~]# named-checkconf /etc/named.conf

无提示表示配置无误

4.

启动DNS服务

[root@centos ~]# /etc/init.d/named start

5.

查看服务监听端口号,确定服务是否开启

[root@centos ~]# netstat -antup | grep 53

6.

修改DNS解析配置文件

实验:DNS搭建

1.

DNS主服务器搭建

所需硬件:两台centos6,一台做服务器,一台做客户机或一个centos6服务器,一个win7客户机

(本实验中,server表示服务器,client表示客户机)

安装

DNS

服务

服务器

客户机

修改配置文件

[root@server ~]# vim /etc/named.conf

//进入DNS主配置文件

(此处进入配置文件后,删除了里面的所有内容,自己编写即可。如果需要监听IP,设置连接范围,请参照“环境部署中的内容”)

options:全局选项

directory:指定区域数据文件存放位置

/var/named:用于存放DNS正向和反向解析的区域数据文件

zone:负责区域,第一个声明的是正向区域,所以为正向解析的域名;第二个

后面的为反向区域,所以为IP地址网段反写(注意,是网络位反写,不要添

加主机位!)。

type:类型,master为主区域,slave为从区域(下个实验会有)

file:指定实际的区域数据文件,引号内的文件名可以自定,但是在后面的正反解析文件的文件名必须与这里的一样,要不然会读不到配置文件。

Ps:注意!配置文件中的“;”“{}”“”””不要多写和漏写不然会报错。

配置正向解析

[root@server ~]# cd /var/named

//进入/var/named目录,配置正向和反向解析文件

[root@server named]# vim LJL.zheng

//配置正向解析文件(正向和反向都是没有的,需要手动创建)

$TTL:生命周期,86400表示一天的秒数

@:表示域名

SOA:表示授权,后跟授权的域名,管理员的邮箱。这两个都是完全域名,即“com.”。

2021010311:表示更新序列号,不超过十位即可

3H:刷新事件(3小时),重新下载地址数据的间隔

15M:重试延时(15分钟),下载失败后的重试间隔

1W:失效时间,超过该事件仍无法下载则放弃

1D:无法解析记录的生存周期

NS:记录当前区域的DNS服务器的主机地址

MX:记录当前区域的邮件服务器的主机地址。当有多个记录时,数字10表示选择邮件服务器的优先级,数字越大,优先级越低

A:记录正向解析条目

配置反向解析

[root@server named]# vim LJL.fan

//配置反向解析文件

PTR:指针记录。格式: 主机地址  IN  PTR  转换成的域名

检查配置文件

[root@server named]# named-checkconf -z /etc/named.conf

//对主配置文件检查,如果提示job则表示配置文件错误,仔细检查配置文件

[root@server named]# named-checkzone baidu.com /var/named/LJL.zheng

//对正向解析配置文件进行检查,提示OK表示无问题

[root@server named]# named-checkzone baidu.com /var/named/LJL.fan

//对反向解析配置文件进行检查,提示OK表示无问题

启动

DNS

服务

[root@server named]# /etc/init.d/named start

[root@server named]# service named start

//启动DNS服务,这两种方法哪种都可以

建议:如果是第一次启动服务,使用start,如果启动服务后修改了文件,那么使用restart重启服务。

如果启动中,提示job,如下,则检查配置文件:/etc/named.conf/var/named/LJL.zheng/var/named/LJL.fan

测试

服务器:

nslookup:该命令用于域名解析,双向解析都可以,解析不到的话,检查配置文件。

客户机:

将客户机的DNS地址改成服务器的IP地址,然后使用nslookup进行测试。

方法1:进入网卡配置模式进行修改:

vim /etc/sysconfig/network-scripts/ifcfg-ent0

方法2:进入DNS地址配置文件修改:

vim /etc/resolv.conf

如果该文件中什么都没有,那么写上:nameserver  DNS服务器地址

保存退出

测试:

如果,提示连接超时,那么先检查两台机器是否可以Ping通;如果可以Ping

通,但是还是提示超时,那么检查两台机器的DNS地址是否一致(服务器的DNS为他的IP,客户机的DNS为服务器的IP);假如还是不通,那么,检查你的防火墙,看看是不是没有关闭,并检查selinux服务是否关闭。

配位文件无问题,且服务器可以解析自己的DNS,那么就是以上问题。

2.

DNS主从结构

所需硬件:两台centos6,一台做主服务器,一台做从服务器。

server为主服务器,server2为从服务器)

修改主配置文件

[root@server ~]# vim /etc/named.conf

//进入主服务器上修改主配置文件

添加allow-transfer { 192.168.200.5; }; 括号内的地址为从服务器的地址,  allow-transfer作用是允许从服务器下载LJL.zhengLJL.fan

修改正向解析

[root@server ~]# vim /var/named/LJL.zheng

//修改正向解析配置文件

ns1为主DNSIPns2为辅助DNSIP

修改反向解析

[root@server ~]# vim /var/named/LJL.fan

//修改反向解析配置文件

当客户机设置的DNS地址为54,都将能解析到域名。

重启

服务

[root@server ~]# service named restart

//重启DNS服务

服务器

DNS

解析

此时是解析不到5的地址网段,因为从DNS还未配置。

服务器

环境同主服务器一致,都需安装DNS服务相关的包

修改主配置文件

[root@server2 ~]# vim /etc/named.conf

//进入主配置文件进行修改

typeDNS服务器的类型未slave,代表从服务器。

fileslaves/LJL.fan表示在slaves目录下,从主服务器备份正向和反向配置文件

masters:为从主服务器下载实际区域数据文件,{}中为主服务器的IP地址

区域数据文件

[root@server2 ~]# ls /var/named/slaves

//查看/var/named/slaves是否有区域数据文件

[root@server2 ~]# service named restart

//重启DNS服务

[root@server2 ~]# ls /var/named/slaves/

//查看主服务器的DNS区域数据文件是否传递过来

DNS测试

从测试结果,我们可以看到,解析的IP或者域名都是主DNSIP地址,但是如果在从服务器上解析从服务器的地址,那么将显示从服务器的地址。

3.

负载均衡

在实际访问服务器的时候,用户数量过多会导致服务器承受不住,从而崩溃,因此,通过负载均衡,让用户可以解析同一个域名,不同IP,使服务器减少工作量,从而提高工作效率。

修改主配置文件

如果做完主从结构,那么在哪一台服务器上,都可以进行操作。

[root@server ~]# vim /var/named/LJL.zheng

//进入正向解析文件进行修改

重启

服务

测试

结论:每次测试分给用户的DNS地址都不一样,但是域名是相同的,实现负载均衡,以提高工作效率。

4.

别名操作

一个域名的多种访问

修改主配置文件

如果做完主从结构,那么在哪一台服务器上,都可以进行操作

[root@server ~]# vim /var/named/LJL.zheng

//进入正向解析区域配置文件

CNAME:别名,将其他域名映射到一个域名。也就是说解析web.LJL.comabc.LJL.com效果同等与www.LJL.com

重启

服务

测试

5.

输入任何域名都可以回馈IP地址,而不是回馈找不到域名。

修改配置文件

如果做完主从结构,那么在哪一台服务器上,都可以进行操作

[root@server ~]# vim /var/named/LJL.zheng

//进入正向解析区域配置文件

*:表示任意,也就是不管用户输入的域名是什么,解析都会回馈一个127.0.0.1。如:wac.LJL.comasdkgljas.LJL.com11111111.LJL.com等,都会返回127.0.0.1

重启

服务

测试

无论输入什么域名,都会回馈127.0.0.1这个地址。

2021-1-6

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值