Linux下DNS简单部署(主从域名服务器)

一、DNS简介
DNS(Domain Name System),域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。DNS服务器的作用就是就好比生活中的电话簿、114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名。

二、DNS功能
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:
1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的)
反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时。)

根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色:
1)缓存域名服务器,也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度

2)主域名服务器
特定DNS区域的官方服务器,具有唯一性
负责维护该区域内所有域名->IP地址的映射记录

3)从域名服务器(通俗一点就是用于备份DNS服务器的)
也称为 辅助域名服务器
其维护的 域名->IP地址记录 来源于主域名服务器
搭建DNS服务应用的软件为:BIND(Berkeley Internet Name Daemon)

三、DNS服务环境部署记录

1)安装DNS服务所需要的软件包
[root@test ~]# yum -y install bind bind-chroot bind-util bind-libs
------------------------------------------------------------------------------------------------
解释:
bind           提供了域名服务的主要程序及相关文件
bind-utils     提供了对DNS服务器的测试工具程序(如nslookup、dig等)
bind-chroot    为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/”文件夹作为BIND的根目录)
------------------------------------------------------------------------------------------------2)DNS服务器的配置(服务端要能联网)
[root@test ~]# cp /etc/named.conf /etc/named.conf.bak
[root@test ~]# vim /etc/named.conf
options {listen-on port 53 { any; };      #使用53端口监听,默认监听的是127.0.0.1,这里修改为any(或者直接修改为服务端的ip地址,如服务器ip为192.168.1.24)listen-on-v6 port 53 { ::1; };            #监听ipv6的IP地址选项directory       "/var/named";             #DNS的根目录,由于安装了bind-chroot的所致,因此服务的实际工作目录为/var/named/chroot/var/nameddump-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     { any; };         #允许查询的主机,默认为localhost,这里修改为anyrecursion yes;                    #可以递归查询dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};logging {                               #named服务的日志文件信息channel default_debug {file "data/named.run";severity dynamic;};
};
zone "." IN {                        #根(.)域的配置及信息(也可以通过其它上级域名转发功能来配置缓存域名服务器,可以去了解下)type hint;file "named.ca";
};[root@test ~]# chmod 770 /var/named/
[root@test ~]# ls -lh /etc/named.conf
-rw-r-----. 1 root named 984 Nov 20  2015 /etc/named.conf
[root@test ~]# /etc/init.d/named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]
[root@test ~]# ps -ef|grep name
named     1592     1  0 15:03 ?        00:00:00 /usr/sbin/named -u named -t /var/named/chroot
root      1614 32378  0 15:03 pts/0    00:00:00 grep name[root@test ~]# netstat -tunlp|grep named
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1592/named        
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      1592/named        
tcp        0      0 ::1:53                      :::*                        LISTEN      1592/named        
tcp        0      0 ::1:953                     :::*                        LISTEN      1592/named        
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1592/named        
udp        0      0 ::1:53                      :::*                                    1592/named3)客户端测试
将上面服务器的ip地址添加到客户端的/etc/resolv.conf文件里
[root@test2 ~]# cat /etc/resolv.conf
nameserver 192.168.1.24                          //此处的192.168.1.24是上面DNS服务器的ip地址
  
