shell,container,docker,Linux,network

DNS原理及常见配置实现

概述

  • 域名系统(Domain Name System,缩写: DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCPUDP端口53.当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符
  • 相关端口

    • tcp/53: 数据同步
    • udp/53: 解析查询
  • DNS通过允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间.此外,DNS还提供了一些额外的信息,例如系统别名,联系信息以及哪一个主机正在充当系统组或域的邮件枢纽
  • 记录类型

    • SOA记录: Start Of Authority,起始授权记录,一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中哪一台是主服务器
    • A记录:将域名指向一个IPv4地址(例如: 172.22.35.10),需要增加A记录
    • CNAME记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录.这个域名一般是主机服务商提供的一个域名
    • MX记录: 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录.建立邮箱时,一般会根据邮箱服务商提供的MX记录填写此记录
    • NS记录: 域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录
    • TXT记录: 可任意填写,可为空.对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如: SPF(反垃圾邮件)记录,https验证等
    • AAAA记录: 将主机名(或域名)指向一个IPv6地址(例如: 02:42:c2:9f:43:49),需要添加AAAA记录
    • SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务.格式为: 服务的名字.协议的类型(例如:_example-server._tcp)
    • PTR记录: PTR记录是A记录的逆向记录,又称做IP反查记录或指针记录,负责将IP反向解析为域名
    • 显性URL转发记录: 将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址.例如:将www.manunkind.org显性转发到www.s4lm0x.com后,访问www.manunkind.org时,地址栏显示的地址为www.s4lm0x.com
    • 隐性UR转发记录: 将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址,隐性转发会隐藏真实的目标地址.例如:将www.manunkind.org显性转发到www.s4lm0x.com后,访问www.manunkind.org时,地址栏显示的地址仍然是www.manunkind.org
  • DNS服务器类型

    • 主DNS服务器: 管理和维护所负责解析的域内解析库的服务器
    • 从DNS服务器: 从主服务器或从服务器“复制”(区域传输)解析库副本
  • DNS解析

    • 递归查询
    • 迭代查询
  • 资源记录

    • 资源记录定义的格式
    1. [TTL] IN rr_type value
    • TTL可从全局继承
    • @可用于引用当前区域的名字
    • 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询 方式响应
    • 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值 进行定义;此仅表示通过多个不同的名字可以找到同一个主机
  • SOA记录

    • name: 当前区域的名字,例如s4lm0x.com
    • value: 有多部分组成

      • 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
      • 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如: admin.s4lm0x.com
      • 主从服务区域传输相关定义以及否定的答案的统一的TTL
  • NS记录

    • name: 当前区域的名字
    • value: 当前区域的某DNS服务器的名字,例如ns.s4lm0x.com.
    • 一个区域可以有多个NS记录
  • MX记录

    • name: 当前区域的名字
    • value: 当前区域的某邮件服务器(smtp服务器)的主机名
    • 一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
  • A记录

    • name: 某主机的FQDN,例如:www.s4lm0x.com.
    • value: 主机名对应主机的IP地址

技术实现

  • DNS系统是由各式各样的DNS软件所驱动的,较为常见的有bind,powerdns,unbound
  • 如下所有实验皆适用Bind实现

BIND(Berkeley Internet Name Domain)是DNS(域名系统)协议的实现.BIND包括一个DNS服务器(命名)它将主机名解析为IP地址;解析程序库(用于与DNS连接时使用的应用程序的例程);和用于验证DNS服务器是否正常运行的工具

  • Bind服务器

    • 服务脚本和名称:/etc/rc.d/init.d/named, /usr/lib/systemd/system/named.service
    • 主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
    • 解析库文件:/var/named/ZONE_NAME.ZONE

一台物理服务器可同时为多个区域提供解析
必须要有根区域文件:named.ca
应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库

  • 配置文件

    • 主配置文件:
    • 全局配置:options {};
    • 日志子系统配置:logging {};区域定义:本机能够为哪些zone进行解析,就要定义哪些zone zone "ZONE_NAME" IN {};
    • 缓存名称服务器的配置: 监听外部地址即可,dnssec:建议关闭dnssec,设为no即可

常见DNS配置实验

实验环境准备

  • 为方便测试,此处使用docker container运行Bind服务,container image based centos:latest
docker container run --rm --name centos7-1 -it centos:latest /bin/sh    #IP地址为172.17.0.2
docker container run --rm --name centos7-2 -it centos:latest /bin/sh    #IP地址为172.17.0.3
...

安装bind及相关软件包

  • 配置好yum源之后即可安装bind及其依赖包,此处需要整合CentOS的updates源
rm -rf /etc/yum.repos.d/*
cat /etc/yum.repos.d/centos.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

yum clean all
yum makecache fast
yum install -y bind bind-utils

配置DNS服务,并实现internet名称解析

此处使用centos7-1作为DNS Server, centos7-2作为client

  • container中配置named服务,并运行之
vim /etc/named.conf
...
options {
        listen-on port 53 { localhost; };      #默认坚挺发地址为127.0.0.1,此处修改为localhost,监听在本机的所有地址上
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };     #修改为any,允许所有主机的查询
...

/usr/sbin/named -u named -c /etc/named.conf -f     #将named服务运行在前台
  • 客户端进行解析测试
host www.s4lm0x.com 172.17.0.2
dig -t mx s4lm0x.com @172.17.0.2

正向主服务器

vi /etc/named.conf
...
options {
        listen-on port 53 { localhost; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
...

vi /etc/named.rfc1912.zones
zone "s4lm0x.com" IN {
        type master;
        file "s4lm0x.com.zone";
};
  • 创建区域数据库文件
vi /var/named/s4lm0x.com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1D 1H 1W 3H )
        NS      master
        NS      slave
master  A       172.17.0.2
slave   A       172.17.0.4
data    A       172.22.35.50
blog    A       172.22.35.51
db1     A       172.17.0.3
db2     A       172.17.0.2
  • 检查配置并启动服务
named-checkconf
named-checkzone s4lm0x.com.zone /var/named/s4lm0x.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端测试
host blog.s4lm0x.com 172.17.0.2
dig data.s4lm0x.com @172.17.0.2

反向主服务器

反向解析格式为172.17.0.X -> blog.s4lm0x.com
区域名称格式为0.17.172.in-addr.arpa.

  • 在centos7-1 container中修改区域数据库配置文件

zone "0.17.172.in-addr.arpa" IN {
        type master;
        file "172.17.0.zone";
};
  • 创建区域数据库文件,文件名需与配置文件中所定义的保持一致
vi /var/named/172.17.0.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1H 10M 12H 1D )
        NS      master
master  A       172.17.0.2
2       PTR     data.s4lm0x.com.
3       PTR     blog.s4lm0x.com.

chgrp named /var/named/172.17.0.zone
chmod 640 /var/named/172.17.0.zone
  • 检查配置文件及数据库文件是否有错,如果没错即可启动named服务
named-checkconf
named-checkzone 172.17.0.zone /var/named/172.17.0.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端进行解析测试
dig -t ptr 2.0.17.172.in-addr.arpa @172.17.0.2
dig -t ptr 3.0.17.172.in-addr.arpa @172.17.0.2
dig -x 172.17.0.2 @172.17.0.2

正向从服务器

  • 此处正向解析的基础上进行,再启动一个container作为从服务器
docker container run --rm --name centos7-3 -it centos:latest /bin/sh    #IP地址为172.17.0.4
  • 配置
  • 主服务器
vi /etc/named.conf
...
options {
        listen-on port 53 { localhost; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        allow-transfer { 172.17.0.4; };
...

/usr/sbin/named -u named -c /etc/named.conf -f
  • 从服务器
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        allow-transfer { none; };


vi /etc/named.rfc1912.zones     #文件末尾加入如下内容
zone "s4lm0x.com" IN {
        type slave;
        masters { 172.17.0.2; };
        file "slaves/s4lm0x.com.slave";
};
  • 启动服务
named-checkconf
/usr/sbin/named -u named -c /etc/named.conf -f
  • 在宿主机中查看是否同步
docker exec centos7-3 /bin/ls -l /var/named/slaves
  • 解析测试
dig blog.s4lm0x.com @172.17.0.4
dig data.s4lm0x.com @172.17.0.4
  • 修改主服务器中的区域数据库文件
vi /var/named/s4lm0x.com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190402 1D 1H 1W 3H )   #版本号加1
        NS      master
        NS      slave
master  A       172.17.0.2
slave   A       172.17.0.4
data    A       172.22.35.50
blog    A       172.22.35.51
db1     A       172.17.0.3
db2     A       172.17.0.2
nginx1  A       172.22.35.20    #增加以下2条记录
nginx2  A       172.22.35.21
  • 启动主服务的服务
named-checkzone s4lm0x.com.zone /var/named/s4lm0x.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 宿主机中查看从服务器的区域数据库文件大小改变
docker exec centos7-3 /bin/ls -l /var/named/slaves
  • 客户端中解析测试
dig nginx1.s4lm0x.com @172.17.0.4
dig nginx2.s4lm0x.com @172.17.0.4
  • 修改主服务器中的区域数据库文件
vi /var/named/s4lm0x.com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190403 1D 1H 1W 3H )
        NS      master
        NS      slave
master  A       172.17.0.2
slave   A       172.17.0.4
data    A       172.22.35.50
blog    A       172.22.35.51
db1     A       172.17.0.3
db2     A       172.17.0.2
nginx1  A       172.22.35.20
nginx2  A       172.22.35.21
@       MX      10      mail1
@       MX      20      mail2
*       A       172.22.35.200
www     A       172.22.35.100
@       A       172.22.35.100
$GENERATE 1-200 server$ A       192.168.20.$
  • 启动主服务的服务
named-checkzone s4lm0x.com.zone /var/named/s4lm0x.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端中解析测试
dig s4lm0x.com @172.17.0.4
dig wwwwwwwww.s4lm0x.com @172.17.0.4
dig server1.s4lm0x.com @172.17.0.4
dig server100.s4lm0x.com @172.17.0.4

父域委派子域到另一台服务器

  • centos7-1: 主服务器
  • centos7-3: 从服务器
  • centos7-4: 子域服务器
  • 配置主服务器
vi /var/named/s4lm0x.com.zone
$TTL 1D
@    IN    SOA    master    admin.s4lm0x.com ( 20190406 1D 1H 1W 3H )
    NS    master
    NS    slave
sub    NS    subdns
master    A    172.17.0.2
subdns    A    172.17.0.5
slave    A    172.17.0.4
data    A    172.22.35.50
blog    A    172.22.35.51
db1    A    172.17.0.3

named-checkzone s4lm0x.com.zone /var/named/s4lm0x.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 配置子域服务器
vi /etc/named.conf
options {
//      listen-on port 53 { 127.0.0.1; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
//      allow-query     { localhost; };

vi /etc/named.rfc1912.zones
zone "sub.s4lm0x.com" IN {
        type master;
        file "sub.s4lm0x.com.zone";
};

vi /var/named/subdns.s4lm0x.com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1D 1H 1W 3H )
        NS      master
master  A       172.17.0.5
websrv  A       192.168.11.10
www     CNAME   websrv

chgrp named /var/named/sub.s4lm0x.com.zone
chmod 640 /var/named/sub.s4lm0x.com.zone
named-checkconf
named-checkzone sub.s4lm0x.com.zone /var/named/sub.s4lm0x.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端测试
dig www.sub.s4lm0x.com @172.17.0.4
dig www.sub.s4lm0x.com @172.17.0.2

dns转发

  • centos7-1: 转发服务器
  • centos7-2: 客户端
  • centos7-3: 被转发服务器

对非本机所负责解析区域的请求全部转发给指定服务器,被转发的服务器需能够为请求者做递归
first: 将解析请求转发至被转发服务器,如果解析还不成功,则转发服务器会继续向根域名服务器请求解析
only: 将解析请求转发至被转发服务器,如果解析不成功,则不继续查询

  • 配置转发服务器
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-transfer { 172.17.0.4; };
        forward first;
        forwarders { 172.17.0.4; };
        ...
        dnssec-enable no;
        dnssec-validation no;

named-checkconf
/usr/sbin/named -u named -c /etc/named.conf -f
  • 配置被转发服务器
vi /etc/named.rfc1912.zones
zone "test-forward.com" IN {
        type master;
        file "test-forward.com.zone";
};

vi /var/named/test-forward.com.zone
$TTL 1D
@    IN    SOA    master    admin.test-forward.com ( 20190401 1D 1H 1W 5H )
    NS    master
master    A    172.17.0.4
websrv    A    172.22.35.100
www    CNAME    websrv

chgrp named /var/named/test-forward.com.zone
chmod 640 /var/named/test-forward.com.zone
named-checkzone test-forward.com.zone /var/named/test-forward.com.zone
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端测试
dig www.test-forward.com @172.17.0.2
dig www.insec.com @172.17.0.2
dig www.insec.com.cn @172.17.0.2

以上配置的转发策略为firstonly与之相似.转发也可以对特定的域进行

  • 特定域转发
vi /etc/named.rfc1912.zones
zone "manunkind.org" IN {
        type forward;
        forward only;
        forwarders { 172.17.0.4; };
};

Bind中ACL应用

Bind自带4个ACL,自持自定义ACL

  • 内置ACL

    • none: 没有一个主机
    • any: 任意主机
    • localhost: 本机
    • localnet: 本机的IP同掩码运算后得到的网络地址
  • 自定义ACL

只能先定义后使用,一般定义在配置文件中,位于options的前面

vi /etc/named.conf
acl lannet {
        172.22.0.0/16;
        172.17.0.0/16;
        192.168.10.0/24;
};

options {
        ...
        allow-query     { lannet;localhost; };
        ...

基于ACL实现智能dns(CDN)

  • 配置区域数据库文件
vi /var/named/s4lm0x.com.bj
$TTL 1D
@    IN    SOA    master    admin.s4lm0x.com ( 20190406 1D 1H 1W 3H )
    NS    master
master    A    172.17.0.2
websrv    A    172.22.35.51
www    CNAME    websrv

cp -p /var/named/s4lm0x.com.bj /var/named/s4lm0x.com.sh
vi /var/named/s4lm0x.com.sh
$TTL 1D
@    IN    SOA    master    admin.s4lm0x.com ( 20190406 1D 1H 1W 3H )
    NS    master
master    A    172.17.0.2
websrv    A    10.10.10.1
www    CNAME    websrv

cp -p /var/named/s4lm0x.com.bj /var/named/s4lm0x.com.ot
vi /var/named/s4lm0x.com.ot
$TTL 1D
@    IN    SOA    master    admin.s4lm0x.com ( 20190406 1D 1H 1W 3H )
    NS    master
master    A    172.17.0.2
websrv    A    192.168.10.10
www    CNAME    websrv
  • 编辑配置文件,定义ACL

    • ACL自上往下匹配,需将较小方位的的放在上面
    • 所有区域数据需放在view视图内
vi /etc/named.conf
acl bjnet {
        10.10.0.0/16;
};
acl shnet {
        172.17.0.0/16;
};
acl otnet {
        any;
};

...

/*
view bjview {
        match-clients { bjnet; };
        zone "s4lm0x.com" {
                type master;
                file "s4lmox.com.bj";
        };
};
*/

view bjview {
        match-clients { bjnet; };
        include "/etc/named.rfc1912.zones.bj";
};

view shview {
        match-clients { shnet; };
        include "/etc/named.rfc1912.zones.sh";
};

view otview {
        match-clients { otnet; };
        include "/etc/named.rfc1912.zones";
};

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


vi /etc/named.rfc1912.zones   #将/etc/named.conf文件中的如下内容剪切至/etc/named.rfc1912.zones文件中
zone "." IN {
        type hint;
        file "named.ca";
};

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
vi /etc/named.rfc1912.zones.bj
...
zone "s4lm0x.com" IN {
    type master;
    file "s4lm0x.com.bj";
};

vi /etc/named.rfc1912.zones.sh
...
zone "s4lm0x.com" IN {
    type master;
    file "s4lm0x.com.sh";
};

vi /etc/named.rfc1912.zones
...
zone "s4lm0x.com" IN {
    type master;
    file "s4lm0x.com.ot";
};

named-checkconf
named-checkzone s4lm0x.com.ot /var/named/s4lm0x.com.ot
named-checkzone s4lm0x.com.bj /var/named/s4lm0x.com.bj
named-checkzone s4lm0x.com.sh /var/named/s4lm0x.com.sh
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端测试

    • 分别使用三个网段的地址请求解析
dig www.s4lm0x.com @172.17.0.2

Internet dns架构实现

架构图

  • 启动6个container
  • 宿主机提供web服务
docker container run --rm --name centos7-1 -it centos:latest /bin/sh
...
docker container run --rm --name centos7-6 -it centos:latest /bin/sh
  • 配置master节点

    • centos7-3
    • IP: 172.17.0.4
yum install -y bind bind-utils
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-query     { any; };
        allow-transfer { 172.17.0.3; };


vi /etc/named.rfc1912.zones
zone "s4lm0x.com" IN {
        type master;
        file "s4lm0x.com.zone";
};

vi /var/named/s4lm0x.com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1D 1H 1W 3H )
        NS      master
        NS      slave
