DNS协议原理、安装及主从同步、负载均衡和转发、缓存的详细配置

DNS(域名系统),用于解析域名和IP地址之间的映射关系

协议使用端口:

udp 53     正常查询解析情况下使用udp53

tcp53        当进行主从之间的区域传送时使用tcp53

DNS域的空间划分

DNS的查询方式

递归查询

当主机A要向DNS服务器发送查询主机D的请求时,服务器返回给A最终结果,这种方式就是递归查询,如果客户端要查找的内容直接在服务器上得到结果,刚给出的答案是一个权威答案,否则就是一个参考答案。

迭代查询

NS服务器接收到A的请求后,本地没有D的解析,则会通过以下过程获得

1、NS向根域询问D,根域让他去找一级域.com

2、NS向一级域.com询问D,.com让他去找二级域.baidu

3、NS向二级域.baidu询问D,.baidu返回D的结果,NS获得D的解析

以上过程则为迭代查询

资源记录

资源记录是DNS数据库中用于答复客户端的条目,资源记录的格式一般如下:

Name     [ttl]    IN    RRtype    Value

RRtype是指资源类型,常见的资源类型有SOA、A、AAAA、CNAME、MX、NS、PTR

资源类型 说明
SOA 是指定区域的起点,一般包含区域名、区域管理员的电子邮箱以及设置从服务器如何更新区域数据文件的信息
A 主机记录,将域名映射为ipv4地址
AAAA 主机记录,将域名映射为ipv6地址
CNAME 别名记录,可为一个域名其一个别名,达到一个ip地址对应两个域名的效果
MX 邮件记录,列出了域中的邮件服务器,需要设置优先级
NS 指定负责域中域名解析的服务器
PTR 与A记录相反,将IP地址映射成域名

DNS服务器安装和配置

1、安装bind和bind-libs软件包

yum install -y bind        #DNS服务器软件包
yum install -y bind-libs    #bind软件包所使用的库

2、修改配置文件/etc/named/conf

//设置全局配置
options {
        listen-on port 53 { 192.168.10.1; };    //设置DNS服务器监听的ipv4地址和>端口
        listen-on-v6 port 53 { ::1; };          //设置DNS服务器监听的ipv6地址和>端口
        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";
        allow-query     { localhost; };         //指定允许进行查询操作的主机
        allow-transfer  {none;};                        //指定允许接受区域传送的从服务器
        allow-recursion {aqlist;};                //指定允许为哪些主机进行递归查询
        
logging {
        channel default_debug {
                file "data/named.run";          //指定日志
                severity dynamic;
        };
};
acl aqlist {                //配置acl
  202.0.0.0/8; 
  221.0.0.0/8; 
};
//设置局部配置内容
zone "." IN {
        type hint;      //指定区域类型
        file "named.ca";        //指定该区域的区域文件名称
};
zone "test.com." IN {
        type master;
        file "test.com.zone";
};
zone "10.168.192.in-addr.arpa" IN {
        type master;
        file "10.168.192.in-addr.local";
};

3、使用named-checkconf命令检查配置文件的语法是否正确

named-checkconf /etc/named.conf

4、编辑正向区域文件

vim /var/named/test.com.zone

$TTL 38400
@       IN      SOA     ns.test.com.    admin.test.com. (
                        2016082601      #序列号,不能超过10位
                        10800           #指定从服务器每隔多久到主服务器上刷新一次
                        3600            #刷新失败时,多久重试
                        604800          #主服务器down后,从服务器能继续工作多久
                        38400           #否定答案的ttl
)
@       IN      NS      ns.test.com.
ns      IN      A       192.168.10.1
@       IN      MX  90  mail.test.com.
mail    IN      A       192.168.10.3

5、编辑反向区域文件

vim /var/named/10.168.192.in-addr.local

$TTL 38400
@       IN      SOA     ns.test.com.    admin.test.com. (
                        2016082601
                        10800
                        3600
                        604800
                        38400
)
@       IN      NS      ns.test.com.
1       IN      PTR     ns.test.com.
3       IN      PTR     mail.test.com.

6、使用named-checkzone命令对区域文件进行检查

语法格式:named-checkzone 域名 区域文件

named-checkzone test.com /var/named/test.com.zone

7、启动服务

service named start

DNS实现后端服务器的负载均衡

在DNS服务器上将一个域名映射成为多个IP地址,客户端请求解析时,DNS服务器会随机选取一个地址回复客户端,从而实现了简单的负载均衡功能

DNS主从同步

从服务器复制主服务器的区域文件,与主服务器一起提供地址解析功能;从服务器上的资源记录只能读取,不能修改和删除。

配置过程:

从服务器端:

vim /etc/named.conf

zone "test.com." IN {
        type slave;
        masters { 192.168.10.1; };
        file "slave/test.com.zone";
};
zone "10.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.10.1; };
        file "slave/10.168.192.in-addr.local";
};

