当前位置: 首页 > news >正文

DNs服务学习笔记

DNS:域名系统(英文:Domain Name
System)是一个域名系统,是万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。类似于生活中的114服务,可以通过人名找到电话号码,也可以通过电话号码找到人名(生活中没有那么准确的原因是人名有重名,而域名是全世界唯一的)。

DNS协议运行在UDP协议之上,使用端口号53

域名:
域名是一个网站的逻辑地址,比如www.zutuanxue.com,相比IP地址更加方便人类记忆,所以被广泛使用。

一、DNS介绍

计算机的发展起源于上世纪60年代,最初只有美国的几所高校在使用,计算机之间通信需要知道对方的地址(IP地址),但是人们对IP地址的记忆又是不敏感的(就像生活中你能记住多少个好友的手机号码一样)。为了方便人类记忆,大学的科学家们把计算机的名字和对应的IP地址写入到计算机中的hosts文件,以此文件来做解析。

但是随着计算机和网络的发展出现了局域网,计算机的数量随之增加;后来为了解决方便通信问题,我们使用了wins服务器来进行计算机名和IP的注册服务,通过一个名称服务器来自动管理局域网中的计算机,并提供解析服务。人们在局域网中通过计算机名就能连接到了对应的计算机。该技术中要求计算机名称必须唯一,正是由于这个原因使得局域网中的计算机又不能太多。

微型计算机的出现和局域网的发展推动了广域网的发展,hosts文件只能针对极少的计算机网络,wins可以管理局域网的解析。到了广域网,人们就迫切需要一个新的服务做解析服务器,使解析方便、快速、高效的应对广域网环境。为了解决广域网解析问题,美国人研发出了DNS服务,以及成立了管理DNS相关的机构,并提出了域名命名规则。

域名管理机构
Internet 域名与地址管理机构(ICANN)是为承担域名系统管理,IP地址分配,协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构.
现由IANA和其他实体与美国政府约定进行管理。域名分国际域名和国内域名两种,对于国际域名而言,其命名规则是:
域名可以由(a-z、A-Z大小写等价)26个英文字母、数字(0-9)以及连接符“-”组成,但是域名的首位必须是字母或数字。对于域名的长度也有一定
的限制:国际通用顶级域名长度不得超过26个字符,中国国家顶级域名长度不得超过20个字符

二、DNS的解析原理

目前,因特网的命名方法是层次树状结构的方法。采用这种命名方法,任何一个连接在因特网上的主机或设备,都有一个某一的层次结构的名字,即域名(domain name)。域是名字空间中一个可被管理的划分。域可以继续按层次划分为子域,如二级域、三级域等等。

image20200114172132398.png

三、DNS查询

递归查询:一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那本地 DNS就会扮演DNS客户的角色,去代理原客户去帮忙找根域名服务器发出请求,递归即递给服务器,所有操作都有服务器来完成。

迭代查询:一般DNS服务器之间属迭代查询,如:DNS1问DNS2,DNS2不知道会告诉DNS1一个DNS3的IP地址,让DNS1去问问DNS3知不知道,以此类推,就是迭代查询。

关于递归和迭代举个生活例子帮助大家理解:比如你问张老师一个问题,张老师告诉他答案这之间的叫递归查询。这期间也许张老师也不会,这时张老师问李老师,张老师去问崔老师,这之间的查询叫迭代查询!

image20200114180942259.png

正向查找:将域名解析为IP

  www.zutuanxue.com  ---> 118.190.209.153

反向查找:将IP解析为域名

  118.290.209.153  ---> www.zutuanxue.com

四、DNS服务器部署

约定:本实验中使用过的机器为centos8.0_x86_64系统,IP地址192.168.11.16/24.请关闭防火墙和SELINUX。

4.1)DNS安装

DNS服务是由bind程序提供的,所以要实现DNS服务就需要安装bind程序包。

[root@zutuanxue ~]# dnf -y install bind bind-chroot
bind  DNS主程序包
bind-chroot DNS安全包,改变默认DNS根目录,将DNS运行在监牢模式说明:chroot监牢模式
监牢是一个软件机制,其功能是使得某个程序无法访问规定区域之外的资源,同样也为了增强安全性(LCTT 译注:chroot “监牢”,所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件进行操作,从而保证整个服务器的安全)。Bind Chroot DNS 服务器的默认“监牢”为 /var/named/chroot。

4.2)DNS启动

DNS的守护进程叫做named,DNS是以named用户身份来运行,named用户在安装包的时候会在系统中自动创建。