[root@test2 ~]# ping www.baidu.com
PING www.a.shifen.com (119.75.213.51) 56(84) bytes of data.
64 bytes from 119.75.213.51: icmp_seq=1 ttl=55 time=2.58 ms
64 bytes from 119.75.213.51: icmp_seq=2 ttl=55 time=2.29 ms
.......[root@test2 ~]# dig www.baidu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55147
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5;; QUESTION SECTION:
;www.baidu.com.         IN  A;; ANSWER SECTION:
www.baidu.com.      1100    IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   200 IN  A   119.75.213.50
www.a.shifen.com.   200 IN  A   119.75.213.51;; AUTHORITY SECTION:
a.shifen.com.       1100    IN  NS  ns4.a.shifen.com.
a.shifen.com.       1100    IN  NS  ns2.a.shifen.com.
a.shifen.com.       1100    IN  NS  ns3.a.shifen.com.
a.shifen.com.       1100    IN  NS  ns1.a.shifen.com.
a.shifen.com.       1100    IN  NS  ns5.a.shifen.com.;; ADDITIONAL SECTION:
ns5.a.shifen.com.   1100    IN  A   119.75.222.17
ns3.a.shifen.com.   1100    IN  A   61.135.162.215
ns4.a.shifen.com.   1100    IN  A   115.239.210.176
ns1.a.shifen.com.   1100    IN  A   61.135.165.224
ns2.a.shifen.com.   1100    IN  A   180.149.133.241;; Query time: 1 msec
;; SERVER: 192.168.1.233#53(192.168.1.233)
;; WHEN: Wed Jun 21 15:12:20 2017
;; MSG SIZE  rcvd: 260------------注意事项-------------
客户端必须要跟服务器端能够通信(能ping通)及关闭selinux---------------------------------------扩展-------------------------------------------
上面在/etc/named.conf文件里没有自定义域名去进行解析设置,下面说下自定义域名的设置:
1) DNS主域名服务器配置[root@test ~]# cp /etc/named.conf /etc/named.conf2.bak
[root@test ~]# vim /etc/named.conf               #追加下面内容,即添加wangshibo.com域名配置。如果有多个域名,就如下添加多个类似配置。
......
zone "wangshibo.com" IN {                       #指定区名。正向解析type master;                            #服务器类别,master为主域名file "wangshibo.com_zone";              #正向解析区域文件名wangshibo.com_zone,在/var/named目录下创建allow-transfer {192.168.1.23;};         #指定从(辅助)域名服务器IP。即DNS从服务器的ip是192.168.1.23
};
zone "1.168.192.in-addr.arpa" IN {        #域名对应的ip地址网段为192.168.1.0,此处必须按照相 。反向解析                                          同的格式写type master;file "192.168.1.zone";               #反向解析文件名192.168.1.zoneallow-transfer {192.168.1.23;};
};[root@test ~]# vim /var/named/wangshibo.com_zone
$TTL 1D
@       IN SOA  ns1.wangshibo.com. mail.www.wangshibo.com. (2014102101    #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去1D   1H    1W   3H ) 
@               IN      NS      ns1.wangshibo.com.            #主域名的域名地址。NS是域名服务器
ns1.wangshibo.com.    IN      A       192.168.1.24            #主域名的ip地址
@               IN      NS      ns2.wangshibo.com.            #从域名的域名地址。NS是域名服务器
ns2.wangshibo.com.    IN      A       192.168.1.23            #从域名的ip地址
@               IN      MX 10   mail.ww.wangshibo.com.        #邮件服务器的域名地址
mail.www.wangshibo.com.  IN   A       192.168.1.4           
www.wangshibo.com.    IN      A       192.168.1.2
ftp.wangshibo.com     IN      A       192.168.1.3
win7.wangshibo.com.   IN      A       192.168.1.224
linux.wangshibo.com.  IN      CNAME   ns1.wangshibo.com.
smb.wangshibo.com.    IN      CNAME   ns1.wangshibo.com.
dhcp.wangshibo.com.   IN      CNAME   ns1.wangshibo.com.[root@test ~]# vim /var/named/192.168.1.zone
$TTL 1D                      
@       IN SOA  ns1.wangshibo.com. mail.www.wangshibo.com. (2014102101    #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去1D1H1W    3H )  
@               IN      NS      ns1.wangshibo.com.
@               IN      NS      ns2.wangshibo.com.
24              IN      PTR     ns1.wangshibo.com.
23              IN      PTR     ns2.wangshibo.com.
@               IN      MX 10   mail.www.wangshibo.com.
4               IN      PTR     mail.www.wangshibo.com.
2               IN      PTR     www.wangshibo.com.
3               IN      PTR     ftp.wangshibo.com.
23             IN      PTR     win7.wangshibo.com.[root@test ~]# /etc/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]在客户端测试
[root@test2 ~]# cat /etc/resolv.conf
search wangshibo.com
nameserver 192.168.1.24[root@test2 ~]# dig www.wangshibo.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> www.wangshibo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29152
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:
;www.wangshibo.com.     IN  A;; ANSWER SECTION:
www.wangshibo.com.  86400   IN  A   192.168.1.2;; AUTHORITY SECTION:
wangshibo.com.      86400   IN  NS  ns2.wangshibo.com.
wangshibo.com.      86400   IN  NS  ns1.wangshibo.com.;; ADDITIONAL SECTION:
ns1.wangshibo.com.  86400   IN  A   192.168.1.24
ns2.wangshibo.com.  86400   IN  A   192.168.1.23;; Query time: 1 msec
;; SERVER: 192.168.1.24#53(192.168.1.24)       #注意这行,说明是主DNS从域名服务器解析的
;; WHEN: Wed Jun 21 15:39:09 2017
;; MSG SIZE  rcvd: 1191) DNS从域名服务器配置
从域名服务器的ip为192.168.1.23
服务的安装过程在上面已介绍,此处省略
[root@test33 ~]# cp /etc/named.conf /etc/named.conf.bak
[root@test33 ~]# vim /etc/named.conf
options {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";allow-query     { any; };recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto;bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};logging {                         channel default_debug {file "data/named.run";severity dynamic;};
};
zone "." IN {                 type hint;file "named.ca";
};zone "wangshibo.com" IN {type slave;file "wangshibo.com_zone";masters {192.168.1.24;};
};
zone "1.168.192.in-addr.arpa" IN {type slave;file "192.168.1.zone";masters {192.168.1.24;};
};[root@test33 ~]# chmod 770 /var/named/
[root@test33 ~]# ll /var/named/ -d
drwxrwx---. 6 root named 4096 Jun 21 15:44 /var/named/[root@test33 ~]# service named restart
Stopping named:                                            [  OK  ]
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]客户端测试
[root@test2 ~]# dig @192.168.1.23 www.wangshibo.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> @192.168.1.23 www.wangshibo.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12862
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:
;www.wangshibo.com.     IN  A;; ANSWER SECTION:
www.wangshibo.com.  86400   IN  A   192.168.1.2;; AUTHORITY SECTION:
wangshibo.com.      86400   IN  NS  ns2.wangshibo.com.
wangshibo.com.      86400   IN  NS  ns1.wangshibo.com.;; ADDITIONAL SECTION:
ns1.wangshibo.com.  86400   IN  A   192.168.1.24
ns2.wangshibo.com.  86400   IN  A   192.168.1.23;; Query time: 1 msec
;; SERVER: 192.168.1.23#53(192.168.1.23)                 #注意这行,说明是从DNS从域名服务器解析的
;; WHEN: Wed Jun 21 15:53:47 2017
;; MSG SIZE  rcvd: 119最后,在客户机的/etc/resolv.conf文件里添加上面主从DNS地址,就可以正常解析上面在/var/named/192.168.1.zone里设置的域名了
# vim /etc/resolv.conf
nameserver 192.168.1.24
nameserver 192.168.1.23-----------------------------------------注意事项--------------------------------------------
a)如果还是无法解析,请返回主域名服务器的/var/named目录给区域配置文件加上权限(单纯是为了练习的话,可以加到最大权限到777)
b)以上的练习都是在关闭防火墙与seLinux的状态下操作的,如果防火墙开启,可自行去添加规则

