在Ubuntu 14.04上用BIND配置一个私有网络DNS服务器

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

提供:ZStack云计算

系列教程

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

前言

服务器管理中很重要的一部分就是设置一个有效的域名系统(DNS),这样可以方便的通过网络名称连接到指定的IP地址和端口。使用有效域名(FQDN)相比IP的好处是,它们简化了服务和应用的网络配置,提升了配置文件的可维护性。在私有网络内设置一个自己的DNS服务可以有效加强服务器群组的可管理性。

本教程将设置使用BIND(BIND9)在Ubuntu 14.04上搭建一个DNS服务器,它可以将内网各主机的IP和主机名映射起来。对于主机数量不小的环境而言,这提供了非常有必要的管理能力。

本文的CentOS版本可以参阅这里。

准备工作

首先,你需要准备如下事项:

如果你对DNS的概念不熟悉,可以参阅这篇文章的前三部分内容。

示范所用命名规范

本教程将使用如下一套命名规范:

  • 两台现有的服务器分别叫做“host1”和“host2”
  • 两台服务器所在数据中心为“nyc3”
  • 两台服务器处于私有网络 10.128.0.0/16 子网
  • 两台服务器都与我们的一个“example.com”服务有关

我们将使用“nyc3.example.com”作为私有子网。因此,“host1”的FQDN将是“host1.nyc3.example.com”。以下是两台主机的信息:

主机功能内网FQDN内网IP地址
host1通用主机1host1.nyc3.example.com10.128.100.101
host2通用主机2host2.nyc3.example.com10.128.200.102

你的服务器应该会有不同的主机名和内网IP,在本教程进行中只需将相关主机名和IP替换为你自己的即可。子网的命名也不一定要使用数据中心的region名称,如果你在多个数据中心都有服务器,那么这样以每个数据中心来命名各自的内网DNS还是比较方便的。

目标

本教程结束时,我们应该已经配置好一台ns1作为主DNS服务器,以及一台ns2作为备用DNS服务器。

主机功能内网FQDN内网IP地址
ns1主DNS服务器ns1.nyc3.example.com10.128.10.11
ns2备用DNS服务器ns2.nyc3.example.com10.128.20.12

安装BIND

在ns1和ns2上,更新apt:

sudo apt-get update

安装BIND:

sudo apt-get install bind9 bind9utils bind9-doc

IPv4模式

我们要将BIND设置为IPv4模式。在ns1和ns2上,用编辑器打开bind9参数文件:

sudo vi /etc/default/bind9

在OPTIONS条目里添加“-4”:

OPTIONS="-4 -u bind"

保存退出。

配置主DNS服务器

BIND的配置涉及多个文件,这些文件均被include在主配置文件named.conf中。文件名中的“named”即是BIND运行时所用的进程名称。

配置options文件

在ns1上,用编辑器打开named.conf.options文件:

sudo vi /etc/bind/named.conf.options

在原来的options文本块之前,创建一个名为trusted的ACL文本块。我们将在此设置被允许前来寻址的主机列表(即跟ns1处于同一数据中心内的主机)。我们将在列表中加入ns1、ns2、host1和host2:

acl "trusted" {
        10.128.10.11;    # ns1 - can be set to localhost
        10.128.20.12;    # ns2
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};

然后,进入options文本块,找到directory条目:

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

在directory条目下加入如下内容:

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

        recursion yes;                 # 启用递归寻址
        allow-recursion { trusted; };  # 允许“trusted”列表前来递归寻址
        listen-on { 10.128.10.11; };   # 此处填写ns1的内网IP地址。仅在内网监听
        allow-transfer { none; };      # 默认禁用zone transfer

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
...
};

保存退出。上述变更完成后,只有指定的“trusted”主机才可到我们的DNS服务器上查询。

接下来是DNS zones的设置。

配置Local文件

在ns1上用编辑器打开named.conf.local文件:

sudo vi /etc/bind/named.conf.local

当前,文件中应该只有几行注释。我们要在文件中定义我们的转发和反向区(zones)。

在文件中添加如下内容:

zone "nyc3.example.com" {
    type master;
    file "/etc/bind/zones/db.nyc3.example.com"; # 区文件路径
    allow-transfer { 10.128.20.12; };         # ns2的内网IP地址
};

针对我们的10.128.0.0/16子网添加如下反向区内容(其中的“128.10”是“10.128”的八进制反转):