主服务器端:

1、 为从服务器添加一条NS记录和对应的A或PTR记录。

2、编辑/etc/named.conf

    allow-transfer{ 192.168.10.2; };

 转发DNS服务器

服务器收到客户端的解析请求后,将请求转发给其他DNS服务器进行解析,称为转发

转发服务器分为完全转发和条件转发

完全转发:服务器会将全部的请求都转发给其他服务器进行解析

编辑/etc/named.conf

   forwarders { 192.168.0.30; };    \\转发给192.168.0.30进行解析
   forward only    \\only表示转发前不进行本地查询;first表示转发前先进行本地查询

条件转发:当客户端请求特定域的解析时才进行转发查询

编辑/etc/named.conf

    zone “lzs.com" IN {            \\对lzs.com域的查询请求进行转发
            type forward;        \\类型为forward
            forwarders { 192.168.0.30; };    \\转发给192.168.0.30进行解析
            };

虚拟子域

将父域和子域都配置在同一个服务器上

配置文件不变,修改区域文件即可

vim /var/named/test.com.zone
$TTL 38400
$ORIGIN test.com.
@       IN      SOA     ns.test.com.    admin.test.com. (
                        2016082601      
                        10800           
                        3600            
                        604800          
                        38400           
)
@       IN      NS      ns.test.com.
ns      IN      A       192.168.10.1
@       IN      MX  90  mail.test.com.
mail    IN      A       192.168.10.3

$ORIGIN lzs.test.com.
@        IN    NS        ns.lzs.test.com.
ns        IN    A        192.138.20.2

缓存DNS服务器

本地不设置任何DNS信息,只执行查询和缓存的操作,当客户端查询时,如果有,则直接返回结果,提高dns的解析速度,减少网络流量。

编辑/etc/named.conf

datasize    100M;    \\启用这个选项即可,局部配置都不用配

注意要点:

1、配置文件中每个语句都要以;结尾

2、DNS服务器的地址必须是静态地址

3、编辑区域文件时,域名最后面要以“.”结尾,而且在SOA记录中管理员电子邮箱和”(“之间有空格

时间: 2024-10-14 12:13:21

DNS协议原理、安装及主从同步、负载均衡和转发、缓存的详细配置的相关文章

dns介绍,安装和主从同步

DNS的知识 1.dns的相关介绍 2.dns的安装和配置文件的解释,启动并测试 3.新建dns的实例 4.dns的主从设置实例 一.DNS介绍 1.DNS(domain name server)是域名解析服务器,提供域名和IP地址之间一种相互转换的机制,目的是为了方便人们的记忆和管理 .  (根域) | ---------------------------------- |                                    |                       

​Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级!

Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级 注意:我这里使用lamp搭建wordpress使用的全部都是rpm安装,如果有想要学习编译安装的朋友,可以参考另外一位午饭的博客,我安装wordpress也是参考他的内容,贴上他的地址: http://dreamfire.blog.51cto.com/418026/197595 操作系统全部使用centos6.6 注意:这里只列出了node3的配置过程,node2配置过程与node3完全一致!!! [[e

Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

[转载]Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

+++++++DNS基本工作原理、DNS正反向解析及主从同步

dns基础工作原理 bind Berkerley Information Name Domain DNS Domain Name Server TCP/UDP 53 UDP 53 无连接协议,域名解析 TCP 53 面向连接协议,区域传送 历史IANA 统一名字,自己hosts中维护(%windows%/system32/etc/hosts, /etc/hosts) 统一维护,定时任务计划 统一查询,glibc共享库作为客户端基于UDP协议解析域名 hash 数值分布式 域名分布式:授权方式,将

剑指架构师系列-MySQL的安装及主从同步

1.安装数据库 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server 安装时使用root用户权限.安装成功后即可进行启动: /bin/systemctl restart mysqld.service 修改MySQL数据库root用户的密码,如

Linux服务器集群架构部署搭建(六)数据库服务器MySQL编译安装及主从同步配置(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 数据库企业应用场景 1.1 数据库的企业应用 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小.速度快.总

mongodb的安装以及主从同步

1.检查是否有yum源 yum info mongo-10gen 2.添加yum源 vi /etc/yum.repos.d/mongodb.repo 输入下面的内容: [mongodb] name=MongoDBRepository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 3.查看mongoDB的服务器包的信息和客户端包的信息 yum infomongo-10g