master  A       172.17.0.4
slave   A       172.17.0.3
websrv  A       172.22.35.51
www     CNAME   websrv

chgrp named /var/named/s4lm0x.com.zone
chmod 640 /var/named/s4lm0x.com.zone
named-checkconf
named-checkzone s4lm0x.com.zone /var/named/s4lm0x.com.zone
  • 配置slave节点

    • centos7-2
    • IP: 172.17.0.3
yum install -y bind bind-utils
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-query     { any; };
        allow-transfer { none; };


vi /etc/named.rfc1912.zones
zone "s4lm0x.com" IN {
        type slave;
        masters { 172.17.0.4; };
        file "slaves/s4lm0x.com.zone";
};

/usr/sbin/named -u named -c /etc/named.conf -f
  • 配置.com节点

    • centos7-4
    • IP: 172.17.0.5
yum install -y bind bind-utils
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-query     { any; };
        allow-transfer { none; };

vi /etc/named.rfc1912.zones
zone "com" {
        type master;
        file "com.zone";
};

vi /var/named/com.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1D 1H 1W 3H )
        NS      master
master  A       172.17.0.5
s4lm0x  NS      s4lm0xns1
s4lm0x  NS      s4lm0xns2
s4lm0xns1     A   172.17.0.4
s4lm0xns2     A   172.17.0.3

