前言
本文将介绍如何使用 npm 包 bind9-rndc,该包用于与绑定服务(Bind)的远程管理接口(RNDC)进行交互。通过使用该包,可以方便地进行 DNS 记录的添加、删除、修改等管理操作,从而实现更精细化、可靠性更高的 DNS 服务。
安装
使用 npm 包管理器进行安装:
--- ------- ---------- ------
配置
使用 bind9-rndc 之前,需要先配置 RNDC 的访问授权,可在 Bind 的全局配置文件(/etc/bind/named.conf.options)中添加如下内容:
-------- - ---- --------- ---- --- ----- - ---------- - ---- - --------- -- --
授权信息包括监听地址、端口号、允许访问地址、秘钥等。 rn dc-key 的配置需要与后面的步骤配合使用。
同时,需要在 RNDC 的配置文件中指定授权信息:
--- ---------- - --------- --------- ------ --------- -- -------- - ---- --------- ---- --- ----- - ---------- - ---- - --------- -- --
其中,algorithm 可根据需求进行修改,hmac-md5 为常用的选项。 secret 为授权秘钥,可以使用如下命令生成:
------------ -- -- ------------------
生成的 rndc.key 必须与上述配置文件中的授权秘钥保持一致。
使用
初次使用 bind9-rndc,需要先设置目标 RNDC 地址及秘钥等信息:
----- ---- - ---------------------- ----- ---- - --- ------ ----- ------------ ----- ---- ------- -------- ---
默认情况下,RNDC 的监听地址为 127.0.0.1,端口号为 953。
待设置完成后,即可开始进行 DNS 记录的操作。以下代码示例演示了如何添加 A 类别记录:
----------------------- ------------ ---- ----- ------- ------- -- - -- ----- - ---------------------- ---- -------- - ---- - ---------------------- -------- - ---
其中,第一个参数为记录的完整域名,第二个参数为 IP 地址,第三个参数为记录类型。若需添加多个记录,可使用以下方法:
----- ------- - - - ----- ------------------ ------ ------------ ----- --- -- - ----- ------------------- ------ ------------ ----- ----- --------- -- -- -- -- -- ---------------------------- -------- ----- ------- ------- -- - -- ----- - ------------------------ ---- -------- - ---- - ------------------------ -------- - ---
其中,records 为一个数组,包含了多个记录对象。每个对象中包含 name(记录名)、value(值)、type(类型)和 priority(仅 MX 记录需要)四个属性。
与添加操作类似,删除操作也提供了单个和批量两种方式:
-- ------- ----------------------- ---- ----- ------- ------- -- - -- -- -- --- -- ------ ----- ------- - - - ----- ------------------ ----- --- -- - ----- ------------------- ----- ---- -- -- -- -- ---------------------------- -------- ----- ------- ------- -- - -- -- -- ---
修改操作需要先读取当前记录的设置,然后执行更新操作:
----------------------- ---- ----- -------- -- - -- ----- - ---------------------- ----- - ---- - ---------------------- -- - --------------- - ------------ --- ----------------------- -------- ----- ------- ------- -- - -- ----- - ---------------------- ---- -------- - ---- - ---------------------- -------- - --- - ---
其中,rndc.get 读取指定域名下的指定类型的记录,并将其转化为数组形式。数组中的每个元素都包含 name(记录名)、value(原始值)、newValue(要修改的新值)、type(类型)等四个属性。记录修完后,调用 rndc.set 保存即可。
总结
本文介绍了如何使用 bind9-rndc 包进行 DNS 记录的添加、删除、修改等操作。该包封装了 RNDC 的访问接口,使用方便,能够提高 DNS 服务的可靠性和管理效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600570ba81e8991b448e7fdf