CentOS8下安装了bind-chroot之后,若要使用named-chroot.service,则需要关闭named.service。两者只能运行一个方法一: 不使用chroot模式启动DNS
开启开机启动
[root@zutuanxue ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.启动DNS服务
[root@zutuanxue ~]# systemctl start named验证启动
[root@zutuanxue ~]# lsof -i :53
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1520 nobody    5u  IPv4  27001      0t0  UDP bogon:domain 
dnsmasq 1520 nobody    6u  IPv4  27002      0t0  TCP bogon:domain (LISTEN)
named   2553  named   21u  IPv4  38662      0t0  TCP localhost:domain (LISTEN)
named   2553  named   22u  IPv6  38664      0t0  TCP localhost:domain (LISTEN)
named   2553  named  512u  IPv4  38660      0t0  UDP localhost:domain 
named   2553  named  513u  IPv4  38660      0t0  UDP localhost:domain 
named   2553  named  514u  IPv4  38660      0t0  UDP localhost:domain 
named   2553  named  515u  IPv4  38660      0t0  UDP localhost:domain 
named   2553  named  516u  IPv6  38663      0t0  UDP localhost:domain 
named   2553  named  517u  IPv6  38663      0t0  UDP localhost:domain 
named   2553  named  518u  IPv6  38663      0t0  UDP localhost:domain 
named   2553  named  519u  IPv6  38663      0t0  UDP localhost:domain方法二: 使用chroot模式DNS
将对应的文件移动到chroot根目录
主配文件
[root@zutuanxue ~]# cp /etc/named.conf /var/named/chroot/etc/
[root@zutuanxue ~]# chgrp named /var/named/chroot/etc/named.conf
[root@zutuanxue ~]# named-checkconf /var/named/chroot/etc/named.conf区域数据库文件
[root@zutuanxue named]# cd /var/named/
[root@zutuanxue named]# cp -r data /var/named/chroot/var/named/
[root@zutuanxue named]# cp -r dynamic /var/named/chroot/var/named/
[root@zutuanxue named]# cp named.* /var/named/chroot/var/named/
[root@zutuanxue named]# cd /var/named/chroot/var/named/
[root@zutuanxue named]# chown -R named.named *启动DNS服务
开机启动
[root@zutuanxue ~]# systemctl enable named-chroot.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/named-chroot.service to /usr/lib/systemd/system/named-chroot.service.
启动服务
[root@zutuanxue ~]# mv /etc/named.conf /root/
[root@zutuanxue ~]# systemctl start named-chroot验证启动
[root@zutuanxue ~]# lsof -i :53
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1525 nobody    5u  IPv4  27359      0t0  UDP bogon:domain 
named   2877  named   21u  IPv4  44717      0t0  TCP localhost:domain (LISTEN)
named   2877  named   22u  IPv4  44719      0t0  TCP bogon:domain (LISTEN)
named   2877  named   23u  IPv4  44721      0t0  TCP bogon:domain (LISTEN)
named   2877  named  512u  IPv4  44715      0t0  UDP localhost:domain 
named   2877  named  513u  IPv4  44715      0t0  UDP localhost:domain 
named   2877  named  514u  IPv4  44715      0t0  UDP localhost:domain 
named   2877  named  515u  IPv4  44715      0t0  UDP localhost:domain 
named   2877  named  516u  IPv4  44718      0t0  UDP bogon:domain 
named   2877  named  517u  IPv4  44718      0t0  UDP bogon:domain 
named   2877  named  518u  IPv4  44718      0t0  UDP bogon:domain 
named   2877  named  519u  IPv4  44718      0t0  UDP bogon:domain 
named   2877  named  520u  IPv4  44720      0t0  UDP bogon:domain 
named   2877  named  521u  IPv4  44720      0t0  UDP bogon:domain 
named   2877  named  522u  IPv4  44720      0t0  UDP bogon:domain 
named   2877  named  523u  IPv4  44720      0t0  UDP bogon:domain

4.3)DNS配置文件

默认情况下,如果不安装bind-chroot这个包,配置文件的路径如下:

配置文件:/etc/named.conf

区域数据库文件:/var/named/

由于我们安装了bind-chroot这个用于改变默认DNS配置文件的路径的包,所以相对应的配置文件的路径也发生了变化。

变化如下:

配置文件:/var/named/chroot/etc/named.conf

区域数据库文件:/var/named/chroot/var/named/