zone "128.10.in-addr.arpa" {
    type master;
    file "/etc/bind/zones/db.10.128";  # 10.128.0.0/16 子网
    allow-transfer { 10.128.20.12; };  # ns2的内网IP地址
};

如果你的服务器不在同一子网(但在同一数据中心),则需要给每一个子网设置一个区以及区文件。当所有区都添加完毕后,保存退出。

接下来需要创建相应的区文件。

创建转发区文件

我们在转发区文件中定义需要转发的DNS查询记录,比如将针对“host1.nyc3.example.com”的请求转发到host1的对应IP地址。

首先创建区文件目录。根据我们的命名规范,该目录将位于/etc/bind/zones:

sudo mkdir /etc/bind/zones

我们将基于db.local来创建这个区文件。输入如下命令复制文件:

cd /etc/bind/zones
sudo cp ../db.local ./db.nyc3.example.com

用编辑器打开:

sudo vi /etc/bind/zones/db.nyc3.example.com

找到如下部分:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
@       IN      A       127.0.0.1       ; delete this line
@       IN      AAAA    ::1             ; delete this line

先是SOA记录的修改。把第一个“localhost”替换成ns1的FQDN,把“root.localhost”替换成“admin.nyc3.example.com”。此外,每次编辑一个新的区文件时,都要把序列值(Serial)+1,这里原来是2,所以我们要改成3。改完了应该是这样的:

@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial

现在,把文件末尾的三条记录删除(后面标记了“delete this line”的三行)。

在文件末尾添加域名服务器的记录,注意第二列的“NS”:

; name servers - NS records
    IN      NS      ns1.nyc3.example.com.
    IN      NS      ns2.nyc3.example.com.

然后为本区内的主机添加A记录,即所有后缀为“.nyc3.example.com”的服务器。本教程将添加ns1、ns2、host1和host2的A记录:

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

保存退出。至此,本文件应该是这个样子的:

$TTL    604800
@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                  3       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
; name servers - NS records
     IN      NS      ns1.nyc3.example.com.
     IN      NS      ns2.nyc3.example.com.

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

接下来是反向区文件。

创建反向区文件

我们在反向区文件中定义DNS PTR记录,以使DNS服务器在接受IP地址(如“10.128.100.101”)时能够查询到对应的FQDN(如“host1.nyc3.example.com”)。

在ns1上,为named.conf.local文件中指定的每一个反向区创建一个文件。我们将基于db.127区文件创建我们自己的文件。首先将该文件复制到指定位置,并将其命名为我们所使用的文件名:

cd /etc/bind/zones
sudo cp ../db.127 ./db.10.128

用编辑器打开该文件:

sudo vi /etc/bind/zones/db.10.128

现在的文件内容应该是这样的:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
1.0.0   IN      PTR     localhost.      ; delete this line

首先还是编辑SOA记录和序列号,如下:

@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial

然后删除末尾的两行(标记有“delete this line”)。

然后在文件末尾添加如下内容(注意在第二栏标注NS):

; name servers - NS records
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

然后,为该子网下所有的服务器添加PTR记录。本文将添加10.128.0.0/16子网下的四台服务器(IP地址的最后两位,要反过来写):

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

保存退出。现在的文件内容应该是这样的:

$TTL    604800
@       IN      SOA     nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; name servers
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

检查BIND配置语法

运行如下命令以检查named.conf*文件的语法:

sudo named-checkconf

如果配置文件中没有语法错误,该命令执行完毕后会直接返回到shell提示符而不输出任何错误。如果有错误信息(error),请对照之前的步骤重新检查后再运行named-checkconf,直到没有错误输出为止。

named-checkzone命令可以检查区文件的正确性,使用方式是在第一个参数中写入区名称,第二个参数中写入区文件名称,两个名称都是在named.conf.local当中定义的。

比如,输入如下命令以检查“nyc3.example.com”转发区:

sudo named-checkzone nyc3.example.com db.nyc3.example.com

输入如下命令以检查“128.10.in-addr.arpa”反向区:

* sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128

如果没有错误,则可以进入下一步骤。

重启BIND

输入如下命令以重启BIND:

sudo service bind9 restart

我们的主DNS服务器现在已经配置完毕,接下来开始配置备用DNS服务器。

配置备用DNS服务器

在大部分情况下,最好是配置一个备用DNS服务器以应对主服务器故障的场景。备用DNS服务器的配置要比主服务器的配置简单多了。

在ns2上,编辑named.conf.options文件:

sudo vi /etc/bind/named.conf.options

