• DNS工具和rndc远程管理DNS实战


    DNS管理工具

    安装

    1
    # yum install bind-utils -y

    工具一:nslookup

    Windows操作系统也有的一个常用工具

    交互式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #nslookup 
    > server localhost
    Default server: localhost
    Address: 127.0.0.1#53
    Default server: localhost
    Address: 127.0.0.1#53
    > www.bkjf-inc.com
    Server: localhost
    Address: 127.0.0.1#53

    Name: www.bkjf-inc.com
    Address: 192.144.198.128
    -------以上是权威应答
    > server 8.8.8.8
    Default server: 8.8.8.8
    Address: 8.8.8.8#53
    > www.bkjf-inc.com
    Server: 8.8.8.8
    Address: 8.8.8.8#53

    Non-authoritative answer:
    Name: www.bkjf-inc.com
    Address: 192.144.198.128
    -------以上是非权威应答

    非交互式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #nslookup www.baidu.com
    Server: 183.60.83.19
    Address: 183.60.83.19#53

    Non-authoritative answer:
    www.baidu.com canonical name = www.a.shifen.com.
    Name: www.a.shifen.com
    Address: 220.181.112.244
    Name: www.a.shifen.com
    Address: 220.181.111.37

    工具二:host

    简单粗暴的小工具

    1
    2
    3
    4
    #host -t A www.baidu.com
    www.baidu.com is an alias for www.a.shifen.com.
    www.a.shifen.com has address 220.181.112.244
    www.a.shifen.com has address 220.181.111.37

    工具三:dig

    功能强大的DNS工具,重点掌握

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #dig -t A www.baidu.com @localhost

    ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> -t A www.baidu.com @localhost
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46476
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 6

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.baidu.com. IN A

    ;; ANSWER SECTION:
    www.baidu.com. 1200 IN CNAME www.a.shifen.com.
    www.a.shifen.com. 300 IN A 220.181.111.37
    www.a.shifen.com. 300 IN A 220.181.112.244

    ;; AUTHORITY SECTION:
    a.shifen.com. 1200 IN NS ns3.a.shifen.com.
    a.shifen.com. 1200 IN NS ns2.a.shifen.com.
    a.shifen.com. 1200 IN NS ns4.a.shifen.com.
    a.shifen.com. 1200 IN NS ns5.a.shifen.com.
    a.shifen.com. 1200 IN NS ns1.a.shifen.com.

    ;; ADDITIONAL SECTION:
    ns5.a.shifen.com. 1200 IN A 180.76.76.95
    ns1.a.shifen.com. 1200 IN A 61.135.165.224
    ns3.a.shifen.com. 1200 IN A 112.80.255.253
    ns4.a.shifen.com. 1200 IN A 14.215.177.229
    ns2.a.shifen.com. 1200 IN A 220.181.57.142

    ;; Query time: 561 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Mar 01 09:45:51 CST 2019
    ;; MSG SIZE rcvd: 271

    常用参数:

    • +[no]addition
    • +short

    工具四:nsupdate

    不常用,需要在zone配置文件里声明allow-update { acl; };

    调整zone配置文件

    /etc/named.rfc1912.zones
    1
    2
    3
    4
    5
    zone "bkjf-inc.com" IN {
    type master;
    file "bkjf-inc.com.zone";
    allow-update { 10.4.7.11/32; };
    };

    重启named服务

    1
    # systemctl restart named

    新增一条记录

    1
    2
    3
    4
    5
    #nsupdate 
    > server 10.4.7.11
    > update add update.bkjf-inc.com 60 A 10.4.7.11
    > send
    > quit

    检查:

    1
    2
    3
    4
    5
    6
    #nslookup update.bkjf-inc.com
    Server: 10.4.7.11
    Address: 10.4.7.11#53

    Name: update.bkjf-inc.com
    Address: 10.4.7.11

    查看区域数据库文件

    /var/named/
    1
    2
    3
    4
    -rw-r--r-- 1 root  root   335 Feb 28 10:57 bkjf-inc.com.zone
    -rw-r--r-- 1 named named 733 Mar 1 09:54 bkjf-inc.com.zone.jnl
    #file bkjf-inc.com.zone.jnl
    bkjf-inc.com.zone.jnl: data

    产生了一个jnl的数据文件,不能使用文本编辑器打开

    jnl文件(journal文件)是BIND9动态更新的时候记录更新内容所生成的日志文件。

    删除一条记录

    1
    2
    3
    4
    5
    #nsupdate 
    > server 10.4.7.11
    > update delete update.bkjf-inc.com
    > send
    > quit

    检查

    1
    2
    3
    4
    5
    #nslookup update.bkjf-inc.com
    Server: 10.4.7.11
    Address: 10.4.7.11#53

    ** server can't find update.bkjf-inc.com: NXDOMAIN

    更新一条记录

    不支持直接更新,需要先执行删除,再新增

    nsupdate使用小结:

    • 优点
      • 命令简单,便于记忆
      • 不用手动变更SOA的serial序列号,自动滚动
      • 不需要重启/重载BIND9服务/配置,生效快
      • 可以通过配置acl实现远程管理
    • 缺点
      • jnl文件无法使用文本文件的方式打开
      • 只能依赖完全区域传送查看所有区域的记录
      • 更新操作复杂,先删再增
      • 远程管理有安全隐患,需要加强审计
      • 动态域在rndc管理上多一步

    rndc远程管理DNS

    生成rndc-key

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #rndc-confgen -r /dev/urandom
    # Start of rndc.conf
    key "rndc-key" {
    algorithm hmac-md5;
    secret "MFM4AocpN0lcoL4fN2lA6Q==";
    };

    options {
    default-key "rndc-key";
    default-server 127.0.0.1;
    default-port 953;
    };
    # End of rndc.conf

    # Use with the following in named.conf, adjusting the allow list as needed:
    # key "rndc-key" {
    # algorithm hmac-md5;
    # secret "MFM4AocpN0lcoL4fN2lA6Q==";
    # };
    #
    # controls {
    # inet 127.0.0.1 port 953
    # allow { 127.0.0.1; } keys { "rndc-key"; };
    # };
    # End of named.conf

    把rndc-key和controls配置到bind的主配置文件的options段里

    /etc/named.conf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    key "rndc-key" {
    algorithm hmac-md5;
    secret "MFM4AocpN0lcoL4fN2lA6Q==";
    };

    controls {
    inet 10.4.7.11 port 953
    allow { 10.4.7.11;10.4.7.12; } keys { "rndc-key"; };
    };

    注意:这里要配置一下controls段的acl,限定好哪些主机可以使用rndc管理DNS服务

    重启bind9服务

    1
    # systemctl restart named

    rndc的服务端监听在953端口,检查一下端口是否起来

    1
    2
    # netstat -luntp|grep 953
    tcp 0 0 10.4.7.11:953 0.0.0.0:* LISTEN 11136/named

    在远程管理主机上安装bind

    rndc命令在bind包里,所以远程管理主机需要安装bind(不需要启动named)

    在远程管理主机上做rndc.conf

    使用rndc进行远程管理的主机上,都需要配置rndc.conf,且rndc-key要和DNS服务器上的key一致

    /etc/rndc.conf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    key "rndc-key" {
    algorithm hmac-md5;
    secret "MFM4AocpN0lcoL4fN2lA6Q==";
    };

    options {
    default-key "rndc-key";
    default-server 10.4.7.11;
    default-port 953;
    };

    使用rndc命令远程管理DNS

    查询DNS服务状态(可以取值做监控)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #rndc status 
    version: 9.9.4-RedHat-9.9.4-73.el7_6 <id:8f9657aa>
    CPUs found: 2
    worker threads: 2
    UDP listeners per interface: 2
    number of zones: 105
    debug level: 0
    xfers running: 0
    xfers deferred: 0
    soa queries in progress: 0
    query logging is OFF
    recursive clients: 0/0/1000
    tcp clients: 0/100
    server is up and running

    管理静态域(allow-update { none; };)

    静态域zone文件
    1
    2
    3
    4
    5
    zone "od.com" IN {
    type master;
    file "od.com.zone";
    allow-update { none; };
    };

    增、删、改一条记录后

    1
    2
    # rndc reload od.com
    zone reload up-to-date

    管理动态域(allow-update { 10.4.7.11; };)

    动态域zone文件
    1
    2
    3
    4
    5
    zone "host.com" IN {
    type master;
    file "host.com.zone";
    allow-update { 10.4.7.11; };
    };

    增、删、改一条记录后

    1
    2
    #rndc reload host.com
    rndc: 'reload' failed: dynamic zone

    直接reload会报错,需要先freezethaw才行

    1
    2
    3
    #rndc freeze host.com
    #rndc thaw host.com
    The zone reload and thaw was successful.

    原文地址:https://blog.stanley.wang/page/2/

  • 相关阅读:
    二维坐标离散化
    unique()函数使用
    如果你的unordered_map头文件报错请看这里
    string删除与查找erase,find
    2017 ACM-ICPC, Universidad Nacional de Colombia Programming Contest K
    2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) P-Fear Factoring 区间内数的所有因数的和(除法分块)
    .NETCore使用EntityFrameworkCore连接数据库生成实体
    sql server 触发器开发
    Windows 配置定时任务 和任务无法执行原因分析
    sql 的存储过程和事务
  • 原文地址:https://www.cnblogs.com/lanbojini/p/14304350.html
Copyright © 2020-2023  润新知