如何绑定域名到特定的NS服务器?

使用BIND命令绑定域名NS

bind 域名 ns

背景介绍

BIND(Berkeley Internet Name Domain)是互联网上最广泛使用的DNS(域名系统)软件之一,它负责将域名转换为IP地址,使用户可以通过名称访问网站而不是输入复杂的IP地址,本文将详细介绍如何使用BIND配置和管理一个基本的DNS服务器,包括安装、配置文件解析和测试等内容。

一、BIND和named简介

BIND的作用

BIND是互联网上使用最广泛的DNS软件之一,它负责将域名转换为IP地址,通过BIND,用户可以方便地通过域名访问网站,而不需要记住复杂的IP地址。

named的角色

在BIND中,named是一个守护进程,负责处理所有的DNS请求,它读取配置文件并响应客户端的查询请求。

二、安装BIND

这里以Rocky9.3操作系统为例,演示如何安装BIND。

bind 域名 ns

sudo dnf install bind bind-utils

验证是否安装成功:

named -v

三、配置文件介绍

安装完成后,会生成一些重要的文件和目录,以下是需要关注的两个主要文件:

`/etc/named.conf`

这是BIND的主配置文件,定义了服务器的运行参数,如监听的IP地址、日志文件位置等。

示例配置:

options {
    listen-on port 53 { 127.0.0.1; };       // 监听IPv4地址127.0.0.1上的53端口
    listen-on-v6 port 53 { ::1; };          // 监听IPv6地址::1上的53端口
    directory       "/var/named";            // 指定存放区域文件和其他相关文件的目录
    dump-file       "/var/named/data/cache_dump.db"; // 指定DNS缓存转储文件的位置
    statistics-file "/var/named/data/named_stats.txt"; // 指定统计数据文件的存放位置
    memstatistics-file "/var/named/data/named_mem_stats.txt"; // 指定内存统计数据文件的存放位置
    secroots-file   "/var/named/data/named.secroots"; // 指定安全根文件的存放位置
    recursing-file  "/var/named/data/named.recursing"; // 指定递归查询数据文件的存放位置
    allow-query     { localhost; };           // 允许从localhost发起查询
    recursion yes;                           // 启用递归查询
    dnssec-enable yes;                      // 启用DNSSEC验证
    dnssec-validation yes;                   // 启用DNSSEC验证
    managed-keys-directory "/var/named/dynamic"; // 指定动态密钥文件的存放目录
    geoip-directory  "/usr/share/GeoIP";     // 指定GeoIP数据库文件的存放目录
    pid-file "/run/named/named.pid";         // 指定named进程PID文件的存放位置
    session-keyfile "/run/named/session.key"; // 指定会话密钥文件的存放位置
    include "/etc/crypto-policies/back-ends/bind.config"; // 引入加密策略配置文件
};
logging {
    channel default_debug {
        file "data/named.run"; // 日志文件位置
        severity dynamic;      // 动态日志级别
    };
};
zone "." IN {
    type hint;                 // 类型为“hint”,意味着这是根域的提示
    file "named.ca";           // 指向根域的文件
};
include "/etc/named.rfc1912.zones"; // RFC1912推荐的区域文件
include "/etc/named.root.key";     // 根密钥文件,用于DNSSEC

`/var/named`目录文件

该目录包含多个子目录和文件,其中最重要的是:

data: 存储BIND运行时生成的数据,如DNS查询日志和统计信息。

bind 域名 ns

dynamic: 存放动态DNS更新的记录,用于DDNS服务。

named.ca: 根提示文件,包含根DNS服务器地址,用于互联网DNS解析。

named.empty: 空的DNS区域文件,用于特殊配置。

named.localhost: 定义localhost的DNS记录,包含本地回环地址。

named.loopback: 用于定义回环地址的DNS区域,通常用于DNS服务器内部查询。

slaves: 存放从主DNS服务器同步的区域文件,用于备份或辅助解析。

四、开始配置named

编辑/etc/named.conf文件:

sudo vi /etc/named.conf

查找以下行:

listen-on port 53 { 127.0.0.1; };

添加主DNS服务器的IP地址,如下所示:

listen-on port 53 { 127.0.0.1; 192.168.1.160; };

查找以下行:

allow-query { localhost; };

添加本地网络范围,该示例系统使用的IP地址在192.168.1.X的范围内:

allow-query { localhost; 192.168.1.0/24; };

指定转发和反向区域,区域文件(Zone file)就是具有系统上DNS信息(例如IP地址和主机名)的文本文件,转发区域文件使得将主机名转换为IP地址成为可能,反向区域文件则相反,它允许远程系统将IP地址转换为主机名。

/etc/named.conf文件的底部查找以下行:

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

在此处,你将在该行的正上方指定区域文件信息,如下所示:

zone "dns01.fedora.local" IN {
    type master;
    file "forward.fedora.local";
    allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "reverse.fedora.local";
    allow-update { none; };
};

forward.fedora.local和reverse.fedora.local文件是要创建的区域文件的名称,它们可以是任意名字。

保存并退出。

五、创建区域文件

创建你在/etc/named.conf文件中指定的转发和反向区域文件:

$ sudo vi /var/named/forward.fedora.local

添加以下行:

$TTL 86400
@       IN      SOA     ns.fenglm.yy. hostmaster.fenglm.yy. (
                        2001062501 ; serial
                        3600        ; refresh after 6 hours
                        1800        ; retry after 1 hour
                        604800      ; expire after 1 week
                        86400       ) ; minimum TTL of
        IN      NS      ns.fenglm.yy.
        IN      A       192.168.1.160
ns      IN      A       192.168.1.160
client  IN      A       192.168.1.136

保存文件并退出,编辑reverse.fedora.local文件:

$ sudo vi /var/named/reverse.fedora.local

添加以下行:

$TTL 86400
@       IN      SOA     ns.fenglm.yy. hostmaster.fenglm.yy. (
                        2001062501 ; serial, same as above
                        3600        ; refresh after 6 hours
                        1800        ; retry after 1 hour
                        604800      ; expire after 1 week
                        86400       ) ; minimum TTL, same as above
        IN      NS      ns.fenglm.yy.
        IN      PTR     fedora.local.dns01
dns01    IN      A       192.168.1.160
client  IN      A       192.168.1.136

所有粗体内容都特定于你的环境,保存文件并退出。

六、配置SELinux并为配置文件添加正确的所有权

sudo chgrp named -R /var/named
sudo chown -v root:named /etc/named.conf
sudo restorecon -rv /var/named
sudo restorecon /etc/named.conf

七、配置防火墙

sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload

八、检查配置是否存在语法错误并启动服务

sudo named-checkconf /etc/named.conf

如果没有输出或返回错误,那么你的配置有效,检查转发和反向区域文件:

sudo named-checkzone forward.fedora.local /var/named/forward.fedora.local
sudo named-checkzone reverse.fedora.local /var/named/reverse.fedora.local

你应该看到 “OK” 的响应:

zone forward.fedora.local/IN: loaded serial 2001062501
OK
zone reverse.fedora.local/IN: loaded serial 2001062501
OK

启用并启动DNS服务:

sudo systemctl enable named
sudo systemctl start named

九、配置resolv.conf文件

编辑/etc/resolv.conf文件:

$ sudo vi /etc/resolv.conf

查找你当前的nameserver行,在示例系统上,使用调制解调器/路由器充当名称服务器,因此当前看起来像这样:

nameserver 192.168.1.1
```这需要更改为主DNS服务器的IP地址:

nameserver 192.168.1.160

``保存更改并退出,需要注意的是,如果系统重启或网络重启,NetworkManager可能会覆盖/etc/resolv.conf,要避免这种情况,可以使用nmcli`命令来配置NetworkManager:

nmcli con mod "System eth0" ipv4.dns "192.168.1.160"
nmcli con up "System eth0"
``这样设置后,重启网络也不会丢失配置,还可以在/etc/resolv.conf`中添加以下行来防止被覆盖:
``plaintext[prepend global] nameserver 192.168.1.160`保存并退出编辑器,至此,BIND的基本配置已经完成,你可以通过以下命令测试DNS解析是否正常工作:`bash dig @192.168.1.160 fenglm.yy`如果一切正常,你应该会看到类似于以下的输出:`plaintext;; QUESTION SECTION:; ;fenglm.yy.                      IN      A;; ANSWER SECTION:fenglm.yy.              86400   IN      A       192.168.1.160;; AUTHORITY SECTION:fenglm.yy.              86400   IN      NS      ns.fenglm.yy.`这表明你的DNS服务器已经正确解析了域名fenglm.yy到IP地址192.168.1.160`,至此,你已经成功配置了一个基本的BIND DNS服务器,如果你有任何问题或需要进一步的帮助,请随时提问。

小伙伴们,上文介绍了“bind 域名 ns”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/701436.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-12-03 21:47
Next 2024-12-03 21:50

相关推荐

  • 为什么域名解析不到空间权限

    域名解析不到空间是一个常见的网络问题,它通常意味着用户尝试通过输入网站地址(域名)访问特定的服务器时,无法找到正确的服务器位置,这个问题可能是由多种原因导致的,下面我们将深入探讨可能的原因以及相应的解决方法。DNS设置问题域名系统(DNS)是互联网的一项关键服务,它将人类可读的域名转换为机器可读的IP地址,假如DNS记录没有正确配置或……

    网站运维 2024-02-06
    0141
  • 日本轻量应用服务器使用指南

    日本轻量应用服务器使用指南随着互联网的不断发展,越来越多的企业和个人开始使用服务器来托管网站、应用程序和其他在线服务,而在日本,由于其地理位置优越和高速网络连接,选择日本轻量应用服务器成为了许多人的首选,本文将为您介绍如何使用日本轻量应用服务器,帮助您快速搭建并运行您的在线服务。一、选择合适的服务器提供商在选择日本轻量应用服务器时,首……

    2023-11-12
    0111
  • 改dns会有什么影响

    DNS,全称为域名系统(Domain Name System),是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,使人们能够通过容易记忆的主机名(如www.example.com)来访问网站,而不需要记住能够被计算机识别的数字IP地址。由于各种原因,我们可能需要更改我们的DNS服务器,你可能想要提高你的网络……

    2023-12-01
    0146
  • 这个网站和域名好像是没有绑定啊

    我不太明白您的问题,您是在问一个网站和域名没有绑定的问题吗?如果是的话,这可能是因为该网站的DNS服务器没有正确地将域名解析为IP地址,这可能会导致访问者无法访问该网站,如果您是网站所有者,您可以尝试检查您的DNS设置是否正确,并确保它们已正确地指向您的服务器,如果您需要更多帮助,请告诉我更多信息,我会尽力帮助您解决问题。相关问题与解……

    2023-11-28
    0104
  • 为什么网站需要域名

    一、网站为什么需要空间网站空间,又称服务器空间,是指用于存放网站文件、数据和程序的计算机硬件设备及其相关的网络资源,网站空间是网站运行的基础,没有空间,网站就无法正常运行,网站为什么需要空间呢?主要原因如下:1、存储网站文件和数据网站文件包括HTML、CSS、JavaScript、图片、视频等各类媒体文件,以及数据库中的数据,这些文件……

    2023-12-11
    0117
  • 虚机连不上网

    当您发现虚拟机刚续费后无法访问时,可能有以下几种原因导致:1. 网络连接问题:请检查您的网络连接是否正常,确保您的计算机或移动设备已连接到互联网,并且网络信号稳定,您可以尝试打开其他网页或应用程序来确认网络连接是否正常工作。2. 防火墙设置:有时,防火墙可能会阻止您访问虚拟机,请确保您的防火墙设置允许虚拟机的流量通过,您可以检查防火墙……

    2023-12-05
    0129

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入