centos7 DNS服务器搭建

DNS,全称Domain Name System,即域名解析系统

DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。比如,您只需键入www.baidu.com,而不是“119.75.217.109”。即可访问ICANN的官方网站。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。因为,你在上网时输入的网址,是通过域名解析系解析找到相对应的IP地址,这样才能上网。其实,域名的最终指向是IP

DNS功能

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

主机名到IP地址的映射有两种方式:

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

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

DNS重要性

1、技术角度看
DNS解析是互联网绝大多数应用的实际寻址方式; 域名技术的再发展、以及基于域名技术的多种应用,丰富了互联网应用和协议。
2、资源角度看
域名是互联网上的身份标识,是不可重复的唯一标识资源; 互联网的全球化使得域名成为标识一国主权的国家战略资源。

DNS的工作原理

以访问www.为例说明(主机为Windows系统)

1)客户端首先检查本地c:\windows\system32\drivers\etc\host文件,是否有对应的IP地址,若有,则直接访问WEB站点,若无
2)客户端检查本地缓存信息,若有,则直接访问WEB站点,若无
3)本地DNS检查缓存信息,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无
4)本地DNS检查区域文件是否有对应的IP,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无,
5)本地DNS根据cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS查询。
6)根DNS收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com服务器的IP地址告诉本地DNS服务器
7).com服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xxx服务器的IP地址告诉本地DNS服务器
8).xxx服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回www.的IP地址给本地服务器
9)本地DNS服务器将www.的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接

安装DNS服务器软件

[[email protected]CentOS7 ~]# yum install bind

配置相关配置文件

/etc/named.conf ,/etc/named.rfc1912.zones 为DNS主配置文件
/var/named/目录为DNS数据库文件存放目录,每一个域文件都放在这里。
/etc/rc.d/init.d/named 为DNS服务的服务脚本。

一 DNS正向解析

这里以linuxidc.com域为例
www.linuxidc.com 对应IP 为192.168.29.100;
ftp.linuxidc.com 对应IP为1.1.1.1 。

1 首先编辑/etc/named.conf文件

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 编辑区域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {
        type master;
        file "linuxidc.com";
};

其中zone的格式为:

    zone “ZONE_NAME  IN {
    type  master;
    file “ZONE_NAME.zone”
}

3 新建解析库文件/var/named/linuxidc.com.zone

[[email protected] ~]# vim /var/named/linuxidc.com.zone
$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA  linuxidc.com. admin.linuxidc.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
linuxidc.com. IN  NS  ns1.linuxidc.com.

ns1 IN  A   192.168.29.100
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1

4 修改解析库文件权限

[[email protected] ~]# chgrp named /var/named/linuxidc.com.zone 

5检查 配置语法

(1)检查配置文件语法

[[email protected] ~]# named-checkconf

(2)检查域配置文件语法

[[email protected] ~]# named-checkzone linuxidc.com  /var/named/linuxidc.com.zone
zone linuxidc.com/IN: loaded serial 20170526
OK

6 启动named服务

[[email protected] ~]# systemctl start   named

7 测试

注意:要配置DNS服务器为本DNS服务器IP地址
或者使用dig命令则不需要修改DNS服务器

[[email protected] ~]# nslookup  www.linuxidc.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   www.linuxidc.com
Address: 172.16.254.13
[[email protected] ~]# nslookup  ftp.linuxidc.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   ftp.linuxidc.com
Address: 1.1.1.1

测试成功,正向解析成功!!

二 DNS反向解析

这里以linuxidc.com域为例
IP地址192.168.29.100/24对应域名为www.linuxidc.com;
192.168.29.200/24对应域名为ftp.linuxidc.com;

1 首先编辑/etc/named.conf文件

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 编辑区域配置文件/etc/named.rfc1912.zones

zone "29.168.192.in-addr.arpa" IN {
    type master;
    file "name.29.168.192";
};

格式为:

zone "NET_IP.in-addr.arpa" IN { #NET_IP 为反向解析的IP 网段
    type master;
    file "NAME_ZONE";       #NAME_ZONE为反向解析库配置文件名称
};

3 新建解析库文件

$TTL 1D
$ORIGIN 29.168.192.in-addr.arpa.
@       IN SOA  linuxidc.com. admin.linuxidc.com. (
                                        20170526; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
         IN     NS      linuxidc.com.
100     IN      PTR     www.linuxidc.com.
200     IN      PTR     ftp.linuxidc.com.

4 修改解析库文件所属组

[[email protected] ~]# chgrp named name.29.168.192

5 语法检查

(1)检查配置文件语法

[[email protected] ~]# named-checkconf

(2)检查域配置文件语法

 [[email protected] ~]# named-checkzone 29.168.192.in-addr.arpa /var/named/name.29.168.192
zone 29.168.192.in-addr.arpa/IN: loaded serial 20170526
OK

6 启动named服务

[[email protected] ~]# systemctl start   named

7 测试

 [[email protected] ~]# dig -x 192.168.29.200 @192.168.29.100
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 192.168.29.200 @192.168.29.100
[……]
200.29.168.192.in-addr.arpa. 86400 IN   PTR ftp.linuxidc.com.
[[email protected] ~]# dig -x 192.168.29.100 @192.168.29.100
[……]
;; ANSWER SECTION:
100.29.168.192.in-addr.arpa. 86400 IN   PTR www.linuxidc.com.
;; AUTHORITY SECTION:
29.168.192.in-addr.arpa. 86400  IN  NS  linuxidc.com.

测试成功!!!

三 主从DNS

这里主DNS服务器IP地址为192.168.29.100/24
从DNS服务器IP地址为192.168.29.3/24
www.linuxidc.com 对应IP 为192.168.29.100;
ftp.linuxidc.com 对应IP为1.1.1.1

1首先编辑主服务器/etc/named.conf文件

    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;

    dnssec-enable no;
    dnssec-validation no;

2 编辑主服务器的区域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {
        type master;
        file "linuxidc.com.zone";
        allow-transfer {192.168.29.3; };  ##192.168.29.3位从服务器的ip地址。
};

3 新建主服务器解析库文件vim /var/named/linuxidc.com.zone

$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA  linuxidc.com. admin.linuxidc.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
linuxidc.com. IN  NS  ns1.linuxidc.com.
mytest.com. IN  NS  slave.linuxidc.com.   ###添加从服务器的NS解析记录。

ns1 IN  A   192.168.29.100
slave   IN  A   192.168.29.3    ###指定从服务器的IP地址。
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1

4 编辑从服务器/etc/named.conf文件

    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;

5 配置从服务器的区域配置文件/etc/named.rfc1912.zones

zone "linuxidc.com" IN {
    type slave; ##表明本机是从服务器
    file "slaves/linuxidc.com";   ##将同步后的文件放置在哪里,这里是相对路径,实际路径为/var/named/slaves/linuxidc.com
    masters {192.168.29.100; }; ##指定主服务器的ip地址
};

6 语法检查

在主从两个服务器上都进行语法检查

[[email protected] ~]# named-checkconf

7 在主从两个服务器上开启服务

[[email protected] ~]# systemctl start named

8 测试

(1)查看从服务器已经取得解析数据库文件

[[email protected] ~]# ll  /var/named/slaves/
total 4
-rw-r--r--. 1 named named 348 May 26 15:22 linuxidc.com

(2)用从服务器解析www.linuxidc.com

[[email protected] ~]# dig -t A www.linuxidc.com @192.168.29.3
[……]
;; ANSWER SECTION:
www.linuxidc.com.     86400   IN  A   172.16.254.13

;; AUTHORITY SECTION:
linuxidc.com.     86400   IN  NS  slave.linuxidc.com.
mytest.com.     86400   IN  NS  ns1.linuxidc.com.

;; ADDITIONAL SECTION:
ns1.linuxidc.com.     86400   IN  A   192.168.29.100
slave.linuxidc.com.       86400   IN  A   192.168.29.3

;; Query time: 2 msec
;; SERVER: 192.168.29.3#53(192.168.29.3)
;; WHEN: Fri May 26 15:37:13 CST 2017
;; MSG SIZE  rcvd: 129

可以看到解析成功。说明从服务器已生效。

四 子域授权

这里子域服务器为192.168.29.110

1 在linuxidc.com.域的服务器上修改区域数据库文件

[[email protected] ~]# cat /var/named/linuxidc.com.zone
$TTL 1D
$ORIGIN linuxidc.com.
@   IN SOA  linuxidc.com. admin.linuxidc.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
linuxidc.com. IN  NS  ns1.linuxidc.com.
mytest.com. IN  NS  slave.linuxidc.com.
haha.linuxidc.com.    IN NS  ns2.haha.linuxidc.com.  ###新添加的行

ns1 IN  A   192.168.29.100
slave   IN  A   192.168.29.3
www IN  A   172.16.254.13
ftp     IN   A  1.1.1.1
ns2.haha.linuxidc.com. IN A 192.168.29.110    ###新添加行,指明子域服务器IP地址。

2 修改子域服务器的主配置文件/etc/named.conf

[[email protected] ~]# vim  /etc/named.conf
    listen-on port 53 { any; };
    allow-query     { any; };
    recursion yes;
    dnssec-enable no;
    dnssec-validation no;

3 编辑子域服务器的区域配置文件/etc/named.rfc1912.zones

[[email protected] ~]# vim  /etc/named.rfc1912.zones
zone "haha.linuxidc.com" IN {
        type master;
        file "haha.zone";
        allow-transfer {192.168.29.0/24; };
};

4 新建主服务器解析库文件/var/named/haha.zone

域名www.haha.linuxidc.com 对应IP 172.16.11.11
域名ftp. haha.linuxidc.com 对应IP 2.2.2.2

[[email protected] ~]# vim /var/named/haha.zone
$TTL 1D
$ORIGIN haha.linuxidc.com.
@       IN SOA  haha.linuxidc.com. admin.haha.linuxidc.com. (
                                        20170528; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
haha.linuxidc.com. IN     NS      ns2.haha.linuxidc.com.

ns2     IN      A       192.168.29.110
www     IN      A       172.16.11.11
ftp     IN       A      2.2.2.2

5 语法检查

在两个服务器上都进行语法检查

[[email protected] ~]# named-checkconf

6 在两个服务器上开启服务

[[email protected] ~]# systemctl start named

7测试

[[email protected] ~]# dig -t A  www.haha.linuxidc.com @192.168.29.100

; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.haha.linuxidc.com @192.168.29.100
[…….]
;www.haha.linuxidc.com.       IN  A

;; ANSWER SECTION:
www.haha.linuxidc.com.    86400   IN  A   172.16.11.11

;; AUTHORITY SECTION:
haha.linuxidc.com.    86400   IN  NS  ns2.haha.linuxidc.com.

;; ADDITIONAL SECTION:
ns2.haha.linuxidc.com.    86400   IN  A   192.168.29.110

可以看到,已经可以成功解析

原文地址:https://www.cnblogs.com/key-l731/p/9557520.html

时间: 2024-11-04 06:33:20

centos7 DNS服务器搭建的相关文章

DNS服务器搭建

一.DNS工作原理   1.计算机进行域名解析的时候,首先向本地DNS查找是否有地址记录:   2.如果找不到,则由本地DNS向根域"."发出解析请求,   3.从根域一次查找顶级域-->一级域-->二级域-->主机名:有点类似于邮件投递之类:   4.本地DNS经过一系列周折之后最终得到IP地址返回给客户端,并且保存记录一段时间: 二.DNS与bind   早期网络尚未流行的时候,计算机不多   通过/etc/hosts文件来存储主机名与IP对应关系:   随着互联

DNS服务器搭建(主、从、缓)

主dns服务器搭建 在本机上搭建一个管理hngd.com域名的域名服务器1. 确保安装好以下bind域名服务器 [[email protected]主人 ~]# rpm -qa |grep ^bindbind-chroot-9.8.2-0.17.rc1.el6.x86_64bind-libs-9.8.2-0.17.rc1.el6.x86_64bind-9.8.2-0.17.rc1.el6.x86_64bind-utils-9.8.2-0.17.rc1.el6.x86_64 2. 在主配置文件定义

Linux下DNS服务器搭建详解

 Linux下DNS服务器搭建详解 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析. 下面对DNS的工作流程及原理进行简要说明 DNS的查询流程:需要解析服务的Client先查看本机的/etc/hosts:若无结果,则client查看本地的DNS缓存服务器:若无结果,则查找所属域的首选DNS服务器:若此时本地首选DN

DNS服务器搭建笔记

DNS在linux服务器上的服务名是named,而named服务依赖软件bind. 环境: 系统版本:VBOX虚拟机centos6.0. 本机内网IP 192.168.2.198. 一.安装软件bind. 1.显示bind相关的软件包. [[email protected] ~]# yum list bind* bind.i686 bind-chroot.i686 bind-devel.i686 bind-dyndb-ldap.i686 bind-libs.i686 bind-sdb.i686

Linux中DNS服务器搭建

Linux中DNS服务器搭建 实验介绍:本文主要介绍在虚拟机Linux环境中搭建DNS(域名解析系统)服务器,并最终能够实现域名的正向和反向解析,最终通过一台win7系统的虚拟机能够用域名www.benet.com访问另外一台win7系统的虚拟机. 1. 首先给Linux主机配IP地址,本文Linux的IP地址192.168.1.25,用于访问网站的win7虚拟机的IP地址为192.168.1.50,提供网站服务的win7虚拟机的IP地址为192.168.1.100. 2.在Linux上安装Bi

基于CentOS7的服务器搭建(LAMP环境)

基于CentOS7的服务器环境搭建(LAMP环境) 一.安装MySQL组件 1.由于在CentOS7中,默认yum安装库中不含有mysql,我们可以下载mysql的分支MariaDB,如果必须要下mysql,可以通过下载mysql官方的yum库,再利用yum install *进行mysql的安装 yum -y install mariadb-server 2.启动服务 service mysqld restart systemctl restart mysqld.service 3.修改mys

架构师成长之路6.4 DNS服务器搭建(部署主从DNS)

点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS)  部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install bind-utils bind bind-devel bind-chroot bind-libs 2.与主DNS一样,编辑/etc/named.conf options { version "1.1.1"; listen-on port 53 {any;}; #表示使用53端口 direc

自签名证书以及DNS服务器搭建

1.TSL链路通信 TLS: Transport Layer Security 安全传输协议,在应用层 传输层之间主要应用https 协议,ftps 协议等https大体流程客户端A 服务端BA ----> (连接请求 ) BA<---- (发送CA私钥加密过B的公钥,也就是安全证书)BA (用CA公钥解开证书得到B的公钥)A (生成对称秘钥key,并用B的公钥加密)A ---->(加密的秘钥key) BB (B用自己的私钥解密得到对称私钥key)A B后续通讯使用对称私钥加密通讯 2.

Linux Red hat 5 DNS服务器搭建(一)域名缓存服务器

Linux Red hat 5 DNS服务器多实验详细搭建 所需软件包: ? bind-9.3.3-7.el5.i386.rpm ? 提供主要程序及相关文件 ? bind-utils-9.3.3-7.el5.i386.rpm ? 提供对dns服务器的测试工具(如nslookup.dig等) ? bind-chroot-9.3.3-7.el5.i386.rpm ? 提供一个伪装的根目录以增强其安全性(var/named/chroot/) ? caching-nameserver-9.3.3-7.e