/usr/sbin/named -u named -c /etc/named.conf -f
  • 配置根节点

    • centos7-5
    • IP: 172.17.0.6
yum install -y bind bind-utils
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-query     { any; };
        ...
zone "." IN {
        type master;
        file "root.zone";
};

vi /var/named/root.zone
$TTL 1D
@       IN      SOA     master  admin.s4lm0x.com ( 20190401 1D 1H 1W 3H )
        NS      master
master  A       172.17.0.6
com  NS      comns
comns     A   172.17.0.5

/usr/sbin/named -u named -c /etc/named.conf -f
  • 配置local节点

    • centos7-1
    • IP: 172.17.0.2
yum install -y bind bind-utils
vi /etc/named.conf
options {
        listen-on port 53 { localhost; };
        ...
        allow-query     { any; };
        ...
        dnssec-enable no;
        dnssec-validation no;
        ...
vi /var/named/named.ca
.                       518400  IN      NS      a.root-servers.net.
a.root-servers.net.     3600000 IN      A       172.17.0.6
/usr/sbin/named -u named -c /etc/named.conf -f
  • 客户端访问网站测试

    • centos7-6
    • IP: 172.17.0.7
dig www.s4lm0x.com @172.17.0.2
curl www.s4lm0x.com

  • 抓取服务器中的数据
    如果服务器没有做安全配置,限制允许同步的主机,则可通过如下命令将整个域的数据抓取下来
dig -t axfr s4lmx.com @172.17.0.2
微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

支付宝扫一扫,向我赞赏

回复

This is just a placeholder img.