在文件开头,添加可信服务器的ACL列表:

acl "trusted" {
        10.128.10.11;   # ns1
        10.128.20.12;   # ns2 - 可以设置为localhost
        10.128.100.101;  # host1
        10.128.200.102;  # host2
};

在directory条目下添加如下内容:

        recursion yes;
        allow-recursion { trusted; };
        listen-on { 10.128.20.12; };      # ns2 private IP address
        allow-transfer { none; };          # disable zone transfers by default

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };

保存退出。至此,该文件的内容应该与ns1的named.conf.options文件内容一样,只是把ns1的内网IP换成了ns2的内网IP。

用编辑器打开named.conf.local文件:

sudo vi /etc/bind/named.conf.local

现在定义从属区(slave zones),该区对应着主服务器上的主区(master zones)。从属区文件自己不设置路径,而是设置一个masters目录指向主DNS服务器的内网IP。你在ns1上设置了多少区,在这里就需要都加上:

zone "nyc3.example.com" {
    type slave;
    file "slaves/db.nyc3.example.com";
    masters { 10.128.10.11; };  # ns1 private IP
};

zone "128.10.in-addr.arpa" {
    type slave;
    file "slaves/db.10.128";
    masters { 10.128.10.11; };  # ns1 private IP
};

保存退出。

运行如下命令以检查配置文件的语法:

sudo named-checkconf

验证成功后,重启bind:

sudo service bind9 restart

现在,我们的主从DNS服务器都已经设置好,可以在服务器上把它们用起来了。

配置DNS客户端

所有在可信ACL列表上的服务器都可以使用上面配置好的DNS服务器——ns1和ns2。客户端的配置在不同的操作系统上有所不同,不过大部分Linux发行版都使用/etc/resolv.conf文件进行配置。

Ubuntu客户端

Ubuntu和Debian系统需要编辑一个head文件,该文件在系统启动时被附加到resolv.conf:

sudo vi /etc/resolvconf/resolv.conf.d/head

在文件中添加如下内容(域名和IP地址替换成你自己的):

search nyc3.example.com  # 你的内网域名
nameserver 10.128.10.11  # ns1内网IP
nameserver 10.128.20.12  # ns2内网IP

运行resolvconf以生成resolv.conf文件:

sudo resolvconf -u

Ubuntu和Debian的配置就此完毕。

CentOS客户端

CentOS、红帽和Fedora系统可直接编辑resolv.conf文件:

sudo vi /etc/resolv.conf

在文件头添加如下命令(域名和IP地址替换成你自己的):

search nyc3.example.com  # 内网域名
nameserver 10.128.10.11  # ns1内网IP
nameserver 10.128.20.12  # ns2内网IP

保存退出。

测试客户端

使用nslookup测试客户端是否能够从域名服务器得到响应。可信列表上的每一台服务器都应该能够通过下述测试。

测试转发查询

首先测试是否能够获取host1.nyc3.example.com的IP地址:

* nslookup host1

这里只需要输入“host1”,因为我们在search选项中输入了子网的域名。该命令的输出结果应该是这样的:

Output:
Server:     10.128.10.11
Address:    10.128.10.11#53

Name:   host1.nyc3.example.com
Address: 10.128.100.101

测试反向查询

现在测试是否能够从host1的IP获取其名称:

nslookup 10.128.100.101

该命令的输出结果应该是这样的:

Output:
Server:     10.128.10.11
Address:    10.128.10.11#53

11.10.128.10.in-addr.arpa   name = host1.nyc3.example.com.

如果测试获得的结果均正确,则说明之前的区文件设置是正确的。如果出现问题,请回到之前步骤检查ns1上的区文件内容(即db.nyc3.example.com和db.10.128)。

至此,DNS服务器的配置已经完成。接下来讲讲区记录的维护。

维护DNS记录

实际使用中,我们需要维护DNS记录以匹配服务器环境的变更。

添加新主机

在数据中心添加新主机时,需要执行如下步骤将其添加到DNS。

主DNS服务器的配置
  • 转发区文件:添加新主机的A记录,“Serial”的值+1
  • 反向区文件:添加新主机的PTR记录,“Serial”的值+1
  • 将新主机的内网IP添加到“trusted” ACL列表(named.conf.options)

然后,重启BIND:

sudo service bind9 reload
备用DNS服务器的配置
  • 将新主机的内网IP添加到“trusted” ACL列表(named.conf.options)

然后,重启BIND:

sudo service bind9 reload
新主机上的配置
  • 编辑resolv.conf,启用ns1和ns2
  • 用nslookup命令测试

移除一台主机

移除一台主机,只需要把上述添加的内容逐一删除即可(即,反向操作上述步骤)。

总结

现在,我们的环境中可以通过主机名识别主机,所以我们配置服务的时候不再需要记住一大堆的IP,而配置文件的可读性也提升了。因为所有的映射关系都在主DNS服务器上管理,所以维护起来也更加方便。

DNS服务器的维护工作是非常重要的,因为一旦ns1和ns2都不可用,你的所有服务都会瘫痪。所以,请确保你的环境中至少有一台备用DNS服务器,并且给两台DNS服务器都做好备份工作。

本文来源自DigitalOcean Community。英文原文:How To Configure BIND as a Private Network DNS Server on Ubuntu 14.04 by Mitchell Anicas

翻译:lazycai

Ubuntu 14.04 + Rancher 1.x + Docker Machine 多节点容器集群实战 容器编排本质上是将分布式系统抽象为可管理的节点集合;Rancher 1.x 基于 Cattle 引擎实现轻量级服务发现与跨主机网络,无需 Kubernetes 复杂组件,特别适合低资源环境;其核心价值在于可视化拓扑、确定性部署和零命令行教学友好性,广泛应用于教育实训、遗留系统维护及快速验证场景;结合 Docker Machine 的标准化主机生命周期管理与 Ubuntu 14.04 的稳定内核(3.13)及 aufs 存储支持,该组合在老旧硬件、私有云或 DigitalOcean 等 IaaS 平台上仍具备 阅读详情

相关推荐

SimMSL仿真环境搭建:VMware+Ubuntu18.04+ROS Melodic最佳实践

