在Ubuntu 14.04上配置Bind作为缓存型/转发型DNS服务器

Ubuntu下配置bind9 DNS服务器 2020/5/9 环境:linux ubuntu server 16.04 软件:bind9 安装bind9 bind9有很多安装方法 我们选择最简单的一种, 直接输入命令: sudo apt-get install bind9 进行安装 需要配置的文件 需要配置的文件有: named.conf.default-zones named.conf.options /etc/resolv.conf 还要自己创建并配置两个文件,一个是正向解析文件,一个是反向解析文件. 配置正向解析文件 正向解析文件名格式: db 阅读详情

提供:ZStack云计算

系列教程

本教程为7篇系列中的第4篇:DNS管理简介

前言

DNS(域名系统)是经常容易配置出错的一个网络组件。直接使用现成的DNS服务是大部分人的选择,服务提供方可能是托管商或者域名注册机构,不过自己架设DNS服务器也有很多好处。

本文介绍将Bind9作为缓存型/转发型DNS服务器安装在Ubuntu 14.04上的步骤。这两种DNS服务器在网络上各有其适合的场景。

准备工作与目标

在进入本文操作步骤之前,你需要先对DNS的相关术语有所了解。有关DNS的概念与术语可以通过这篇文章获取。

我们将展示两种不同的配置,一种用于缓存型DNS服务器,一种用于转发型DNS服务器,两者的目标类似。

你需要准备两台主机,其中至少一台是Ubuntu 14.04系统。一台作为客户端,另一台作为服务器。两台主机的细节如下表:

功用IP地址
DNS服务器192.0.2.1
客户端192.0.2.100

我们将展示客户端的配置方法,以及DNS服务器的两种配置方法。

缓存型DNS服务器

首先是缓存型DNS服务器的配置。此类服务器也常被称为resolver,因为它能够处理递归请求,从其他服务器获取正确的DNS数据。

缓存型服务器在针对客户端请求进行查询后,将回复返回给客户端,同时将其缓存到本机,存留时间取决于该记录的TTL时长。缓存到本机的记录可以快速的返回给其他关于本记录的请求。

在一个网络配置中,可能我们接触的大部分DNS服务器都是缓存型,其目的是服务缺乏DNS解析能力的大量客户端。缓存型服务器适用于很多场景。如果你不想依赖ISP提供的DNS或其他公开的DNS,则可以自己搭建一个缓存型DNS。自驾的DNS服务如果离其大部分客户端较近,则可以很大程度上提升查询的效率。

转发型DNS服务器

其次,我们将配置一个转发型DNS服务器。对客户端而言,转发型和缓存型没有任何区别,然而服务器端的运行机制和负载则有很大不同。

跟缓存型服务器一样,转发型服务器也在本地进行缓存,以快速的给客户端返回DNS解析结果。跟缓存型服务器不同的是,转发型服务器自己并不参与到递归查询的工作中,而是单纯的将所有请求转发给另一台解析服务器,并把获得的结果缓存到本地。

所以,转发型服务器的工作量是比较小的,这比较适合对外带宽吃紧的环境,经常需要更换缓存服务器的环境,或者是希望将内网请求和公网请求分开处理的场景。

安装Bind

无论是缓存型还是转发型,搭建的第一个步骤都是安装Bind软件。

在Ubuntu下,Bind软件可以从默认repo中安装。运行如下命令以安装bind以及相关文档工具:

sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc

安装完毕之后,可以开始配置服务器。缓存型服务器的配置可以作为转发型服务器的基础,所以我们先开始缓存型服务器的配置。

配置缓存型DNS服务器

缓存型DNS服务器的配置将迫使服务器在接受一个客户端请求后,从其他DNS服务器递归寻找答案。也就是说,它会针对相关的服务器一个一个的问下去,直到获得完整的回复为止。

Bind配置文件默认位于/etc/bind。先进入该目录:

cd /etc/bind

该目录下有很多文件,大部分我们都无需操心。主配置文件为named.conf(named和bind是同一个应用的两个名字),该文件是named.conf.options、named.conf.local、named.conf.default-zones这三个文件的集合引用。

