CentOS6.7 DNS配置

简介:

CentOS6.7 DNS配置

 

DNSDomain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数字串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53,服务器之间备份使用TCP

 

1DNS的一些基本概念:

1)、根域 .

根域“.”(点),我们的网站www.qq.com,其实完整的写法是www.qq.com.(最后有一个点),我们都习惯了省略输入,这就是根域。全世界只有13台“根“服务器,1个主根服务器,其他的12台是辅助根服务器,DNS服务器根据使用的角色有:主DNS、从DNS、缓存DNSDNS转发服务器。

 

2)、域名的划分

根域下面就是顶级域或者叫一级域:

有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.net.等,一种是按国家划分的如cn.jp.,等。

每个域都会有域名服务器,也叫权威域名服务器。

 

51cto.com就是一个顶级域名,而www.51cto.com却不是顶级域名,他是在51cto.com这个域里的叫做www的主机。

一级域之后还有二级域,三级域,只要我买了一个顶级域,并且我搭建了自己BIND服务器(或者其他软件搭建的)注册到互联网中,那么我就可以随意在前面多加几个域了(当然长度是有限制的)。

比如a.www.51cto.com,在这个网址中,www.51cto.com变成了一个二级域而不是一台主机,主机名是a

 

3)、域名服务器

能提供域名解析的服务器,记录类型可以是A(address)记录,NS记录(name server),MXmail),CNAME等。

A记录 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。

 

4)、域名解析过程

1)、现在我有一台计算机,通过ISP接入了互联网,访问www.51cto.com,首先操作系统会检查本地的hosts文件是否有这个网址的映射关系,如果有,就先调用这个IP地址,完成域名解析。

2)、如果host文件里面没有这个域名映射,则使用本地的ISPDNSISP提供的)解析服务器,如果有这个网址的映射,就会返回,完成域名解析。

3)、如果缓存中没有的话,ISPDNS会从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中),

4)、然后像其中一台发起请求。

5)、根服务器拿到这个请求后,知道他是com.这个顶级域名下的,所以就会返回com域中的NS记录,一般来说是13台主机名和IP

6)、然后ISPDNS向其中一台再次发起请求,com域的服务器发现你这请求是51cto.com这个域的,com域的服务器一查发现了这个域的NS,那就返回给51cto.com ip,你再去查。

7)、ISPDNS不厌其烦的再次向51cto.com这个域的权威服务器发起请求,51cto.com收到之后,查了下有www的这台主机,就把这个IP返回给你了.

8)、然后ISPDNS拿到了之后,将其返回给了客户端,并且把这个保存在高速缓存中。

 

 

 

2DNS的安装和配置

 

Linux下的DNS服务器的软件是bind。直接使用yum安装即可。安装后,DNS的服务名称叫named,配置文件存放在/etc/named.conf.

 

yum install bind*        #安装dns软件bind

 

/etc/init.d/named start     #启动 DNS 服务

/etc/init.d/named stop     #关闭 DNS 服务

/etc/init.d/namedre start  #重新启动 DNS 服务

 

 

/var/named/chroot/etc/named.conf    #全局配置文件,

 

vim /var/named/chroot/etc/named.conf         #全局配置文件内容

 

1 //

2 // named.conf

3 //

4 // Provided by Red Hat bind package to configure the ISC BIND named(8)DNS

5 // server as a caching only nameserver (as a localhost DNS resolveronly).

6 //

7 // See /usr/share/doc/bind*/sample/ for example named configurationfiles.

8 //

9

10 options {

11         listen-on port 53 {127.0.0.1; }; #监听的端口的ip(ip可多个,any表示所有)

12         listen-on-v6 port 53 {::1; }             #ipv6的形式

13         directory       "/var/named";     #DNS各域名数据文件默认存放位置

14         dump-file      "/var/named/data/cache_dump.db";

15         statistics-file"/var/named/data/named_stats.txt";

16         memstatistics-file"/var/named/data/named_mem_stats.txt";

17         allow-query     { localhost; }; #允许dns查询的客户机列表any表示所有

18         recursion yes;                #是否允许客户机进行递归查询

19

20         dnssec-enable yes;

21         dnssec-validation yes;

22         dnssec-lookaside auto;

23

24         /* Path to ISC DLV key*/

25         bindkeys-file"/etc/named.iscdlv.key";

26

27         managed-keys-directory"/var/named/dynamic";

28 };

29

30 logging {                                #日志

31         channel default_debug {

32                 file"data/named.run";

33                 severity dynamic;

34         };

35 };

36

37 zone "." IN {                            #根域

38         type hint;    #区域类型。hint为根区域;master为主区域; slave为辅助区

39         file"named.ca";   #对应/var/named/chroot/var/named目录下的配置文件

40 };

41

42 include "/etc/named.rfc1912.zones";

43 include "/etc/named.root.key";


 

 

 

 

配置一个正向解析和反向解析:域名为balichvmip地址为192.168.171.51,步骤:

1)、首先在全局配置文件/var/named/chroot/etc/named.conf增加正向解析的区域,增加内容如下:

 

#balichvm.org正向解析

zone "balichvm.org" IN {

       type master;

       file "balichvm.org.zone";

};

 

#balichvm.org反向解析

zone "171.168.192.in-addr.arpa"IN {

       type master;

       file "192.168.171.zone";

};

 

 

保存配置文件,然后在/var/named/chroot/var/named/目录下下新建balichvm.org.zone的正向解析文件和192.168.171.zone反向解析文件。

 

vim /var/named/chroot/etc/balichvm.org.zone      #编辑正向解析文件

$TTL   86400              #定义生存周期

@      IN      SOA     @      root.balichvm.org. (

                             2015111001      ;serial      #序列号

                             1D             ;refresh  #服务器更新时间

                             1H             ;retry    #重新更新时间

                             1W             ;expire    #失效时间

                             3H)            ;minmun  #缓存时间

@      IN      NS             dns.balichvm.org.      #域名解析记录

@      IN      MX      10    mail.balichvm.org.   #邮件交换

dns       IN      A              192.168.171.51        #主机记录

mail      IN      A              192.168.171.48

www       IN      A              192.168.171.49

bbs       IN      CNAME   www                           #别名记录

 

保存配置文件后,使用named-checkzone命令检查语法是否错误如下:

 

named-checkzone "balichvm.org"/var/named/chroot/var/named/balichvm.org.zone

zone balichvm.org/IN: loaded serial2015111001

OK

 

vim /var/named/chroot/etc/192.168.171.zone        #编辑反向解析文件

$TTL   86400

@    IN    SOA   @    root.balichvm.org. (

                             2015111001      ;serial

                             1D             ;refresh

                             1H             ;retry

                             1W             ;expire

                             3H)            ;minmun

@      IN      NS        dns.balichvm.org.

51     IN       PTR        dns.balichvm.org.      #反向解析

49     IN      PTR        www.balichvm.org.

48     IN      PTR        mail.balichvm.org.

~                                                  

 

保存配置文件后,使用named-checkzone命令检查语法是否错误如下:

 

named-checkzone "171.168.192.in-addr.arpa"/var/named/chroot/var/named/192.168.171.zone

zone 171.168.192.in-addr.arpa/IN: loadedserial 2015111001

OK

 

重启dns服务,然后使用dig命令测试。

 

/etc/init.d/named restart        #重启dns服务

 

测试:

测试过程中,如果有开启防火墙,需要对dns的端口(tcp:53,953udp:53)放行如下:

 

-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT

 

保存,退出。然后重启防火墙:/etc/rc.d/init.d/iptables restart

 

 

 

使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:dig@127.0.0.1 www.balichvm.org

 

使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:dig @127.0.0.1 -x192.168.171.49

 

 

3DNS的转发

 

有些域名本地的DNS无法解析,可以把请求转发到上一级的DNS服务器解析,具体的配置是在全局配置文件/var/named/chroot/etc/named.conf 上的  options{} 增加。如下:

 

       forward first;

       forwarders {8.8.8.8;};

 

 

保存,重启DNS服务。

 

4DNS主从配置

 

首先在防火墙上开放dns的端口(TCP:53,953 udp:53):

-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT

 

首先在从服务器上安装bind软件:

yum install bind*      #在从服务器上安装dns软件

 

安装DNS软件之后,把主DNS上的配置文件(/var/named/chroot/etc/named.conf)拷贝到从DNS的服务器上。

 

然后编辑:/var/named/chroot/etc/named.conf 修改如下:

 

###balichvm.org正向解析

zone "balichvm.org" IN {

       type slave;          #服务器类型为 slave

       file "slaves/balichvm.org.zone";

       masters { 192.168.171.50; };             #指定masterip地址

};

 

##balichvm.org反向解析

zone "171.168.192.in-addr.arpa"IN {

       type slave;

       file "slaves/192.168.171.zone";

        masters { 192.168.171.50; };

};

 

保存配置文件,然后启动dns服务。在/var/named/chroot/var/named/slaves 目录下生成和主DNS上一样的配置文件。

 

测试:

使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:dig@127.0.0.1 www.balichvm.org

 

使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:dig @127.0.0.1 -x192.168.171.49

 

 

测试同步:

在主DNS服务上

/var/named/chroot/var/named/balichvm.org.zone

 

blog   IN      A        192.168.171.47                #增加记录

 

同时修改序列号:只能变大,不能变小:2015111001 ——> 2015111002

 

重启DNS服务器:/etc/init.d/named restart

 

然后在到从dns上测试是否同步。

 

 


本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1711983

相关文章
|
2月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
10天前
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
147 29
|
1月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
269 26
|
1月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
68 10
|
2月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
3月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
226 27
|
3月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
151 12
|
3月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
4月前
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
124 8
|
4月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。

相关产品

  • 云解析DNS