最后务必查看下/var/log/messages日志的内容,查看DNS主从是否启动正常,是否实现了同步。

转载于:https://www.cnblogs.com/liuyansheng/p/8178017.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web 三联发票针式打印_打印机共享操作,其实没想象的那么难

工作中桌面型的打印机一般是用USB直连一台主机&#xff0c;然后共享给其它电脑进行打印的&#xff0c;如&#xff1a;针式发票打印机、喷墨打印机等&#xff0c;这时就会涉及到一个打印机共享的操作&#xff0c;今天就跟大家分享下共享操作。共享操作&#xff1a;在主机安装好打…

linux网卡IO,浅谈Linux 网络 I/O 模型简介(图文)

1、介绍Linux 的内核将所有外部设备都看做一个文件来操作(一切皆文件)&#xff0c;对一个文件的读写操作会调用内核提供的系统命令&#xff0c;返回一个file descriptor(fd&#xff0c;文件描述符)。而对一个socket的读写也会有响应的描述符&#xff0c;称为socket fd(socket文…

win10远程桌面连接_如何正确选择WIN10系统版本,Windows10系统各版本之间的区别...

截至2020年&#xff0c;Windows 10的市场份额达到了54.62%&#xff0c;成为了Windows家庭中占比最高的成员。微软也于2020年初对Windows 7做了不再进行技术支持的声明&#xff01;毋庸置疑的是&#xff0c;Windows 10的系统会逐渐占有更多的比例&#xff0c;并且逐步取代现有的…