a、主配文件详解

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//options
{#IPv4监听端口为53,只允许本机连接listen-on port 53    { 127.0.0.1; };#IPv6监听端口为53,只允许本机连接listen-on-v6 port 53    { ::1; };#定义工作目录directory         "/var/named"; #CACHE文件路径,指定服务器在收到rndc dump命令时,转储数据到文件的路径。默认cache_dump.dbdump-file         "data/cache_dump.db";#静态文件路径,指定服务器在收到rndc stats命令时,追加统计数据的文件路径。默认named.statsstatistics-file     "data/named_stats.txt";#内存静态文件路径,服务器在退出时,将内存统计写到文件的路径。默认named.mem_statsmemstatistics-file     "data/named_mem_stats.txt";#在收到rndc secroots指令后,服务器转储安全根的目的文件的路径名。默认named.secrootssecroots-file        "data/named.secroots";# 指定服务器在通过rndc recursing命令指定转储当前递归请求到的文件路径。默认named.recursingrecursing-file        "data/named.recursing";#指定允许哪些主机可以进行普通的DNS查询,可以是关键字:any/localhost/none,也可以是IPV4,IPV6地址allow-query        { localhost; };#指定允许哪些主机可以对缓存的访问allow-query-cache    { localhost; };/*- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.假如你建立的是一个权威DNS你不需要开启递归- If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. 假如你建立的是一个递归DNS,你需要开启递归服务- If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will如果你的递归DNS是具有公网IP,你必须要设置访问控制来限制对合法用户的查询.cause your server to become part of large scale DNS amplification 否则你的DNS会被大规模的攻击attacks. Implementing BCP38 within your network would greatly在您的网络中实现BCP38将非常重要减少此类攻击面reduce such attack surface */#开启递归recursion yes;#开启DNSSEC在权威或者递归服务器之间信任服务dnssec-enable yes;#开启DNSSEC验证在递归服务器dnssec-validation yes;#指定目录,其中保存着跟踪被管理DNSSEC密钥文件。默认为工作目录。managed-keys-directory "/var/named/dynamic";#PID文件路径pid-file "/run/named/named.pid";#session-keyfile文件路径session-keyfile "/run/named/session.key";
};logging 
{
#开启DNS日志记录channel default_debug {file "data/named.run";severity dynamic;};
};#定义一个根域
zone "." IN {#域类型为hint,还有master slave forward等类型type hint;#区域数据库文件路径file "/var/named/named.ca";};
};#包含两个子配置文件include "/etc/named.rfc1912.zones";include "/etc/named.root.key";

b、区域数据库文件详解

正向解析
[root@zutuanxue ~]# cat /var/named/named.localhost 
;缓存时间
$TTL 1D
;@表示相应的域名@    				IN 	SOA        @ 					rname.invalid. (
;解析的域名   类型 授权域    授权域名服务器   管理员邮箱0    ; serial  序列号,每次更新该文件系列号都应该变大1D    ; refresh 
刷新时间,即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的1H    ; retry   
重试时间,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试 1W    ; expire  过期时间,从服务器在向主服务更新失败后多长时间后清除对应的记录3H )    ; minimum 这个数据用来规定缓存服务器不能与主服务联系上后多长时间清除相应的记录NS   				@;NS 名称服务器,表示这个主机为域名服务器A    		127.0.0.1
;主机头  	A记录   	IPAAAA    		::1
;   AAAA 				解析为IPV6地址#反向解析
[root@zutuanxue ~]# cat named.loopback 
$TTL 1D
@    IN SOA    @ rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimumNS    		@PTR    		localhost
;IP 反向指针     主机名
;PTR 反向指针 反解

五、部署一个正向解析

5.1)教学案例

对zutuanxue.com域名做解析,解析要求如下:

www 解析为A记录 IP地址为 192.168.11.88

news 做别名解析CNAME 解析为 www

1)主配置文件
[root@zutuanxue ~]# cat /var/named/chroot/etc/named.conf 
options {listen-on port 53 { any; };directory     "/var/named";
};//定义根域
//用于DNS向根递归查询
zone "." IN {type hint;//保存了DNS根级服务器的地址file "named.ca";
};//定义一个主域
//注意每行都要;结尾
zone "zutuanxue.com" IN {
//类型为mastertype master;
//区域数据库文件名称file "zutuanxue.com.zone";
};2)区域数据库文件
[root@zutuanxue named]# cat zutuanxue.com.zone 
$TTL 1D
zutuanxue.com.    IN SOA    ns1.zutuanxue.com. rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimum
;zutuanxue.com.  需要做解析的域名
;ns1.zutuanxue.com.  为zutuanxue.com.做解析的DNS    这里我们既是DNS也同时为自己域名做了解析NS    ns1.zutuanxue.com.;A         域名机械为IP
;PTR        IP解析为域名
;MX        邮件标记
;CNAME        别名ns1    A    192.168.11.16
www    A    192.168.11.88
news  CNAME    www

5.2)测试方法

