npm 包 bind9-rndc 使用教程

前言

本文将介绍如何使用 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


猜你喜欢

  • npm 包 azure-cognitiveservices-language 使用教程

    在前端开发中,我们常常需要使用自然语言处理相关技术,比如情感分析、语言翻译等。而 Microsoft 提供的 Cognitive Services 中有一个专门用于自然语言处理的 API,即 Azur...

    3 年前
  • npm 包 react-native-easypr 使用教程

    简介 react-native-easypr 是一个基于 React Native 开发的车牌识别插件,它可以识别车牌并返回识别结果。该插件使用了 easypr,一个 C++ 开源项目,借助于它的强大...

    3 年前
  • npm 包 bsimagepicker 使用教程

    前言 在开发前端项目中,图片选择器是一个必不可少的组件。bsimagepicker 是一个开源的 npm 包,可以方便地从本地文件系统或者相机中选择图片。本文将详细介绍如何使用 bsimagepick...

    3 年前
  • npm 包 tbanimate-compile 使用教程

    介绍 tbanimate-compile 是一个在前端项目中常用的 npm 包,它是一个动效编译器,可以将使用原生 CSS3 或 JavaScript 编写的动效代码作为输入,输出可复用并且性能更好的...

    3 年前
  • npm 包@react.material/linear-progress 使用教程

    前言 React 是一种广泛使用的 JavaScript 库,用于构建动态用户界面。而@react.material/linear-progress 是在 React 框架内使用的一个 npm 包,该...

    3 年前
  • npm 包@roman_kiyashev/react-cropper 的使用教程

    在现代的前端开发中,图片裁剪是非常常见的一个功能。在这里,我们将介绍一款基于 React 的 npm 包 @roman_kiyashev/react-cropper,它提供了非常简单易用的图片裁剪解决...

    3 年前
  • npm 包 dubase-table 使用教程

    dubase-table 是一个基于 React 的表格组件,可以用来展示数据并进行筛选、排序、分页等操作。它具有简单易用、可扩展性强等特点,非常适合作为前端项目的表格展示组件。

    3 年前
  • npm 包 orange-http 使用教程

    前言 作为前端工程师,我们每天都要面对各种网络请求的处理。而处理网络请求需要使用到的工具有很多,比如 Axios、Fetch 等。今天我们要讲的是一个非常好用的 npm 包,叫做 orange-htt...

    3 年前
  • npm 包 heroku-escher-keypool-editor 使用教程

    前言 随着 Web 应用程序逐渐复杂,为了更有效地保护应用程序,许多团队都在考虑把安全性放在更加重要的位置。Escher 是一个通用的 HTTP 请求签名、验证库。

    3 年前
  • npm 包 tobo-cordova-plugin-firebase 使用教程

    Firebase 是一个 Google 开发的移动和 Web 应用程序开发平台,他可以提供很多实用功能,例如数据库,认证,存储等等。而 tobo-cordova-plugin-firebase 正是为...

    3 年前
  • npm 包 tobo-cordova-plugin-inappbrowser 使用教程

    什么是 tob0-cordova-plugin-inappbrowser tob0-cordova-plugin-inappbrowser 是一个 Cordova 插件,它可以让你在你的 Cordov...

    3 年前
  • npm 包 linear-search-index 使用教程

    介绍 npm 是一个常用的包管理工具,可以方便地下载、安装和使用各种 JavaScript 库和组件。而 linear-search-index 则是一个用于在有序数组中查找某个元素位置的 npm 包...

    3 年前
  • npm 包 sevdesk-voucher-upload-cli 使用教程

    简介 sevdesk-voucher-upload-cli 是一个基于 Node.js 的命令行工具,用于上传文件和凭证信息到 sevDesk 财务软件。它是一个方便实用的工具,可以简化业务流程,提高...

    3 年前
  • npm 包 request-tick 使用教程

    前言 在前端开发中,常常需要发送 Ajax 请求和展示请求结果。而 request-tick 是一个轻量级的请求库,它可以让我们方便地进行请求和展示。 在本文中,我们将深入介绍如何使用 request...

    3 年前
  • npm 包 @theme-tools/plugin-icon-font 使用教程

    在前端开发中,图标字体是非常重要的资源,但是手动维护一套图标库是一项繁琐的工作,因此我们需要一个工具来简化我们的工作流程。这时,就可以使用 @theme-tools/plugin-icon-font ...

    3 年前
  • npm 包 knobz 使用教程

    在前端开发中,有些情况需要在页面上创建可拖动的旋钮控件,来实现某些功能。knobz 是一个基于 jQuery 的旋钮控件库,提供了一系列可自定义的选项,以便于开发者创建符合需求的控件。

    3 年前
  • npm 包 get-gitlab-merge-requests 使用教程

    前言 近年来,随着前端技术的不断发展,研发团队越来越注重代码的效率和质量。在团队协同工作中,有时会遇到多个团队成员对同一代码进行开发和修改的情况。Gitlab 作为常见的代码版本管理平台之一,有一个强...

    3 年前
  • npm 包 react-cli-ch 使用教程

    随着前端框架的发展和应用场景的不断扩大,我们已经步入了前端组件化的时代。而前端组件化的核心在于能够方便地创建和管理组件。这就需要用到一些工具来构建应用程序和组件库。

    3 年前
  • npm 包 model-errors 使用教程

    在前端开发中,对于后端返回的数据,前端需要进行一系列的验证和处理,以保证数据的准确性和安全性。而这种验证和处理工作通常需要大量的代码。为了简化这个过程,我们可以使用 npm 包 model-error...

    3 年前
  • npm 包 search-string-for-google-drive 使用教程

    前言 在前端开发中,我们经常使用谷歌云盘进行资料的存储和分享,但是在使用谷歌云盘进行搜索时,我们往往需要手动输入搜索条件,这样不仅费时费力,还容易出现拼写错误。因此,我们需要一个能够让搜索更加快捷、准...

    3 年前

相关推荐

    暂无文章