Oracle解析XML 节点信息并转换String 类型

select xmltype(dataxml).extract(/data/sqr_mc/text()).getstringval() as sqrmc from table_name --- dataxml其中的一个字段名里面包含有xml数据类型的字段名转载于:https://www.cnblogs.com/auldlangsynezh/p/8178196.html

win10进程太多怎么优化_用过最好用的Win10优化软件,全方面优化和管理!

文 | Allen 主播 | 蓝儿喵本文首发&#xff1a;www.zylxb.comHi&#xff0c;大家好&#xff0c;欢迎来到&#xff1a;无优质&#xff0c;不分享&#xff01;搜罗君的藏宝阁&#xff1a;优搜罗(id&#xff1a;usouluo)&#xff0c;由于公众号改版&#xff0c;建议大家星标置顶…

js删除数组中的元素

js删除数组中的元素delete和splice的区别 例如有一个数组是 &#xff1a;var textArr [a,b,c,d]; 这时我想删除这个数组中的b元素&#xff1a; 方法一&#xff1a;delete 删除数组 delete textArr[1] 结果为&#xff1a; ["a",undefined,"c","d"…

linux c 指针和内存分配内存,linux-C基础系列-内存管理(野指针).md

野指针概述野指针通常指的是指针变量中保存的值不会死一个合法的内存地址&#xff0c;但又对其访问。需要注意的是野指针不是空指针&#xff0c;而是指向内存不可用的指针。C语言中对于空指针(NULL)是可以判断出来的&#xff0c;但是野指针是无法判断一个非空指针是否为野指针。…

vb.net怎么调用fastreport报表_财务分析-企业财务管理报表模板制作实现智能化的财务运营...

随着我国经济的不断发展&#xff0c;企业在市场环境中的竞争压力也越来越大&#xff0c;只有具备充足的活力和竞争力的企业才可以在竞争激烈的市场环境中处于不败之地。财务分析作为企业财务管理的重要手段之一&#xff0c;它能够为企业的一切财务活动提供必要的依据&#xff0…

通达OA general/appbuilder/web/portal/gateway/moare接口存在反序列化漏洞 附POC软件

@[toc] 通达OA general/appbuilder/web/portal/gateway/moare接口存在反序列化漏洞 附POC软件 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与…

谈谈两种标准库类型---string和vector

两种最重要的标准库---string和vector string和vector是两种最重要的标准库类型&#xff0c;string表示可变长的字符序列&#xff0c;vector存放的是某种给定类型对象的可变长序列。 一、标准库类型string 1.定义和初始化string对象&#xff1a;初始化string对象的方式有 strin…

linux编译ffmepg,在Ubuntu下编译FFmpeg

