Linux版本搭建DNS服务器和配置域名使用

文章目录

Linux版本搭建DNS服务器和配置域名使用

1.介绍:

域名系统DNS(Domain Name System)

1)两种解析:

正向解析:根据域名查询IP地址,是DNS最基本也是最常用的功能
反向解析:根据IP地址查询域名,不怎么常用
域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。这一过程通过域名解析系统DNS来完成。

2.服务器准备:

主机名 ip
dns200 192.168.56.200
centos121 192.168.56.121
centos122 192.168.56.122
centos123 192.168.56.123
win10 192.168.56.141

3.DNS服务器搭建(主机:dns200)

1)安装bind

yum install -y bind*

2)named 涉及的文件

/etc/named.conf              # bind主配置文件
/etc/named.rfc1912.zones     # 定义zone的文件
/etc/rc.d/init.d/named       # bind脚本文件
/etc/rndc.conf               # rndc配置文件
/usr/sbin/named-checkconf    # 检测/etc/named.conf文件语法
/usr/sbin/named-checkzone    # 检测zone和对应zone文件的语法
/usr/sbin/rndc               # 远程dns管理工具
/usr/sbin/rndc-confgen       # 生成rndc密钥
/var/named/named.ca          # 根解析库
/var/named/named.localhost   # 本地主机解析库
/var/named/slaves            # 从ns服务器文件夹

3)修改DNS总配置文件 vim /etc/named.conf

把下面两个改成

listen-on port 53 { 192.168.56.200; }; //监听端口修改为本地IP
llow-query     { any; }; //查询范围any,所有网段都可以查询。

修改之后的配置文件

options {
        listen-on port 53 {  192.168.56.200; };// ipv4监听端口和ip地址,默认只有本地的
        listen-on-v6 port 53 { ::1; }; // ipv6的监听端口和ip地址
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        recursion yes; // 递归还是迭代查询

        dnssec-enable yes; // dns安全扩展,可以改为no关闭
        dnssec-validation yes; //可以改为no关闭

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

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

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

4)修改总的区域配置文件 vim /etc/named.rfc1912.zones

4.1)正向总区域配置文件

格式说明:

zone "ZONE_NAME" IN {
    type {master|slave|hint|forward};
    file "ZONE_NAME.zone";
};
zone "ZONE_NAME“:定义解析库名字,通常和解析库文件前缀对应起来。
type:
    master指的是主dns解析
    slave指的是从dns解析
    hint指的是根域名解析(根提示域)
    forward指的是转发,转发不使用file
file :定义区域解析库文件名字(位置默认在/var/named下面),file的前缀通常和zone的名字通常对应起来,然后加一个.zone的后缀。

定义总的正向区域,在末尾添加内容:

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

4.2)反向总区域配置文件

格式说明:

区域名称:是网络地址的反写.in-addr.arpa.

192.168.56.xxx –> 56.168.192.in-addr.arpa.

配置方法:

先在/etc/named.rfc1512.zones文件下插入下面内容:
zone "Reverse_Net_Addr.in-addr.arpa" IN {
    type {master|slave|forward};
    file "Net_Addr.zone"
}

定义总的反向区域,在末尾添加内容:

zone "56.168.192.in-addr.arpa" IN {
    type master;
    file "192.168.56.zone.local";
};

5)区域配置文件

5.1)正向区域配置文件

/var/named/ZONE_NAME.zone区域配置文件
复制一个模板:

cd /var/named   
cp -p named.localhost test.com.zone      //复制配置模板

模板文件内容:

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

ZONE file的资源记录(RR:Resource Record)的格式:

name [TTL] IN rr_type value

编辑vim test.com.zone(注释不要写到配置文件里,这里只是说明)

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A    192.168.56.200  //本服务器地址
www     IN A    192.168.56.121 //www.test.com对应的ip
121     IN A    192.168.56.121 //121.test.com对应的ip
122     IN A    192.168.56.122
123     IN A    192.168.56.123

5.2)反向区域配置文件

/var/named/ZONE_NAME.zone.local区域配置文件
复制一个模板:

cd /var/named   
cp -p named.localhost 192.168.56.zone.local      //复制配置模板

模板文件内容:

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

编辑vim 192.168.56.zone.local(注释不要写到配置文件里,这里只是说明)

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
121 IN PTR www.test.com //第一参数就是192.168.56.x,x的值,合成就是:192.168.56.121
121 IN PTR 121.test.com //合成就是:192.168.56.121
122 IN PTR 122.test.com //合成就是:192.168.56.122

6)启动named服务

#用service
service named start(启动)|stop(关闭)|restart(重启)|status(运行状态查看)
#用systemctl
systemctl start(启动)|stop(关闭)|restart(重启)|status(运行状态查看) named

4.测试使用域名

1)win10

正向解析:

设置ip4属性:DNS服务器地址
Linux版本搭建DNS服务器和配置域名使用
打开cmd,直接ping域名:www.test.com
注意:这里的域名就是,正向区域配置文件配置信息的设置+总的区域配置文件配置信息的设置,组合成一个使用域名,如:121.test.com

  • 121:正向区域配置文件配置信息的设置
  • test.com:总的区域配置文件配置信息的设置

展示效果:

Linux版本搭建DNS服务器和配置域名使用

反向解析:

Linux版本搭建DNS服务器和配置域名使用

2)Linux

DNS服务器地址:vi /etc/resolv.conf
添加内容:

nameserver 192.168.56.200

直接ping域名:www.test.com
注意:这里的域名就是,正向区域配置文件配置信息的设置+总的区域配置文件配置信息的设置,组合成一个使用域名
如:121.test.com
121:正向区域配置文件配置信息的设置
test.com:总的区域配置文件配置信息的设置
展示效果:

[root@centos121 /etc]ping 123.test.com
PING 123.test.com (192.168.56.123) 56(84) bytes of data.
64 bytes from 192.168.56.123 (192.168.56.123): icmp_seq=1 ttl=64 time=0.175 ms
64 bytes from 192.168.56.123 (192.168.56.123): icmp_seq=2 ttl=64 time=0.191 ms
64 bytes from 192.168.56.123 (192.168.56.123): icmp_seq=3 ttl=64 time=0.185 ms
[root@centos121 /etc]ping www.test.com
PING www.test.com (192.168.56.121) 56(84) bytes of data.
64 bytes from centos121 (192.168.56.121): icmp_seq=1 ttl=64 time=0.014 ms
64 bytes from centos121 (192.168.56.121): icmp_seq=2 ttl=64 time=0.026 ms
64 bytes from centos121 (192.168.56.121): icmp_seq=3 ttl=64 time=0.026 ms

5.完成配置

上一篇:# Nginx 知识点


下一篇:Django setting.py设置时区