域名解析linux系统为大家提供了三个命令,看大家喜欢用哪个都可以。

a、host采用非交互式解析,

b、nslookup可以采用交互或非交互式解析

c、dig显示详细的解析流程

测试注意:请将你的测试客户端机器的DNS指向你自己的DNS服务器的IP地址。本例中我使用DNS服务器给自己当测试端,我修改了自己的DNS服务器地址
[root@zutuanxue ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 192.168.11.16#host命令
[root@zutuanxue ~]# host news.zutuanxue.com
news.zutuanxue.com is an alias for www.zutuanxue.com.
www.zutuanxue.com has address 192.168.11.88#nslookup 命令---交互式解析
[root@zutuanxue ~]# nslookup
> news.zutuanxue.com
Server:        192.168.11.16
Address:    192.168.11.16#53news.zutuanxue.com    canonical name = www.zutuanxue.com.
Name:    www.zutuanxue.com
Address: 192.168.11.88
> exit#nslookup 命令---非交互式解析
[root@zutuanxue ~]# nslookup news.zutuanxue.com
Server:        192.168.11.16
Address:    192.168.11.16#53news.zutuanxue.com    canonical name = www.zutuanxue.com.
Name:    www.zutuanxue.com
Address: 192.168.11.88#dig命令
[root@zutuanxue ~]# dig news.zutuanxue.com; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> news.zutuanxue.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28487
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;news.zutuanxue.com.        IN    A;; ANSWER SECTION:
news.zutuanxue.com.    86400    IN    CNAME    www.zutuanxue.com.
www.zutuanxue.com.    86400    IN    A    192.168.11.88;; AUTHORITY SECTION:
zutuanxue.com.        86400    IN    NS    www.zutuanxue.com.;; Query time: 0 msec
;; SERVER: 192.168.11.16#53(192.168.11.16)
;; WHEN: 一 2月 25 10:52:19 CST 2019
;; MSG SIZE  rcvd: 93技巧:
在dig解析中,后面跟上+trace来显示详细解析流程
[root@zutuanxue ~]# dig www.zutuanxue.com +trace

六、部署一个反向解析

案例:对www.zutuanxue.com做反向解析,其对应的IP地址为192.168.11.88

1)主配置文件添加反向解析zone
[root@zutuanxue ~]# cat /var/named/chroot/etc/named.conf 
options {listen-on port 53 { any; };directory     "/var/named";
};//定义根域
//用于DNS向根递归查询
zone "." IN {type hint;//保存了DNS根级服务器的地址file "named.ca";
};//定义一个主域
//注意每行都要;结尾
zone "zutuanxue.com" IN {
//类型为mastertype master;
//区域数据库文件名称file "zutuanxue.com.zone";
};//定义一个反向解析
//此处需要倒写网段
zone "11.168.192.in-addr.arpa" IN {type master;file "192.168.11.arpa";
};2)区域数据库文件设置
[root@zutuanxue named]# cat 192.168.11.arpa 
$TTL 1D
11.168.192.in-addr.arpa.    IN SOA    ns1.zutuanxue.com. rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimumNS    ns1.zutuanxue.com.
88    PTR    www.zutuanxue.com.注意:文件的所有者和所有者组都是named
3)使用nslookup测试
[root@zutuanxue ~]# nslookup 192.168.11.88
Server:        192.168.11.16
Address:    192.168.11.16#5388.11.168.192.in-addr.arpa    name = www.zutuanxue.com.

七、DNS服务器冗余

image20200114172337009.png

DNS服务器在网络中为全世界的服务器提供了域名解析服务,扮演着至关重要的角色。网络中的某台DNS一旦宕机,就会造成部分域名无法解析,用户无法顺利访问到对应的服务器。但是我们学习的过程中也发现了,我们的DNS部署在单台服务器上,如果出现单点故障,我们应该如何应对呢?我们可以通过部署多台相同解析的DNS来解决单点故障,就算一台DNS服务器出现问题,也不会影响解析服务。怎么部署呢?如何保障多台之间的解析一致?这就是我们要讨论的问题了。我们来学习辅助DNS吧!

辅助DNS是从主DNS拉取区域数据库文件的的,当主DNS解析的域名对应的区域数据库文件发生变化,辅助就会去找主DNS拉取新的区域数据库文件,保证和主的解析一致,而且是自动的不需要人为干预的,确保了主从DNS的区域数据库文件的一致性。

教学案例:按照图例,为主DNS(192.168.11.16)部署一台辅助DNS(192.168.11.116),实现数据同步。