在之前&#xff0c;我们成功地使用mingwmsys在Windows平台下编译FFmpeg(见 http://www.linuxidc.com/Linux/2014-11/109839.htm)&#xff0c;并生成了ffplay.exe。现在再在Ubuntu平台上重新编译一次。相对于在Windows平台上编译需要的旷日持久而且异常艰难的工作&#xff0c;Ub…

C++为什么空格无法输出_47个快捷键、50个CAD技巧,终于知道为什么别人用CAD总比我快了!...

终于知道为什么别人用CAD总比我快了&#xff0c;原来他们早就掌握了这些实用的CAD技巧&#xff0c;还没看完我就默默地转了&#xff0c;总有用得到的时候。47个快捷键1. 创建直线的快捷方式是L空格2. 创建圆的快捷方式是C空格3. 创建圆弧的快捷方式是A空格4. 创建矩形的快捷方式…

Flume环境搭建_五种案例(转)

Flume环境搭建_五种案例 http://flume.apache.org/FlumeUserGuide.html A simple example Here, we give an example configuration file, describing a single-node Flume deployment. This configuration lets a user generate events and subsequently logs them to the con…

linux配置服务器超时退出,Linux下实现不活动用户登录超时后自动登出

摘要&#xff1a;方法一&#xff1a;通过修改.bashrc或.bash_profile文件来实现通过修改home目录下的.bashrc或.bash_profile文件...方法一&#xff1a;通过修改.bashrc或.bash_profile文件来实现通过修改home目录下的.bashrc或.bash_profile文件来实现。这两个文件选择其中一个…

只读属性怎么来的初值_设置Mysql表只读,关键时刻或许能救你一命

作为一名数据库运维人员&#xff0c;应该遇到过表记录被异常全表更新&#xff0c;这个时候该怎么办。作为Mysql数据库运维人员&#xff0c;第一反应&#xff0c;应该就是上报&#xff0c;然后联系开发人员&#xff0c;确认此表作用&#xff0c;然后再确定恢复方案。在这里举一个…

天龙架设linux环境配置,《果子资源》-天龙八部-手工纯端架设教程 - T-天龙八部 - Powered by Discuz!...

宝塔纯端架设天龙八部3D教程1.我这边使用CENOTS7 系统(6系统没时间测试)2.安装宝塔3.进入宝塔 安装MySQL5.5(我这边测试MYSQL 5.7 会创建不了角色) PHP 和NGINX3.进入SSH 输入yum install unixODBC -y4. 添加mysql账号账号: app_mtlbb密码: dskfjl29091dfk导入sql目录里的数据库…

mac安装需要的骚操作

显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool true; KillAll Finder 允许任何来源sudo spctl --master-disable 安装command line toolsxcode-select --install 使用locatesudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.pl…

自动打包linux,Linux环境下Springboot自动打包发布功能

实现核心功能&#xff1a;完成Linux环境下Springboot自动打包发布功能详细功能&#xff1a;自动更新Svn最新代码删除原有打包文件自动打包将打包之后的项目文件复制到其他服务器关闭本地项目进程重新启动本地项目服务使用到的相关技术&#xff1a;SVN&#xff0c;Maven&#xf…

miui12怎么自定义开机动画_MIUI12正式发布:视觉/功能大升级

点击上方蓝字【安兔兔】关注我文章每天不断更&#xff01;在今天下午举行的线上发布上&#xff0c;小米正式发布了MIUI12系统。从官方描述来看&#xff0c;MIUI12可以说是MIUI近几年来最重磅的一次更新&#xff0c;在UI界面、动画以及功能等方面都作出了升级。按照官方说法&…

已触发了一个断点 vs_VSCode源码分析-断点调试

背景今年年初&#xff0c;有幸参与了阿里集团IDE 共建项目组&#xff0c;打造阿里生态体系内的公共IDE底层&#xff0c;而作为一款面向开发者的IDE&#xff0c;调试能力的支持一定程度上决定着一款IDE的开发体验&#xff1b;VSCode作为微软体系下一款当前最热的IDE开发工具&…