机器人足球仿真中型组(SimMSL)是一种高精度多智能体协同仿真系统,其核心依赖确定性执行环境——需满足纳秒级时钟精度、零丢包UDP组播、稳定OpenGL渲染与实时进程调度。这本质上是对操作系统内核、编译工具链与虚拟化平台的联合约束。ubuntu18.04因GLIBC 2.27和内核4.15的时序特性成为唯一兼容RCSSServer 15.3.0的发行版;vmware虚拟机则凭借VMXNET3网卡、vmmemctl内存控制及成熟3D加速能力,成为唯一支持赛事硬性指标(如≤500ms裁判指令延迟、≤15ms/

weixin_34216107的博客 569

named-checkzone命令--Linux命令应用大词典729个命令解读

内容来源于人民邮电出版社《Linux命令应用大词典》讲述729个命令,1935个例子学习Linux系统的参考书、案头书,遇到不懂的命令或命令选项一查即可争取每天都发布内容本文出自 “airfish2000” 博客,更多命令查看博客:http://airfish2000.blog.51cto.com/10829608/1898279named-checkzone命令使用name...

weixin_33872566的博客 611

Serf轻量服务发现:Ubuntu VPS跨云集群自动化实践

Serf是一种基于Gossip协议的去中心化节点状态广播系统,其核心价值在于低开销、无依赖、强适应性——尤其适合资源受限的Ubuntu VPS环境。它不提供DNS或服务目录,而是通过member-join/member-failed等事件触发自动化响应,实现节点感知、防火墙同步、Nginx upstream动态更新等关键能力。相比Consul等重型方案,Serf以3.2MB内存占用支撑12节点集群,在甲骨文、腾讯云、AWS等异构VPS间稳定运行。本文聚焦Serf在真实边缘场景下的部署陷阱(如network-

z466459262的专栏 389

Linux命令2

Linux命令2 named-checkconf named-checkconf 用于检查 named 配置文件(通常是 /etc/named.conf)的语法和一致性。它可以帮助你找到并修复配置文件中的问题,从而防止 named 服务启动失败。 例如,你可以使用以下命令来检查默认的 named 配置文件: named-checkconf /etc/named.conf # 如果配置文件没有问题,该命令将不输出任何内容并返回到命令行提示符。如果有任何问题,它将打印出错误消息并返回一个非零退出码。 n

邢宇宇的博客 2865

Vagrant构建可重复开发环境:从原理到生产级实践

可重复开发环境是现代软件工程的基础能力,其本质是通过声明式配置消除宿主机污染、网络策略干扰和时间漂移等隐性状态,实现跨机器、跨时间、跨人员的环境终态一致性。Vagrant以box镜像为原子单元,结合provider(如VirtualBox)与provisioning(如Ansible)分层抽象,提供操作系统级隔离能力,填补Docker容器化在内核依赖、系统服务验证等场景的空白。它支撑Web/Backend/DevOps等多技术栈项目的协作效率与CI可信度,广泛应用于Rails、Spring Boot、Dja

chudan0503的博客 413

8.2 【DNS搭建】Ubuntu本地DNS服务器搭建实战:BIND9安装配置、正向解析、反向解析详解

本文详细介绍了在Ubuntu系统上搭建本地BIND9 DNS服务器的完整流程。内容包括BIND9的安装与基础配置、正向解析区域文件的创建与配置、反向解析的实现方法,以及多区域和主从服务器的进阶配置。通过清晰的命令示例和配置文件说明,读者可以快速掌握搭建企业内网DNS服务器的核心技能,实现域名解析加速、内网服务发现等实用功能。文章还提供了配置测试和问题排查方法,确保DNS服务的稳定运行。

yonggeit的博客 3237

named域名解析服务启动失败解决方法

使用named-checkconf命令可以对named配置文件进行语法检查。需要指定要检查的配置文件的名称,如果没有指定则默认为/etc/named.conf文件。语法格式named-checkconf[参数][配置文件]常用参数-b显示情况摘要并退出-z执行named.conf配置文件中找到的所有主要区域的测试负载-t将现有目录切换至指定目录以便处理配置文件中的已包括伪命令以上检查出主配置文件/etc/name.conf中的12行附件出现错误语法为“;”。......

qq_46667874的博客 5522

树莓派介绍与可安装的操作系统

树莓派是一款由英国树莓派基金会开发的信用卡大小的微型计算机。处理器(CPU)内存(RAM)图形处理器(GPU)USB 接口网络接口(以太网和 Wi-Fi)视频输出(HDMI)音频输出用户只需添加电源、存储卡、显示器和输入设备(键盘、鼠标),就可以将其当作一台功能齐全的电脑使用。主要特点:低成本:价格亲民,适合教育和个人项目。小巧便携:体积小,便于携带和部署。功能强大:支持多种编程语言和操作系统,功能不逊于传统电脑。树莓派从最初的教育工具发展成为功能强大的多用途平台。最新的树莓派 5。

像风一样自由的博客 2200

DNS基础和工具03-named-checkzone指令的man手册

DNS基础和工具03-named-checkzone指令的man手册。

老韩的Linux云计算架构师进阶之路 763

Lama:基于傅立叶卷积的分辨率鲁棒性大掩模修复

为了缓解修复网络和损失函数都缺乏有效的感受野这个问题,提出了大掩模修复(LaMa)。LaMa基于一种新的修复网络架构,该架构使用快速傅立叶卷积(FFC),具有图像范围的感受野;高感受野感知损失;大型训练掩码,释放前两个组件的潜力。

qq_44926214的博客 1419

保姆级教程:用SOEM主站搞定汇川SV660N伺服驱动器的EtherCAT通讯(附完整C代码)

本文提供了一份详细的SOEM主站与汇川SV660N伺服驱动器EtherCAT通讯的实战教程,涵盖环境搭建、状态机理解、PDO映射配置、CiA402状态机实战、实时性能优化及诊断调试等关键步骤,并附完整C代码示例,帮助开发者快速实现工业级EtherCAT控制。

weixin_28292761的博客 307

named-checkzone 命令介绍和是使用案例

是一个非常有用的工具,可以在配置 DNS 服务器时确保区域文件的正确性。通过简单的命令,用户可以快速验证 DNS 配置,避免因配置错误导致的解析问题。使用此命令可以提高 DNS 管理的效率和准确性。

574

基于PINN的一个简单的求解偏微分方程实例

本人是做化工模拟的一名学生,最近在学习PINN(Physics-Informed Neural Networks,物理信息神经网络)对管道动力学进行建模研究,PINN由于其对机理与数据的良好兼顾性非常热门,本文是作者对PINN入门研究过程的一个练手小题目,main code也是作者代码是基于pytorch2.6.0写的,发上来供各位参考,欢迎研究管道动力学和PINN的小伙伴一起讨论~

weixin_64491760的博客 1743

How To Configure BIND as a Private Network DNS Server on Ubuntu 14.04

How To Configure BIND as a Private Network DNS Server on Ubuntu 14.04 Tags: DNS, Networking, DigitalOcean Distribution: Ubuntu Tutorial Series This tutorial is part 6 of 7 in the se

alexwang1983的专栏 1679

有关SPSS中Fisher精确检验无法进行的解决方法(由于无法打开临时文件,因此无法进行计算)

最近在帮一个四年生完成她的毕业论文,在用SPSS进行R×C表检验的时候,发现Fisher精确检验的结果无法显示,提示为“由于无法打开临时文件,因此无法进行计算”,大概像下图一样。 (这图是从网上找的) 然...

chuyang37的博客 3万+

告别BAPI!深入SAP S/4HANA BP框架:cl_md_bp_maintain维护客户主数据的正确姿势与性能优化

本文深入解析SAP S/4HANA中cl_md_bp_maintain框架的高效实践与架构设计,对比传统BAPI方式,展示其在业务伙伴(BP)主数据维护中的性能优势与现代化特性。通过详细代码示例和性能测试数据,揭示如何利用该框架实现批量处理、集中校验及智能错误恢复,助力企业从ECC向S/4HANA平滑迁移。

weixin_30596735的博客 361

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

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

weixin_34218579的博客 380

机器人视觉实战:用OpenCV搞定手眼标定(附完整C++代码)

本文详细介绍了使用OpenCV实现机器人视觉中的手眼标定技术,包括核心算法、工业场景优化及完整C++代码示例。通过解析坐标系转换问题,提供从数据采集到标定验证的全流程解决方案,帮助开发者在复杂工业环境中实现高精度机械臂与视觉系统的协同作业。

weixin_29306571的博客 484

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

高级电机控制场景实例:基于Simulink的永磁同步电机基于Luenberger观测器的弱磁控制仿真

本文基于Simulink实现表贴式永磁同步电机(SPMSM)的Luenberger观测器弱磁控制仿真,通过构建“观测-弱磁-控制”协同逻辑,突破传统矢量控制的基速限制。利用线性化模型设计观测器实时估计电流与磁链,结合电压极限约束动态注入负d轴电流,实现转速扩展至12000rpm(4倍基速),弱磁区电流THD低于3%,动态响应时间小于5ms,验证了高速运行下系统稳定性与鲁棒性。附完整建模步骤、MATLAB函数代码及性能分析,适用于电动汽车、机床等高速驱动场景,为高级电机控制提供可复现的技术范式。

amy_mhd的博客 33

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Django生产部署:Docker+Nginx+Let‘s Encrypt最佳实践

Web应用生产部署的核心在于环境一致性、网络安全性与运维可持续性。Docker通过容器化实现Python运行时与依赖的不可变封装,彻底解决‘本地能跑线上崩’的环境差异问题;Nginx作为反向代理层,承担SSL终结、静态资源服务、请求路由与安全头注入等关键职责,使Django进程专注业务逻辑;Let’s Encrypt则依托ACME协议,将HTTPS证书的申请与自动续期转化为可脚本化、可版本控制的基础设施能力。该组合广泛应用于Django单体架构的中小规模生产场景,兼顾成熟度、可观测性与团队落地成本,是当前P

weixin_30254435的博客 314

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

主从 DNS

搭建主DNS服务器 一块网卡为vmnet1 1.修改网络配置 1)vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=192.168.1.254 NETMASK=255.255.255.0 DNS...

逍遥游 560

Centos-Linux配置dns(bind,named)

指定dns服务监听端口监听IP(默认是本地换回地址) 要修改为 `any` listen-on-v6 port 53 {::1;localhost;# 指定允许查询DNS服务器的客户端的IP(默认是本主机) 要修改为 `any`

m0_66349719的博客 4361

搭建DNS服务器(Ubuntu)

搭建DNS服务器

m0_64761777的博客 6047

centos/ubuntu下DNS服务器的完整搭建

如果在区域配置文件里写的是 具体 IP,那么该文件就不需要写最后一段的IP,即直接把 100删掉,其它不变。配置DNS使用192.168.1.20的IP地址,并让DNS能够解析整个互联网。#检查主配置文件,默认为 /etc/named.conf。)设置不同的邮件服务器来处理邮件,你需要创建子域名的 MX 记录。按 F12,然后把乱码删除,粘贴上原本的内容;看完以上的内容后,接下来分享一个更简便的做法。的邮件服务器上,优先级为 10。区域数据配置文件(正向解析)如果要为特定的子域名(比如。

CHENjiantaoNh的博客 926
上一篇: Bash别名与函数实战攻略
下一篇: 如何在Ubuntu 14.04中利用Let's Encrypt保障Nginx安全
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值