辅助DNS设置
a、软件包安装
[root@slave ~]# dnf -y install bind bind-chrootb、设置主配文件
[root@slave etc]# cat /var/named/chroot/etc/named.conf
options {listen-on port 53 { any; };directory     "/var/named";
};//定义根域
//用于DNS向根递归查询
zone "." IN {type hint;//保存了DNS根级服务器的地址file "named.ca";
};//定义一个主域
//注意每行都要;结尾
zone "zutuanxue.com" IN {
//类型为slave  代表辅助type slave;
//区域数据库文件名称file "zutuanxue.com.zone";
//设置主DNS IP,向该IP去同步数据masters { 192.168.11.16; };
};//定义一个反向解析
//此处需要倒写网段
zone "11.168.192.in-addr.arpa" IN {
//类型写slave  代表辅助type slave;file "192.168.11.arpa";
//设置主DNS IP,向该IP去同步数据masters { 192.168.11.16; };
};修改权限
[root@slave etc]# chgrp named named.conf c、启动服务
[root@slave chroot]# systemctl enable named-chroot.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/named-chroot.service to/usr/lib/systemd/system/named-chroot.service.
[root@slave chroot]# systemctl start named-chrootd、验证
[root@slave ~]# ls /var/named/chroot/var/named/
192.168.11.arpa  zutuanxue.com.zone  chroot  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves发现192.168.11.arpa  zutuanxue.com.zone 这两个数据库文件已经同步过来了,解析一下看看吧!设置客户端的DNS IP为192.168.11.116,我的测试机就是这台slave机器,所以设置为192.168.11.116即可
[root@slave ~]# cat /etc/resolv.conf 
nameserver 192.168.11.116使用nslookup验证一下
[root@slave ~]# nslookup news.zutuanxue.com
Server:        192.168.11.116
Address:    192.168.11.116#53news.zutuanxue.com    canonical name = www.zutuanxue.com.
Name:    www.zutuanxue.com
Address: 192.168.11.88[root@slave ~]# nslookup 192.168.11.88
Server:        192.168.11.116
Address:    192.168.11.116#5388.11.168.192.in-addr.arpa    name = www.11.168.192.in-addr.arpa.看到结果了,完美!!

八、智能DNS

在我们访问WEB的时候,发现有的网站打开的速度非常快,有的网站打开的非常慢,这是为什么呢?原因就是很多公司为了提升用户的体验,自己的网站使用了CDN内容加速服务,让你直接在你本地城市的服务器上拿数据并展示给你看。什么是CDN我们暂且理解为本地缓存服务器就好,那么你是怎么准确知道你本地的缓存服务器的呢!因为很多CDN公司的DNS使用了智能解析服务,根据你的源IP判断你属于哪个城市,让后再把本地的缓存服务器解析给你,你就会直接去找该服务器拿数据了。

智能解析原理

在DNS中植入全世界的IP库以及IP对应的地域,当用户来请求解析时,DNS会根据其源IP来定位他属于哪个区域,然后去找这个区域的view视图查询对应的域名的区域数据库文件做解析。从而使得不同地域的用户解析不同。

教学案例:部署一台DNS智能解析服务器,对zutuanxue.com域名做智能解析:

上海的用户解析IP为 1.1.1.1

北京的用户解析IP为 2.2.2.2

其他用户解析为 3.3.3.3

智能解析
a、设置主配文件
定义IP库,DNS根据IP库判断源IP属于哪个区域
根据地域定义视图,将该区域的客户端的解析请求都由该视图中的zone来解析[root@master named]# cat /var/named/chroot/etc/named.conf
options {directory     "/var/named";
};//定义IP库acl shanghai { 192.168.11.50; };
acl beijing { 192.168.11.100; };//定义视图,通过IP匹配后,通过不同的区域数据库文件进行解析
view sh {match-clients { shanghai; };zone "zutuanxue.com" IN {type master;file "zutuanxue.com.zone.sh";
};
};view bj {match-clients { beijing; };zone "zutuanxue.com" IN {type master;file "zutuanxue.com.zone.bj";
};
};view other {match-clients { any; };zone "zutuanxue.com" IN {type master;file "zutuanxue.com.zone.any";
};
};b、根据主配文件设置不同的区域数据库文件
[root@master named]# cd /var/named/chroot/var/named
[root@master named]# cp zutuanxue.com.zone zutuanxue.com.zone.bj
[root@master named]# cp zutuanxue.com.zone zutuanxue.com.zone.sh
[root@master named]# cp zutuanxue.com.zone zutuanxue.com.zone.any
[root@master named]# chgrp named  zutuanxue.com.zone.*[root@master named]# cat /var/named/chroot/var/named/zutuanxue.com.zone.sh 
$TTL 1D
@    IN SOA    zutuanxue.com. rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimumNS    www.zutuanxue.com.
www    A    1.1.1.1[root@master named]# cat /var/named/chroot/var/named/zutuanxue.com.zone.bj
$TTL 1D
@    IN SOA    zutuanxue.com. rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimumNS    www.zutuanxue.com.
www    A    2.2.2.2[root@master named]# cat /var/named/chroot/var/named/zutuanxue.com.zone.any 
$TTL 1D
@    IN SOA    zutuanxue.com. rname.invalid. (0    ; serial1D    ; refresh1H    ; retry1W    ; expire3H )    ; minimumNS    www.zutuanxue.com.
www    A    3.3.3.3c、测试
依次修改主配的IP库中的IP为本机,观看解析情况[root@master named]# nslookup www.zutuanxue.com
Server:        192.168.11.16
Address:    192.168.11.16#53Name:    www.zutuanxue.com
Address: 1.1.1.1

