• DNS 05-rndc介绍及使用


    rndc简介

    • rndc -- Remote Name Domain Controllerr
    • 一个远程管理bind的工具。
    • 通过这个工具可以在本地或者远程了解当前服务器的运行状况。
    • 可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。

    rndc原理

    • 使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。
    • 在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。
    • 在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。
    • rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。
    • rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。
    • rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。
    • 在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。 在当前版本的rndc和named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。
    • 它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。
    • 为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。

    rndc常用命令

    查看帮助

    rndc -h
    

    显示bind服务器的工作状态

    rndc status
    

    重新加载配置文件和区域文件

    rndc reload
    

    重新加载指定区域

    rndc reload zone_name
    

    重读配置文件并加载新增的区域

    rndc reconfig
    

    关闭或开启查询日志

    rndc querylog
    

    将高速缓存转储到转储文件 (named_dump.db)

    rndc dumpdb
    
    • 需要设置cache文档输入目录,在named.conf里面设置dump-file "/var/named/data/cache_dump.db"即为dns cache输入文档。
    • 注意了这些设置,运行rndc -dumpdb命令后就会在/var/named/data/目录下导出DNS cache内容,用more cache_dump.db进行查看。

    暂停更新所有动态zone

    rndc freeze
    

    暂停更新一个动态zone

    rndc freeze zone [class [view]]
    

    刷新服务器的所有高速缓存

    rndc flush [view]
    

    为某一视图刷新服务器的高速缓存

    rndc flushname name
    

    将服务器统计信息写入统计文件中

    rndc stats
    

    将暂挂更新保存到主文件并停止服务器

    rndc stop
    

    停止服务器,但不保存暂挂更新

    rndc halt
    

    打开debug, debug有级别的概念,每执行一次提升一次级别

    rndc trace
    

    指定 debug 的级别, trace 0 表示关闭debug

    • 调试:显示程序运行中的详细信息(会产生I/O,正常情况下建议关闭)
    • 调试级别:0,1,2,3...
    • 提升调试级别:
    rndc trace
    rndc trace LEVEL
    

    打开查询日志:记录查询动作(会增加磁盘I/O)

    rndc querylog
    

    将调试级别设置为 0

    rndc notrace
    

    重新启动服务器(尚未实现)

    rndc restart
    

    增加一个zone

    rndc addzone zone [class [view]] { zone-options }
    

    删除一个zone

    rndc delzone zone [class [view]]
    

    删除一个TSIG key

    rndc tsig-delete keyname [view]
    

    询当前有效的TSIG列表

    rndc tsig-list
    

    开启/关闭dnssec

    rndc validation newstate [view]
    

    rndc远程连接

    • 命令后面可以跟"-s"和"-p"选项连接到远程DNS服务器,以便对远程DNS服务器进行管理
    • 但此时双方的密钥要一致才能正常连接。
    • 在设置rndc.conf时一定要注意key的名称和预共享密钥一定要和named.conf相同,否则rndc工具无法正常工作。
    rndc -c /etc/rndc.conf -s 127.0.0.1 -p 953 status
    

    rndc实例

    1、查看DNS状态

    [root@dns01 log]# rndc status
    WARNING: key file (/etc/rndc.key) exists, but using default configuration file (/etc/rndc.conf)
    version: 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5
    CPUs found: 8
    worker threads: 8
    number of zones: 2
    debug level: 0
    xfers running: 0
    xfers deferred: 0
    soa queries in progress: 0
    query logging is ON
    recursive clients: 0/0/1000
    tcp clients: 0/100
    server is up and running
    [root@dns01 log]#
    

    2、使用rndc动态添加一个zone,并在主配置文件named.conf全局配置options下添加 allow-new-zones yes;

    # 创建zone文件
    vi /var/named/zone/abc.com.zone
    
    # 添加zone
    rndc  addzone abc.com '{ type master; file  "zone/abc.com.zone";};'
    
    # 可以使用如下指定view:
    addzone abc.com IN view_name '{type master; file "zone/abc.com.zone";keys{key;};};'
    
    # 检查dig @192.168.36.54 www.abc.com A
    
  • 相关阅读:
    搜索框下拉列表
    定时器修改button标题闪烁
    按钮设置文字图片排版
    SSKeychain
    IQKeyboardManager
    App内存性能优化
    支付宝集成
    友盟分享
    iOS 线程同步 加锁 @synchronized
    iOS 线程同步-信号量 dispatch_semaphore
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9480749.html
Copyright © 2020-2023  润新知