对于缓存型服务器,我们只需要修改named.conf.options文件即可。用编辑器打开该文件:

sudo nano named.conf.options

当前,文件内容是这样的(删除了注释的部分以方便阅读):

options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

首先我们要设置一个访问权限控制列表,即ACL。

由于DNS服务器要处理的是递归请求,因此我们不希望有恶意用户造成滥用。有一种很讨厌的攻击叫做DNS放大攻击(DNS amplification attack),就是把你的DNS服务器拉入一场DDoS攻击作为帮凶。

DNS放大攻击是恶意用户搞垮一台服务器或网站所用的方式之一。他们首先寻找可以处理递归请求的公网DNS服务器,假装成受害者的IP地址向DNS服务器发送请求,这种特殊的请求会返回很大的回复信息,于是受害者的IP地址会接收大量的信息阻塞其带宽。

公共的递归DNS服务器的托管涉及大量的特殊配置与维护工作,大部分情况下这会增加不必要的工作量,所以我们可以把我们的服务器配置为仅对一个可信列表中的主机提供服务,从而免去了被恶意滥用的危险。

在options内容块上方,创建一个名为acl的内容块。我们需要为该ACL组创建一个标签,这里我们就叫它goodclients:

acl goodclients {
};

options {
    . . .

在本内容块内,列出被允许使用该DNS服务器的主机IP地址和网络。在本示范中,服务器和客户端都在同一个/24子网下,所以我们就仅对此子网开放权限。此外我们还要添加localhost和localnets:

acl goodclients {
    192.0.2.0/24;
    localhost;
    localnets;
};

options {
    . . .

配置好了ACL,现在可以编辑options块了。在本块下添加如下内容:

options {
    directory "/var/cache/bind";

    recursion yes;
    allow-query { goodclients; };
    . . .

我们特意将recursion(递归)开启,并在allow-query参数中使用刚才指定的ACL列表。我们还可以使用别的参数,比如使用allow-recursion来引用ACL。在present和recursion均开启的状态下,allow-recursion参数中列入的客户端将被允许使用递归查询服务。

如果allow-recursion没有进行设置,则Bind会检查allow-query-cache中的列表,然后是allow-query中的列表,最后是默认的localnets和localhost限定。由于我们配置的是缓存型服务器,其不具备权威型所负责的区域,也不对请求进行转发,所以所有的请求都是递归请求,相当于allow-query就等同于allow-recursion。我们使用allow-query,是因为这是最通用的指定ACL的方法。

编辑完成后,保存退出。

对于缓存型DNS服务器,这差不多是全部所需的配置了。如果你只是需要一台缓存型服务器,则可以直接跳过下一部分,直接进入后面的配置文件检查、重启服务和客户端配置的部分。

如果你需要一台转发型DNS服务器,则继续往下看。

转发型DNS服务器的配置

如果转发型服务器更适合你架构的需要,那么可以做如下配置。这个配置工作是比较简单的。

以刚才完成的配置文件作为起点,当前的named.conf.options文件看起来应该是这样的:

acl goodclients {
        107.170.41.189;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { goodclients; };

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

我们将使用同样的ACL列表用于限制可以使用该DNS服务的客户端,不过我们要对配置进行一些变更,让服务器不再亲自处理递归类的请求。

要达到这个目的,并不是简单的将recursion改为no,因为转发型服务器仍然需要对其不负责的区的请求提供递归服务。我们的做法是为转发请求单独设置一个列表。

在options {}内容块内,创建一个名为forwarders的内容块,该块下包含了我们的转发目标,也就是其他的递归服务器的IP地址。本示范将使用Google的公共DNS服务器,即8.8.8.8和8.8.4.4。

. . .
options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { goodclients; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        . . .

然后,我们将forward条目设置为“only”,即服务器仅做转发,不亲自参与解析工作。

现在的配置文件看起来应该是这样的:

acl goodclients {
        107.170.41.189;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { goodclients; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        forward only;

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

最后,我们需要更改dnssec的参数。根据目前的配置,我们在服务器运行的日志中会看到如下错误信息:

Jun 25 15:03:29 cache named[2512]: error (chase DS servers) resolving 'in-addr.arpa/DS/IN': 8.8.8.8#53
Jun 25 15:03:29 cache named[2512]: error (no valid DS) resolving '111.111.111.111.in-addr.arpa/PTR/IN': 8.8.4.4#53

我们需要更改dnssec-validation的设置为“yes”,同时明确的启用dnssec,以避免此错误信息:

. . .
forward only;

dnssec-enable yes;
dnssec-validation yes;

auth-nxdomain no;    # conform to RFC1035
. . .

保存退出。转发型DNS服务器这样就配置好了,接下来是配置文件的检查工作以及重启守护进程的工作。

检查配置文件并重启Bind

完成上述配置变更后,我们需要使这些变更生效。

在重启Bind之前,最好用Bind内置的工具检查一下配置文件的语法。

输入如下命令进行检查:

sudo named-checkconf

如果没有语法错误,则命令行控制符会直接回到正常状态,终端没有输出信息。

如果有语法错误,则错误的内容和位置会显示在输出信息中。

确认无误后,输入以下指令重启Bind以使配置生效:

sudo service bind9 restart

重启后,注意一下服务器的日志,确保没有什么错误。可以在服务器上让下面这个命令一直跑着:

sudo tail -f /var/log/syslog

现在可以打开一个新的终端窗口去配置客户端了。

配置客户端

服务器端正常运行后,现在可以配置客户端以使用该DNS服务。

登陆到客户端的主机上(该主机必须在刚才设置的goodclients ACL列表中,否则DNS服务器会拒绝为其服务)。

我们需要编辑/etc/resolv.conf文件,将请求指向刚才设置好的DNS服务器。此处进行的变更一旦系统重启就会失效,所以适合在测试的时候用,测试通过后再通过另外的方法使配置永久生效。

使用编辑器打开该文件:

sudo nano /etc/resolv.conf

该文件包含了该客户端将使用的DNS服务器,每一台服务器通过一条nameserver条目进行设置。将原来的条目都注释掉,然后在最上面新增一个nameserver条目,将刚才我们设置好的服务器IP地址填写进去:

nameserver 192.0.2.1
# nameserver 8.8.4.4
# nameserver 8.8.8.8
# nameserver 209.244.0.3

保存退出。

现在我们可以用一些常用的工具来检测请求的解析。

我们可以用ping来测试针对域名的连接是否能够建立:

ping -c 1 google.com


PING google.com (173.194.33.1) 56(84) bytes of data.
64 bytes from sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 time=63.8 ms

--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 63.807/63.807/63.807/0.000 ms

以上信息说明客户端成功的通过该DNS服务器连接到了google.com。

我们也可以使用类似dig的DNS工具获取更详细的信息。这次试试另一个域名:

dig linuxfoundation.org


; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxfoundation.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35417
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;linuxfoundation.org.       IN  A

;; ANSWER SECTION:
linuxfoundation.org.    6017    IN  A   140.211.169.4

;; Query time: 36 msec
;; SERVER: 192.0.2.1#53(192.0.2.1)
;; WHEN: Wed Jun 25 15:45:57 EDT 2014
;; MSG SIZE  rcvd: 64

可以看到,该请求花费了36毫秒。如果我们再次发起同样的请求,这个时间应该会减少,因为服务器会从缓存直接返回数据:

dig linuxfoundation.org


; <<>> DiG 9.9.5-3-Ubuntu <<>> linuxfoundation.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18275
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;linuxfoundation.org.       IN  A

;; ANSWER SECTION:
linuxfoundation.org.    6012    IN  A   140.211.169.4

;; Query time: 1 msec
;; SERVER: 192.0.2.1#53(192.0.2.1)
;; WHEN: Wed Jun 25 15:46:02 EDT 2014
;; MSG SIZE  rcvd: 64

如上所示,响应时间(1 msec)大大的减少了。

我们还可以用dig工具的-x选项测试反向查询的功能。比如查询140.211.169.4的域名:

dig -x 140.211.169.4


; <<>> DiG 9.9.5-3-Ubuntu <<>> -x 140.211.169.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61516
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;4.169.211.140.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
4.169.211.140.in-addr.arpa. 3402 IN CNAME   4.0-63.169.211.140.in-addr.arpa.
4.0-63.169.211.140.in-addr.arpa. 998 IN PTR load1a.linux-foundation.org.

;; Query time: 31 msec
;; SERVER: 192.0.2.1#53(192.0.2.1)
;; WHEN: Wed Jun 25 15:51:23 EDT 2014
;; MSG SIZE  rcvd: 117

如上,反向查询的测试也成功通过了。

回到DNS服务器的终端窗口看一下日志,检查是否出现错误。一个经常会出现的错误是这样的:

. . .
Jun 25 13:16:22 cache named[2004]: error (network unreachable) resolving 'ns4.apnic.net/A/IN': 2001:dc0:4001:1:0:1836:0:140#53
Jun 25 13:16:22 cache named[2004]: error (network unreachable) resolving 'ns4.apnic.com/A/IN': 2001:503:a83e::2:30#53
Jun 25 13:16:23 cache named[2004]: error (network unreachable) resolving 'sns-pb.isc.org/AAAA/IN': 2001:500:f::1#53
Jun 25 13:16:23 cache named[2004]: error (network unreachable) resolving 'ns3.nic.fr/A/IN': 2a00:d78:0:102:193:176:144:22#53

该错误的意思是,服务器尝试解析IPv6的信息,但它并没有针对IPv6做过配置。我们可以将Bind配置为IPv4限定,这样就不会出现这个错误了。

用sudo权限打开/etc/default/bind9文件:

sudo nano /etc/default/bind9

编辑OPTIONS参数,加入-4标识,即限定仅使用IPv4:

OPTIONS="-u bind -4"

保存退出。

重启服务器:

sudo service bind9 restart

现在应该不会再出现上面那个错误信息了。

使客户端配置永久生效

如上所述,/etc/resolv.conf的设置变更在系统重启后就会失效。如果需要该配置永久生效,则需要去编辑一个用于生成该文件的文件。

对于Debian或Ubuntu客户端,可以以sudo权限打开/etc/network/interfaces文件:

sudo nano /etc/network/interfaces

找到dns-nameservers参数,将我们的DNS服务器替换或者添加进去:

. . .
iface eth0 inet static
        address 111.111.111.111
        netmask 255.255.255.0
        gateway 111.111.0.1
        dns-nameservers 192.0.2.1
. . .

保存退出。下次服务器重启后,该配置会自动生效。

对于CentOS或Fedora客户端,则需要编辑/etc/sysconfig/network/network-scripts/ifcfg-eth0文件:

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

在文件内找到以DNS开头的条目,将DNS1更改为我们的DNS服务器IP。如果不想要其他的备用DNS服务器,则可以把它们都删除掉:

DNS1=192.0.2.1

保存退出。下次服务器重启后,该配置会自动生效。

总结

至此,我们已经配置好了一台缓存型或者转发型的DNS服务器,这将有效的提升我们所管理的主机们的DNS请求速度。

如果你想要为你自己的域名区配置一台权威型DNS服务器,则可以参考这篇权威型DNS服务器的配置教程。

本文来源自DigitalOcean Community。英文原文:How To Configure Bind as a Caching or Forwarding DNS Server on Ubuntu 14.04 by Justin Ellingwood

翻译:lazycai

Ubuntu 14.04下PowerDNS+MariaDB权威DNS部署指南 权威DNS服务器是互联网基础设施的核心组件,其核心特征是直接响应已知域名的解析请求,不进行递归查询。PowerDNS通过后端解耦架构,将协议处理与数据存储分离,支持MySQL/MariaDB等关系型数据库作为数据源;MariaDB凭借高兼容性、低延迟OLTP性能及完善审计能力,成为老旧LTS系统中DNS数据中枢的理想选型。该技术组合具备可自动化管理、可审计日志、主从复制容灾等关键工程价值,广泛应用于金融、政务、教育等对稳定性与合规性要求严苛的生产环境,尤其适配无法升级操作系统的稳态IT架构。 阅读详情

相关推荐

BIND权威DNS服务器配置与工业场景安全加固

权威DNS服务器是网络基础设施中实现确定性域名解析的核心组件,其原理在于仅响应所管理区域内的查询请求,不执行递归、不缓存外部响应、不开放区域传输,从而大幅收敛攻击面。该模式在工业控制系统、医疗内网、金融隔离网段等对可控性与可审计性要求极高的场景中具有不可替代的技术价值。结合BIND这一成熟开源实现,通过禁用递归(recursion no)、限制查询源(allow-query)、隐藏版本信息、严格校验区域文件等手段,可构建轻量、稳定、符合最小权限原则的本地解析服务。本文聚焦于老旧系统(如Ubuntu 14.0

weixin_34166472的博客 333

Ubuntu配置DNS服务器--bind

如 果DNS服务器上指定了forwarder,那这个DNS发现缓存中没有记录时,将不向 "." 查询,而是向 forwarder 送出同样的请求(转发),然后等待查询结果,即把逐级往下查询这个耗费精力的动作,交给 forwarder 负责。所谓的 forwarder,就是当某一台 NS 主机遇到非本机负责的 zone ( slave zone 也属于本机负责的范围) 查询请求的时候,将不直接向 "." zone 查询而把请求转交给指定的 forwarder (一台或多台) 主机代为查询。

sun13047140038的博客 1826

Ubuntu 14.04下PowerDNS+MariaDB高可用DNS部署实战

DNS权威服务器是网络基础设施的核心组件,其稳定性依赖于后端存储的可靠性与查询性能。PowerDNS作为模块化设计的开源DNS服务器,通过SQL backend(如gmysql)实现动态数据管理;MariaDB则凭借事务支持、复制能力和InnoDB引擎,成为生产环境中首选的关系型后端。在长期支持系统如Ubuntu 14.04上,版本锁定带来兼容性挑战,但也保障了审计合规与升级可控性。本文聚焦PowerDNS 3.4.7与MariaDB 10.0的深度协同——涵盖APT源适配、gmysql连接池调优、sche

culi4814的博客 559

ubuntu bind dns服务配置

下面以绑定域名: core.harbor.domain 192.168.1.105 来举例,目标是局域网内通过域名服务器解析core.harbor.domain 得到ip 192.168.1.105。但是偶尔也需要解析外网的地址,所以我们可以配置DNS没有添加A记录的URL时,forward到外网DNS服务器或者内网的其他DNS服务器解析。反向区域文件是我们为反向DNS查找定义DNS PTR记录的地方。也就是说,当DNS通过IP地址接收查询时,它将查看反向区域文件以解析相应的FQDN。

tankpanv的博客 1015

私有网络DNS服务器搭建:BIND权威解析与安全配置实战

DNS(域名系统)是网络基础设施的核心组件,其本质是将人类可读的主机名映射为机器可识别的IP地址。基于RFC 1034/1035标准的权威DNS服务器,不仅提供正向与反向解析能力,更支撑着服务发现、安全策略实施和CMDB联动等关键运维场景。BIND作为最成熟、协议完备的开源DNS实现,凭借视图(views)、TSIG密钥认证、ACL访问控制及完整日志体系,在零外部依赖、高可审计性要求的私有网络中具备不可替代的技术价值。本文聚焦Ubuntu环境下BIND 9.9+私有DNS部署,涵盖配置三级结构、文件权限与A

weixin_33896726的博客 426

Ubuntu下配置Bind9实现泛域名解析服务器

Bind9是一款常用的DNS服务器软件,可以在Ubuntu操作系统上进行配置和使用。本文将介绍如何在Ubuntu上配置Bind9,以实现泛域名解析功能。至此,我们已经成功在Ubuntu上配置了Bind9实现泛域名解析服务器。通过适当修改上述配置文件和区域文件,您可以实现更复杂的DNS解析功能。指定了用于转发查询的DNS服务器地址(这里使用了Google的公共DNS服务器),接下来,我们需要进行Bind9的配置。指定了要进行泛域名解析的区域,这里使用了示例域名。现在,我们需要创建用于泛域名解析的区域文件。

DpgrMl的博客 1156

如何在 Ubuntu 14.04 上配置 Bind 作为缓存或转发 DNS 服务器

DNS,即域名系统,在学习如何配置网站和服务器时,通常是一个难以正确配置的组件。虽然大多数人可能会选择使用由其托管公司或域名注册商提供的DNS服务器,但自己创建DNS服务器也有一些优势。在本指南中,我们将讨论如何在Ubuntu 14.04机器上安装和配置Bind9 DNS服务器作为缓存或转发DNS服务器。这两种配置在为机器网络提供服务时都有优势。

rubys007的博客 2345

Linux配置DNS详解及服务器

在 Linux 系统中配置 DNS 服务器可以提供域名解析服务,使得用户可以通过域名访问互联网资源。本文将详细介绍如何在 Linux 系统中进行 DNS 配置,并提供相应的源代码示例。以上就是在 Linux 系统中配置 DNS 服务器的详细步骤。通过正确配置 DNS,你可以在你的网络中提供域名解析服务,使得用户可以使用域名访问互联网资源。BIND 是一个广泛使用的 DNS 服务器软件,可以在 Linux 系统中进行安装和配置。在 Linux 客户端系统中配置 DNS 服务器,以便能够解析域名。

ZjbFullstack的博客 252

Ubuntu 14.04下手动配置BIND实现DNS缓存与转发

DNS服务器是网络基础设施的核心组件,其核心能力包括递归解析、缓存加速与查询转发。理解BIND的工作原理,关键在于掌握recursion(递归控制)、forwarding(转发策略)、caching(本地缓存)及ACL(访问控制)四大机制。在Ubuntu 14.04这一稳定且教学友好的平台上配置BIND 9.9,可避开现代系统中systemd-resolved等服务的干扰,清晰呈现DNS数据包从接收、决策(视图匹配)、上游交互到响应返回的完整链路。该实践不仅适用于企业内网DNS架构设计,也是排查SERVFA

weixin_34242331的博客 503

Simplicity Studio V5与EFR32BG22蓝牙开发环境实战指南

本文详细介绍了Simplicity Studio V5集成开发环境与EFR32BG22蓝牙芯片的开发实战指南。内容涵盖开发环境安装、SDK配置、项目创建、调试烧录、外设驱动集成及常见问题解决方案,帮助开发者快速上手物联网蓝牙应用开发,并充分利用EFR32BG22的低功耗与高集成度特性。

v5w6x的博客 320

STA 静态时序分析 第三章——标准单元库中的高级功耗建模与优化策略

本文深入探讨了STA静态时序分析中标准单元库的高级功耗建模与优化策略。详细解析了动态功耗和漏电功耗的精细建模技术,包括基于波形敏感的CCS模型和温度敏感的漏电模型,并介绍了多工艺角功耗建模及低功耗设计优化策略,为纳米级芯片设计提供关键能效解决方案。

weixin_29290863的博客 224

Ubuntu 14.04下部署BIND权威DNS服务器实战指南

DNS(域名系统)是局域网服务发现与命名管理的核心基础设施,其本质是将易记的主机名映射为IP地址的分布式数据库。BIND作为最成熟、可定制性最强的开源DNS实现,特别适合构建私有网络中的权威DNS服务器——它不对外递归查询,专注响应内网域名解析请求,从而保障命名一致性、服务自动发现和故障隔离能力。在工业物联网、嵌入式集成等对稳定性要求极高的场景中,基于Ubuntu 14.04+BIND 9.9.5的组合虽版本较旧,却因内核兼容性好、ABI稳定、长期验证充分而具备不可替代的工程价值。本文聚焦bind配置dns

weixin_34218579的博客 380

【前端】【面试】【业务场景】前端如何获取并生成设备唯一标识

问题:前端如何获取并生成设备唯一标识?核心要点:浏览器原生信息有限,但通过组合多个维度可生成设备指纹(Device Fingerprint),用于唯一标识设备。常见方式浏览器信息(User-Agent)屏幕与系统参数本地存储标识(localStorage / cookie)第三方指纹库(如 FingerprintJS)方式优点缺点手动组合指纹实现简单不稳定,识别率低持久化强容易被用户清除识别率高、稳定性好依赖第三方库IP 地址识别网络识别粗略共享网络环境下重复可能大。

qq_59344127的博客 1797

ubuntu修改dns服务器,配置Ubuntu DNS服务器 配置Ubuntu DNS服务器

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。环境说明服务器IP 10.68.19.61操作系统 Ubuntu 13.04DNS程序 Bind9测试域名 mycloud.com目标IP 10.68.19.134安装配置BIND9apt-get install bind9总共需要编辑2个文件...

weixin_29505609的博客 881

Aurora8b10b光口通信实战:复位时序与IP核配置详解

本文深入解析了Aurora 8B10B协议在FPGA高速光口通信中的核心实践,重点剖析了确保链路稳定启动的关键复位时序与IP核配置细节。通过详解全双工与单工模式下的复位流程、Vivado中IP核的物理层与链路层参数设置,并结合用户逻辑设计实例,为工程师实现可靠的高速数据传输提供了清晰的实战指南。

weixin_29280219的博客 178

头歌OpenGauss数据库 - 单表查询 答案

本关任务:用SELECT语句检索数据表中指定字段的数据;用SELECT语句检索数据表中所有字段的数据。为了完成本关任务,你需要掌握: 1.如何获取数据表中指定字段的数据;2.如何获取数据表中的所有数据。

d214493517的博客 5722

BIND 9 权威DNS服务器配置:Ubuntu 22.04 搭建私有域名解析(含正向/反向Zone)

本文详细介绍了在Ubuntu 22.04系统上配置BIND 9权威DNS服务器的完整流程,包括正向/反向Zone设置、安全加固和性能优化。通过实战指南帮助用户搭建私有域名解析系统,提升内网服务访问效率,适用于企业IT基础设施和开发测试环境。

weixin_30417487的博客 488

[Multisim][模电实验]简易函数信号发生器的设计与实现_北京邮电大学2019级信通院电子电路实验下

本文记述了笔者设计并实现以±12V供电电压输出1KHZ~10KHZ频率连续可调的方波、三角波和正弦波的过程。其中,方波输出电压峰峰值为12V(误差<20%),占空比可调、三角波输出电压峰峰值为8V(±20%),正弦波输出电压峰峰值≥1V。

lgc0208的博客 4万+

如何在Ubuntu 14.04当中将Bind配置为仅权威DNS服务器

提供:ZStack云计算 系列教程本教程为DNS管理介绍系列七篇中的第五篇。内容介绍DNS,或者称为域名系统,往往成为学习网站与服务器配置中的一大难点。尽管很多人都会使用由托管厂商或者域名注册商提供的DNS服务器,但建立自己的DNS服务器亦能带来诸多不容忽视的助益。在本篇教程中,我们将探讨如何在Ubuntu 14.04当中安装Bind9 DNS服务器并将其配置为仅权威DNS服务器。作为示例,我们将立

zstack_org的博客 1570

机器学习——先验概率、后验概率、全概率公式、贝叶斯公式

先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现的概率。后验概率是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的"果"。贝叶斯公式就是当已知结果,问导致这个结果的第 i 原因的可能性是多少。

fortune_cookie的博客 1万+

Y-Branch and a closed y-branch loop

双臂后面的区域,我们将它的双臂使用一个波导进行了连接,使得它本身形成了一个闭合回路,因此,该结构被称作。它们均是用来对经过它们的光束能量进行分割的一种器件。首先,我们知道一点,在光波导层面,今天给大家介绍一下,什么是。

u011699626的博客 632

Ubuntu 18.04部署BIND权威DNS服务器实战指南

DNS(域名系统)是网络服务通信的基础设施,其核心功能是将人类可读的域名(如gitlab.internal)解析为机器可识别的IP地址。BIND作为最成熟、最符合RFC标准的权威DNS实现,提供完整的SOA管理、区域传输、DNSSEC支持和高并发查询能力,广泛应用于企业私有网络。在Ubuntu 18.04这类进入ESM维护阶段但仍在生产环境大量服役的LTS系统中,直接使用apt源默认BIND版本存在安全漏洞与功能限制,必须通过手动编译、路径隔离与systemd精细化管控来构建稳定可靠的内网DNS-серве

weixin_34087307的博客 314

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Ubuntu 18.04搭建可控私有DNS:BIND 9.11配置与排错实战

DNS(域名系统)是网络通信的基础协议,其核心原理是将人类可读的域名映射为机器可识别的IP地址,并通过递归查询、权威应答和缓存机制实现高效解析。在私有网络环境中,使用可控的DNS服务具有显著技术价值:避免ISP或路由器DNS的缓存污染、劫持与策略黑盒,支持自定义域名空间(如dev.internal)、条件转发、IPv6完整支持及反向解析。典型应用场景包括开发测试环境统一命名、CI/CD动态服务发现、内网服务解耦与安全审计。本文基于Ubuntu 18.04与BIND 9.11,深入解析私有DNS的权威配置、A

weixin_30425949的博客 316

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

从零搭建BIND 9 DNS服务器:实现内网域名解析与安全缓存

DNS(域名系统)是互联网的核心基础设施,负责将人类可读的域名转换为机器可识别的IP地址,其工作原理基于分布式数据库查询与缓存机制。掌握DNS技术不仅能提升网络访问效率,还能增强内网服务管理的安全性与可控性,是网络工程师和运维人员的必备技能。通过搭建私有DNS服务器,可以实现内网域名解析、访问加速、内容过滤等高级功能,尤其适用于企业内网、家庭实验室及开发测试环境。本文以经典的BIND 9为例,结合**内网域名解析**和**安全缓存**等热词,详细讲解从安装配置、区域文件编写到高可用架构搭建的全流程,帮助读者

weixin_28740299的博客 257

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Ubuntu 14.04下PowerDNS+MariaDB权威DNS部署与生产调优

权威DNS服务器是企业网络基础设施的核心组件,其本质是将域名查询逻辑与持久化数据存储解耦。PowerDNS通过后端插件机制支持多种数据库,其中MariaDB凭借SQL兼容性、DBA生态成熟度和事务一致性,成为中大型生产环境的首选数据后端。其工作原理基于标准DNS协议栈,通过gmysql模块将SOA、NS、A等记录映射为关系型表结构,并利用UTF8MB4字符集保障国际化域名支持。技术价值体现在可编程性——支持SQL级变更、审计追溯、自动化同步及主从高可用;典型应用场景包括工业物联网边缘DNS、等保合规内网解析

weixin_34166847的博客 440

Ubuntu 14.04 下 NSD 部署 DNSSEC 实战指南

DNSSEC 是 DNS 协议的核心安全机制,通过数字签名构建信任链,解决域名解析被劫持的根本风险。其原理基于公钥密码学(如 RSASHA256),在权威服务器上为每组资源记录(RRset)生成 RRSIG 和 DNSKEY,结合 KSK/ZSK 分层密钥体系保障签名有效性与轮换安全。技术价值在于阻断缓存投毒、中间人劫持等攻击,尤其适用于金融、政务等高合规场景。典型应用场景包括老旧系统加固(如 Ubuntu 14.04)、轻量级权威 DNS(如 NSD)的安全升级,以及遗留基础设施的 DNSSEC 合规落地

weixin_30861459的博客 322
上一篇: 为什么说产品化是私有IaaS的唯一出路?
下一篇: 如何在Ubuntu 14.04当中将Bind配置为仅权威DNS服务器
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值