相关文章:

DNs服务学习笔记

DNS&#xff1a;域名系统&#xff08;英文&#xff1a;Domain Name System)是一个域名系统&#xff0c;是万维网上作为域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使用户更方便的访问互联网&#xff0c;而不用去记住能够被机器直接读取的IP数串。类似于生活中的11…...

获取线程池中任务执行数量

获取线程池中任务执行数量 通过线程池进行任务处理&#xff0c;有时我们需要知道线程池中任务的执行状态。通过ThreadPoolExecutor的相关API实时获取线程数量&#xff0c;排队任务数量&#xff0c;执行完成线程数量等信息。 实例 private static ExecutorService es new Thr…...

RK3566 Android 11平台上适配YT8512C 100M PHY

RK3566代码之前适配的1000M IC RTL8211F , 现在需要在之前的基础上修改PHY IC 为裕泰的YT8512C ----------------------------------------------------------------------//将1000M 的配置关掉&#xff0c;改为100M 配置,查看RK3566 资料关于以太网的配置即可知道如何修改 #if…...

docker 部署haproxy cpu占用特别高

在部署mysql 主主高可用时&#xff0c;使用haproxy进行负载&#xff0c;在服务部使用的情况下发现服务器cpu占比高&#xff0c;负载也高&#xff0c;因此急需解决这个问题。 1.解决前现状 1.1 部署配置文件 cat > haproxy.cfg << EOF globalmaxconn 4000nbthrea…...

Oracle导出CSV文件

利用spool spool基本格式&#xff1a; spool 路径文件名 select col1||,||col2||,||col3||,||col4 from tablename; spool off spool常用的设置&#xff1a; set colsep ;    //域输出分隔符 set echo off;    //显示start启动的脚本中的每个sql命令&#xff0c;缺…...

图像分割实战-系列教程12:deeplab系列算法概述

&#x1f341;&#x1f341;&#x1f341;图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 1、deeplab概述 图像分割中的传统做法&#xff1a;为了增大感受野&#xff0c;通常都会选择pooling…...

数据库02-07 存储

计算机存储系统&#xff1a; 02.磁道存储...

WPF 入门教程DispatcherTimer计时器

https://www.zhihu.com/tardis/bd/art/430630047?source_id1001 在 WinForms 中&#xff0c;有一个名为 Timer 的控件&#xff0c;它可以在给定的时间间隔内重复执行一个操作。WPF 也有这种可能性&#xff0c;但我们有DispatcherTimer控件&#xff0c;而不是不可见的控件。它几…...

【教学类-43-04】20231229 N宫格数独4.0(n=2,4,6,8) (ChatGPT AI对话大师生成 回溯算法)

作品展示&#xff1a; 背景需求&#xff1a; 幼儿表示自己适合做5宫格 第一次AI生成九宫格数独python代码 【教学类-43-03】20231229 N宫格数独3.0&#xff08;n1、2、3、4、6、8、9&#xff09; &#xff08;ChatGPT AI对话大师生成&#xff09;-CSDN博客文章浏览阅读162次&…...

WPF美化ItemsControl1:不同颜色间隔

首先我们有的是一个绑定好数据的ItemsControl <ItemsControl ItemsSource"{Binding Starts}"> </ItemsControl> 运行后呢是朴素的将数据竖着排列 如果想要数据之间有间距&#xff0c;可以使用数据模板&#xff0c;将数据放到TextBlock中显示&#xff0…...

查看进程对应的路径查看端口号对应的进程ubuntu 安装ssh共享WiFi设置MyBatis 使用map类型作为参数,复杂查询(导出数据)

Linux 查询当前进程所在的路径 top 命令查询相应的进程号pid ps -ef |grep 进程名 lsof -I:端口号 netstat -anp|grep 端口号 cd /proc/进程id cwd 进程运行目录 exe 执行程序的绝对路径 cmdline 程序运行时输入的命令行命令 environ 记录了进程运行时的环境变量 fd 目录下是进…...

医院信息系统集成平台—安全保障体系

​​​​​​隐私保护措施 隐私保护及信息安全是医院信息平台所要重点解决的问题,应从患者同意,匿名化服务,依据病种、角色等多维度授权,关键信息(字段级、记录级、文件级)加密存储等方面展开。电子病历等医疗数据进行调阅时,包括强身份认证需求、角色授权需求、责任认…...

【信息论与编码】习题-填空题

目录 填空题1.克劳夫特不等式是判断&#xff08; &#xff09;的充要条件。2.无失真信源编码的中心任务是编码后的信息率压缩接近到&#xff08;&#xff09;限失真压缩中心任务是在给定的失真度条件下&#xff0c;信息率压缩接近到&#xff08; &#xff09;。3.常用的检纠错方…...

二叉树的层序遍历经典问题(算法村第六关白银挑战)

基本的层序遍历与变换 二叉树的层序遍历 102. 二叉树的层序遍历 - 力扣&#xff08;LeetCode&#xff09; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入…...

信息学奥赛一本通:装箱问题

题目链接&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1917 题目 1917&#xff1a;【01NOIP普及组】装箱问题 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 4117 通过数: 2443 【题目描述】 有一个箱子容量为V&#xfffd;(正整数&#xff0c…...

ReactNative 常见问题及处理办法(加固混淆)

ReactNative 常见问题及处理办法&#xff08;加固混淆&#xff09; 文章目录 摘要引言正文ScrollView内无法滑动RN热更新中的文件引用问题RN中获取高度的技巧RN强制横屏UI适配问题低版本RN&#xff08;0.63以下&#xff09;适配iOS14图片无法显示问题RN清理缓存RN navigation参…...

算法基础之合并果子

合并果子 核心思想&#xff1a; 贪心 Huffman树(算法): 每次将两个最小的堆合并 然后不断向上合并 #include<iostream>#include<algorithm>#include<queue> //用小根堆实现找最小堆using namespace std;int main(){int n;cin>>n;priority_queue&l…...

CSS 使用技巧

CSS 使用技巧 引入苹方字体 苹方提供了六个字重&#xff0c;font-family 定义如下&#xff1a;苹方-简 常规体font-family: PingFangSC-Regular, sans-serif;苹方-简 极细体font-family: PingFangSC-Ultralight, sans-serif;苹方-简 细体font-family: PingFangSC-Light, sans…...

typescript,eslint,prettier的引入

typescript 首先用npm安装typescript&#xff0c;cnpm i typescript 然后再tsc --init生成tsconfig.json配置文件&#xff0c;这个文件在package.json同级目录下 最后在tsconfig.json添加includes配置项&#xff0c;在该配置项中的目录下&#xff0c;所有的d.ts中的类型可以在…...

web前端javaScript笔记——(7)Math和Date方法

Math -Math和其他的对象不同&#xff0c;它不是一个构造函数&#xff0c; 它属于一个工具类不用创建对象&#xff0c;它里边封装了数学运算相关的属性和方法 比如 Math.PI 表示的圆周率 使用方法Math.方法(); Math.abs()可以用来计算一个数的绝对值 Math.ceil()可以对一…...

深入理解Java中资源加载的方法及Spring的ResourceLoader应用

在Java开发中&#xff0c;资源加载是一个基础而重要的操作。本文将深入探讨Java中两种常见的资源加载方式&#xff1a;ClassLoader的getResource方法和Class的getResource方法&#xff0c;并介绍Spring框架中的ResourceLoader的应用。 1. 资源加载的两种方式 1.1 ClassLoader…...

实时记录和查看Apache 日志

Apache 是一个开源的、广泛使用的、跨平台的 Web 服务器&#xff0c;保护 Apache Web 服务器平台在很大程度上取决于监控其上发生的活动和事件&#xff0c;监视 Apache Web 服务器的最佳方法之一是收集和分析其访问日志文件。 Apache 访问日志提供了有关用户如何与您的网站交互…...

Java实战项目五:文本冒险游戏

文章目录 一、实战概述二、知识点概览&#xff08;一&#xff09;条件分支与循环结构&#xff08;二&#xff09;面向对象设计&#xff08;三&#xff09;用户交互与事件处理 三、思路分析&#xff08;一&#xff09;系统架构设计&#xff08;二&#xff09;功能模块划分详解 四…...

docker_ROS的usb_cam使用与标定

目录 准备 准备标定板 新建容器 新建usb_cam话题的ROS功能包 编写代码 编译 运行功能包 标定 安装camera_calibration标定功能包 启动发布usb_cam话题的功能包 启动camera_calibration标定功能包 准备 usb相机 标定板 一个带有ROS的docker镜像。 准备标定板 图…...

记一次RabbitMQ服务器异常断电之后,服务重启异常的处理过程

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题描述&#xff1a; 机房突然停电&#xff0c;rabbitmq的主机异常断电&#xff0c;集群服务全部需要重启。但是在执行service…...

rime中州韵小狼毫 help lua Translator 帮助消息翻译器

lua 是 Rime中州韵/小狼毫输入法强大的武器&#xff0c;掌握如何在Rime中州韵/小狼毫中使用lua&#xff0c;你将体验到什么叫 随心所欲。 先看效果 在 rime中州韵 输入效果一览 中的 &#x1f447; help效果 一节中&#xff0c; 我们看到了在Rime中州韵/小狼毫输入法中输入 h…...

C++完成使用map Update数据 二进制数据

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…...

ARCGIS PRO SDK 访问Geometry对象

一、Geometry常用对象 二、主要类 1、ReadOnlyPartCollection&#xff1a;Polyline 和 Polygon 使用的 ReadOnlySegmentCollection 部件的只读集合&#xff0c;属性成员&#xff1a;​ 名字描述Count获取 ICollection 中包含的元素数。TIEM获取位于指定索引处的元素。Spatial…...

数据结构之各大排序(C语言版)

我们这里话不多说&#xff0c;排序重要性大家都很清楚&#xff0c;所以我们直接开始。 我们就按照这张图来一一实现吧&#xff01; 一.直接插入排序与希尔排序. 这个是我之前写过的内容了&#xff0c;大家可以通过链接去看看详细内容。 算法之插入排序及希尔排序&#xff08…...

c++ 中多线程的使用

如果你的其他逻辑必须在线程 t1 和 t2 之后执行&#xff0c;但你又希望这些线程能够同时运行&#xff0c;你可以在主线程中使用 std::thread::detach 将线程分离&#xff0c;让它们在后台运行。这样&#xff0c;主线程不会等待这些线程的完成&#xff0c;而可以继续执行其他逻辑…...

国外室内设计案例网站/软文营销的三个层面

无论在何时&#xff0c;一个企业若想获得长久发展&#xff0c;就必须高度重视客户关系管理工作。而在互联网大潮的来袭下&#xff0c;企业必须高度重视现代客户关系管理方式。CRM作为一款专业客户关系管理系统&#xff0c;为企业提供专业的客户关系管理解决方案&#xff0c;帮助…...

温州做网站哪家好/启动互联全网营销推广

点击文章最下方左下角” ,获得更多知识。1. 如图,在边长为4的正方形ABCD中,以点B为圆心,AB为半径画弧,交对角线BD与点E,则图中阴影部分的面积是(结果保留π )A.8&#xff0d;π B.16&#xff0d;2π C.8&#xff0d;2π D.8&#xff0d;π2. 如图,∠AOB&#xff1d;90,∠B&…...

wordpress用户名忘记/搜索推广出价多少合适

题目描述 在梦境中&#xff0c;Alice来到了火星。不知为何&#xff0c;转眼间Alice被任命为火星能源部长&#xff0c;并立刻面临着一个严峻的考验。 为了方便&#xff0c;我们可以将火星抽象成平面&#xff0c;并建立平面直角坐标系。火星上一共有N个居民点。每个居民点认为是平…...

厦门最早做网站的公司/域名注册后怎么使用

Spring的自动装配&#xff0c;也就是定义bean的时候让spring自动帮你匹配到所需的bean&#xff0c;而不需要我们自己指定了。例如&#xff1a;User实体类里面有一个属性role1234567public class User {private int id;private String username;private String password;private…...

php新闻网站源码/aso推广平台

小白做好前端html设计后&#xff0c;马上开始进入数据库结构设计步骤。 在开始之前&#xff0c;小白回忆了一下老大在公司里培训时讲过的数据库设计解说&#xff1a; 对于初学者来说&#xff0c;很多拿到原型时不知道怎么设计数据表结构&#xff0c;这是很正常的事&#xff0c;…...

做app和做网站/广州网络推广平台

公元二零一二年&#xff0c;此猴子在此国度出世。掌握内功心法为传说中的特级心法《道难特》另外了解过另一特级心法为《甲骨文之佳万》。为此在纠结以后的拜师之路&#xff0c;请各位大侠帮助&#xff0c;谢谢。转载于:https://www.cnblogs.com/ja-net/archive/2012/05/10/249…...