Bind9
配置DNS
服务器的笔记DNS 权威服务器
配置流程我承认爱情是空幻的,只有情感才是真实的,是情感在促使我们去追求,使我们产生爱情的真正的美 ----卢梭《爱弥儿》
在 DNS
系统中,权威 DNS 用于存储 DNS 资源记录
,并为其管理的区域
提供权威答案
。
BIND9 (Berkeley Internet Name Domain)
可以实现权威的 DNS 服务器。BIND
允许将 权威服务器
配置为 zone
的 主要
服务器或辅助
服务器
官网地址: http://www.isc.org/bind/
在 DNS 系统中,zone
有且只能有一台主
服务器,但可具有多台辅助
服务器。辅助服务器定期从主服务器下载区域信息的最新版本。它们执行区域传输的频率
以及如何知道其数据是否过时
由区域的SOA资源记录
控制。
SOA 资源记录,也叫做起始授权机构记录
,提供有关 DNS 区域如何运行的信息。每个区域必须有一个 SOA 记录。
example.com. 86400 IN SOA classroom.example.com. root.classroom.example.com.
2015071700
3600
300
604800
60
classroom.example.com.
: 该 DNS 服务器是这个区域
的主要 DNS 服务器
负责维护区域资源记录。基本步骤
bind
软件/etc/named.conf
named.service
dns
虽然名字叫 bind
,但主要服务,以及配置文件都是 叫 named
bind9 安装
[root@serverb ~]# yum -y install bind
简单看一下服务文件
# /usr/lib/systemd/system/named.service
[Unit]
Description=Berkeley Internet Name Domain (DNS)
Wants=nss-lookup.target
Wants=named-setup-rndc.service
Before=nss-lookup.target
After=named-setup-rndc.service
After=network.target
[Service]
Type=forking
Environment=NAMEDCONF=/etc/named.conf
EnvironmentFile=-/etc/sysconfig/named
Environment=KRB5_KTNAME=/etc/named.keytab
PIDFile=/run/named/named.pid
ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS
ExecReload=/bin/sh -c '/usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID'
ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'
PrivateTmp=true
[Install]
WantedBy=multi-user.target
~
named
主要配置文件是 /etc/named.conf
,该文件控制 BIND
的基本操作,由 root
用户和 named
组拥有,具有权限 0640
,并且具有named_conf_t
SELinux类型。
配置DNS服务器需要执行以下步骤:
地址匹配列表
named
侦听的IP地址
访问控制
zone(区域)
区域
文件默认配置:
递归缓存名称服务器
IPv4和IPV6
环回接口的端口 53 UDP/TCP(127.0.0.1和::1)
上的连接。/var/named
中。[student@serverb ~]$ man named.conf
使用 acl
指令定义地址匹配列表。acl
指令不是用于控制客户端对服务器的访问,而是使用它们来定义IP地址和网络列表。
条目可以是完整的IP地址或网络
,用尾点(192.168.0.)
或CIDR
表示法(192.168.0/24)
,也可以使用先前定义的地址匹配列表的名称。acl语句定义的地址集可以被多个指令引用。
可以单纯的理解为 acl 别名, 示例:
acl trusted {
172.25.250.11; 192.168.0.11; };
acl internal {
172.25.250.0/24; };
acl classroom {
192.168.0.0/24; trusted; };
named
中内置了四个ACL
:
ACL: Description |
---|
none :Matches no hosts. |
any :Matches all hosts. |
localhost :Matches all IP addresses of the DNS server. |
localnets :Matches all hosts from the DNS server’s local subnets. |
options
块中使用以下三个指令配置控制访问:
allow-query
,控制所有查询
默认情况下,allow-query
设置为 localhost
。对于公开权威服务器
必须定义为allow-query{any;};
允许任意客户端查询。
allow-query{
localhost;172.25.250.254;192.168.0.0/24;};
allow-recursion
,控制递归查询
权威服务器不应允许
递归查询,防止服务器被用于DNS放大分布式拒绝服务攻击
,并更好地保护其免受缓存中毒攻击。配置此功能最简单的方法是完全关闭递归:recursion no
;如果必须允许受信任的客户端执行递归,则可以打开递归并为这些特定主机或网络设置:
allow-recursion{
trusted-nets;};
allow-transfer
,控制区域转移
区域转移允许客户端获取您 区域中所有数据的转储
。区域转移应该受到限制,以使潜在的攻击者更难执行一个DNS查询来快速获取您区域中的所有资源记录。
主服务器必须配置允许转移
,以允许您的从服务器
执行区域转移。您应该禁止其他主机执行区域传输。您可能允许localhost
执行区域传输以帮助进行故障排除。
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
allow-transfer {
192.168.1.1; };
};
默认的 zone
文件
[root@serverb named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@serverb named]#
根域服务器的 zone
文件
在 DNS 中,.
表示根域名(root domain),它是所有其他域名的顶级域名。根域名由一组根 DNS 服务器维护,这些服务器存储了所有顶级域名的 DNS 服务器地址。当一个 DNS 客户端需要解析一个域名时,它会向根 DNS 服务器发出查询请求,以获取该域名的顶级域名的 DNS 服务器地址。
zone "." IN {
type hint;
file "named.ca";
};
type hint
表示该区域是一个提示(hint)区域,它包含了其他 DNS 服务器的地址信息
对应配置文件中 directory "/var/named";
中对应的文件
[root@serverb named]# cat named.ca
; <<>> DiG 9.11.3-RedHat-9.11.3-3.fc27 <<>> +bufsize=1200 +norec @a.root-servers.net
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46900
;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
.......
. 518400 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 518400 IN A 198.41.0.4
b.root-servers.net. 518400 IN A 199.9.14.201
c.root-servers.net. 518400 IN A 192.33.4.12
d.root-servers.net. 518400 IN A 199.7.91.13
.......
m.root-servers.net. 518400 IN A 202.12.27.33
a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 518400 IN AAAA 2001:500:200::b
c.root-servers.net. 518400 IN AAAA 2001:500:2::c
d.root-servers.net. 518400 IN AAAA 2001:500:2d::d
e.root-servers.net. 518400 IN AAAA 2001:500:a8::e
f.root-servers.net. 518400 IN AAAA 2001:500:2f::f
.........
m.root-servers.net. 518400 IN AAAA 2001:dc3::35
;; Query time: 24 msec
;; SERVER: 198.41.0.4#53(198.41.0.4)
;; WHEN: Thu Apr 05 15:57:34 CEST 2018
;; MSG SIZE rcvd: 811
[root@serverb named]#
主根域名服务器是 DNS 系统中最高层次的服务器,它们存储着所有顶级域名的 DNS 服务器地址信息。目前,主根域名服务器共有 13 台,它们分别由不同的组织和机构管理,位于世界各地。这些主根域名服务器的名称分别为 a.root-servers.net 到 m.root-servers.net
。
在配置文件中,我们可以看到其他的 zone 文件通过引入的方式实现
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
查看 zone
文件信息 "/etc/named.rfc1912.zones";
[root@serverb named]# cat /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// 当前 zone 的为master 服务器,解析由文件 named.localhost 决定
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update {
none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update {
none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update {
none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update {
none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update {
none; };
};
[root@serverb named]#
zone
解释
zone "localhost.localdomain":
localhost.localdomain
,zone "1.0.0.127.in-addr.arpa":
1.0.0.127.in-addr.arpa
,具体区域数据文件
[root@serverb named]# cat named.localhost
$TTL 1D
@ IN SOA @ rname.invalid. ( ;@ 是一个特殊的符号,表示当前域名本身
0 ; serial,序列号
1D ; refresh,刷新时间
1H ; retry,重试时间
1W ; expire,过期时间
3H ) ; minimum,最小时间间隔
NS @ ; name server,域名服务器
A 127.0.0.1 ; IPv4 地址
AAAA ::1 ; IPv6 地址
[root@serverb named]#
数据文件包括:
[root@serverb named]# cat named.loopback
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
PTR localhost.
[root@serverb named]#
除了上面的配置,多了一条 PTR localhost.
,用于 IP 地址 到 域名的反向解析
配置完对应的 zone
文件,启动 named 之前需要放行防火墙相关配置,然后设置开机自启
[root@serverb ~]# firewall-cmd --add-service=dns --permanent
success
[root@serverb ~]# firewall-cmd --reload
success
[root@serverb ~]# systemctl enable named.service --now
默认配置文件说明
[root@serverb ~]# cat /etc/named.conf
// named.conf
// 这是一个 DNS 服务器配置文件,用于配置 ISC BIND named(8) DNS 服务器作为一个只提供缓存服务的本地 DNS 解析器。
// 定义一个名为 trusted 的 ACL,包含两个 IP 地址,用于限制可以访问 DNS 服务器的 IP 地址。
acl trusted {
172.25.250.11; 192.168.0.11; };
// 定义一个名为 internal 的 ACL,包含一个 IP 地址段,用于限制可以访问 DNS 服务器的 IP 地址。
acl internal {
172.25.250.0/24; };
// 定义一个名为 classroom 的 ACL,包含一个 IP 地址段和一个名为 trusted 的 ACL,用于限制可以访问 DNS 服务器的 IP 地址。
acl classroom {
192.168.0.0/24; trusted; };
// 配置选项
options {
// 监听任意 IPv4 地址的 53 端口
listen-on port 53 {
any; };
// 监听任意 IPv6 地址的 53 端口
listen-on-v6 port 53 {
any; };
// 指定 DNS 数据文件的存储目录
directory "/var/named";
// 指定缓存文件的存储路径
dump-file "/var/named/data/cache_dump.db";
// 指定统计信息文件的存储路径
statistics-file "/var/named/data/named_stats.txt";
// 指定内存统计信息文件的存储路径
memstatistics-file "/var/named/data/named_mem_stats.txt";
// 指定 DNSSEC 安全根密钥文件的存储路径
secroots-file "/var/named/data/named.secroots";
// 指定递归查询缓存文件的存储路径
recursing-file "/var/named/data/named.recursing";
// 允许查询 DNS 数据的客户端 IP 地址
allow-query {
localhost; classroom; };
/*
- 如果你正在构建一个权威 DNS 服务器,请不要启用递归查询。
- 如果你正在构建一个递归查询(缓存)DNS 服务器,请启用递归查询。
- 如果你的递归 DNS 服务器有一个公共 IP 地址,你必须启用访问控制,以限制查询到合法的用户。如果不这样做,你的服务器将成为大规模 DNS 放大攻击的一部分。在你的网络中实施 BCP38 将大大减少这种攻击面。
*/
// 禁止递归查询
recursion no;
// 启用 DNSSEC 安全根密钥验证
dnssec-enable yes;
// 启用 DNSSEC 数据验证
dnssec-validation yes;
// 指定动态密钥的存储目录
managed-keys-directory "/var/named/dynamic";
// 指定 PID 文件的存储路径
pid-file "/run/named/named.pid";
// 指定会话密钥文件的存储路径
session-keyfile "/run/named/session.key";
/* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
// 包含加密策略配置文件
include "/etc/crypto-policies/back-ends/bind.config";
};
// 配置日志记录
logging {
// 定义一个名为 default_debug 的日志通道,将日志输出到 data/named.run 文件中
channel default_debug {
file "data/named.run";
// 日志级别为动态调整
severity dynamic;
};
};
// 配置根域名服务器
zone "." IN {
// 指定该区域为“提示”类型,即提示 DNS 服务器根域名服务器的 IP 地址
type hint;
// 指定根域名服务器的数据文件
file "named.ca";
};
// 包含 RFC1912 中定义的标准 DNS 区域文件配置
include "/etc/named.rfc1912.zones";
// 包含根域名服务器的公钥
include "/etc/named.root.key";
[root@serverb ~]#
使用 dig
命令在 serverb
上查询 localhost.localdomain
的 DNS
解析结果。
其中 @172.25.250.11
表示使用 IP 地址为 172.25.250.11
的 DNS 服务器进行查询,输出信息中的
status: REFUSED
表示查询被拒绝,WARNING: recursion requested but not available
表示递归查询不可用。[student@servera ~]$ dig @serverb localhost.localdomain @172.25.250.11
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> @serverb localhost.localdomain @172.25.250.11
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 56767
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: f08d1204f74faabe21d039db63f384b8068d2e4c06fc6f50 (good)
;; QUESTION SECTION:
;localhost.localdomain. IN A
;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Mon Feb 20 22:33:28 CST 2023
;; MSG SIZE rcvd: 78
在 servera
上使用 dig
命令查询 localhost.localdomain
的 DNS 解析结果。
其中 @192.168.0.11
表示使用 IP 地址为 192.168.0.11 的 DNS 服务器进行查询。输出信息中的
[student@servera ~]$ dig localhost.localdomain @192.168.0.11
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> localhost.localdomain @192.168.0.11
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65182
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: efa0893e5d57752d3c67034563f388fb9f496bfc771dadb4 (good)
;; QUESTION SECTION:
;localhost.localdomain. IN A
;; ANSWER SECTION:
localhost.localdomain. 86400 IN A 127.0.0.1
;; AUTHORITY SECTION:
localhost.localdomain. 86400 IN NS localhost.localdomain.
;; ADDITIONAL SECTION:
localhost.localdomain. 86400 IN AAAA ::1
;; Query time: 9 msec
;; SERVER: 192.168.0.11#53(192.168.0.11)
;; WHEN: Mon Feb 20 22:51:39 CST 2023
;; MSG SIZE rcvd: 136
[student@servera ~]$
我们希望配置下面的一个 zone
到当前权威名称服务器
下面为 zone
相关的配置
zone "blog.liruilong.com" IN {
type master;
file "blog.liruilong.com.zone";
forwarders {
};
};
添加完,需要检测配置文件是否正确
[root@serverb ~]# named-checkconf /etc/named.conf
然后我们编写对应的 zone 数据文件,赋予相关权限,编写完检测 数据文件
[root@serverb ~]# chmod 640 /var/named/blog.liruilong.com.zone
[root@serverb ~]# chgrp named /var/named/blog.liruilong.com.zone
[root@serverb ~]# named-checkzone blog.liruilong.com /var/named/blog.liruilong.com.zone
zone blog.liruilong.com/IN: has no NS records
zone blog.liruilong.com/IN: not loaded due to errors.
[root@serverb ~]# cat /var/named/blog.liruilong.com.zone
$TTL 300
@ IN SOA serverb.lab.example.com. dnslab.example.com. (
2023072900 ; serial
1H ; refresh
5M ; retry
1W ; expire
1M ) ; minimum
600 IN NS serverb.
serverb IN A 192.168.0.11
servera IN A 192.168.0.10
这里发现有两个报错,提示 NS
记录配置的有问题,修改完配置,重新启动,每个 zone 需要一个 NS 记录,将域名映射到 DNS 服务器或者权威DNS
[root@serverb ~]# systemctl restart named
[root@serverb ~]# named-checkzone blog.liruilong.com /var/named/blog.liruilong.com.zone
zone blog.liruilong.com/IN: loaded serial 2023072900
OK
[root@serverb ~]# cat /var/named/blog.liruilong.com.zone
$TTL 300
@ IN SOA serverb.blog.liruilong.com. dnslab.example.com. (
2023072900 ; serial
1H ; refresh
5M ; retry
1W ; expire
1M ) ; minimum
600 IN NS serverb.blog.liruilong.com.
serverb IN A 192.168.0.11
servera IN A 192.168.0.10
[root@serverb ~]#
使用 dig 命令测试
[root@serverb ~]# dig servera.blog.liruilong.com. @serverb
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> servera.blog.liruilong.com. @serverb
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28751
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: d8a667097d1cbf82e34d02ab64c647d0333415b139a9ef0d (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com. IN A
;; ANSWER SECTION:
servera.blog.liruilong.com. 300 IN A 192.168.0.10
;; AUTHORITY SECTION:
blog.liruilong.com. 600 IN NS serverb.blog.liruilong.com.
;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN A 192.168.0.11
;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 19:21:52 CST 2023
;; MSG SIZE rcvd: 137
[root@serverb ~]#
在serverb
配置主 DNS:
servera
,serverc
地址分别为172.25.250.10
, 172.25.250.12
servera
,serverc
zone "blog.liruilong.com" IN {
type master;
file "blog.liruilong.com.zone";
forwarders {
};
};
[root@serverb ~]# cat /var/named/blog.liruilong.com.zone
$TTL 300
@ IN SOA serverb.blog.liruilong.com. dnslab.example.com. (
2023072900 ; serial
1H ; refresh
5M ; retry
1W ; expire
1M ) ; minimum
600 IN NS serverb.blog.liruilong.com.
serverb IN A 172.25.250.11
serverc IN A 172.25.250.12
servera IN A 172.25.250.10
[root@serverb ~]#
[root@serverb ~]# vim /var/named/blog.liruilong.com.zone
[root@serverb ~]# named-checkzone blog.liruilong.com.zone /var/named/blog.liruilong.com.zone
zone blog.liruilong.com.zone/IN: loaded serial 2023072900
OK
[root@serverb ~]# systemctl restart named
[root@serverb ~]# dig serverc.blog.liruilong.com. @serverb
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> serverc.blog.liruilong.com. @serverb
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9608
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 196c643e805924a3ea772e3264c649cef6a873b5c3803907 (good)
;; QUESTION SECTION:
;serverc.blog.liruilong.com. IN A
;; ANSWER SECTION:
serverc.blog.liruilong.com. 300 IN A 172.25.250.12
;; AUTHORITY SECTION:
blog.liruilong.com. 600 IN NS serverb.blog.liruilong.com.
;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN A 172.25.250.11
;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 19:30:22 CST 2023
;; MSG SIZE rcvd: 137
解析测试
[root@serverb ~]# dig servera.blog.liruilong.com. @172.25.250.11
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> servera.blog.liruilong.com. @172.25.250.11
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37549
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7e67c9a9f9d30b3df695a33864c64a1bb0d653a623775fd6 (good)
;; QUESTION SECTION:
;servera.blog.liruilong.com. IN A
;; ANSWER SECTION:
servera.blog.liruilong.com. 300 IN A 172.25.250.10
;; AUTHORITY SECTION:
blog.liruilong.com. 600 IN NS serverb.blog.liruilong.com.
;; ADDITIONAL SECTION:
serverb.blog.liruilong.com. 300 IN A 172.25.250.11
;; Query time: 0 msec
;; SERVER: 172.25.250.11#53(172.25.250.11)
;; WHEN: Sun Jul 30 19:31:39 CST 2023
;; MSG SIZE rcvd: 137
[root@serverb ~]#
zone "25.172.in-addr.arpa" IN {
type master;
file "25.172.loopback"
allow-update {
none; };
};
[root@serverb ~]# named-checkconf /etc/named.conf
/etc/named.conf:67: missing ';' before 'allow-update'
[root@serverb ~]# vim /etc/named.conf
[root@serverb ~]# named-checkconf /etc/named.conf
[root@serverb ~]#
zone "25.172.in-addr.arpa" IN {
type master;
file "25.172.loopback";
allow-update {
none; };
};
[root@serverb ~]# cat /var/named/25.172.loopback
$TTL 1D
@ IN SOA serverb.blog.liruilong.com rname.invalid. (
2023073000 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS serverb.blog.liruilong.com.
10.250 PTR servera.blog.liruilong.com.
11.250 PTR serverb.blog.liruilong.com.
12.250 PTR serverc.blog.liruilong.com.
[root@serverb ~]#
除了上面的 dig
命令,这里在分析其他的一些工具。
正反向解析测试,这里我们使用 host 命令,它是 bind-utils
中的一个命令
[root@serverb ~]# vim /var/named/25.172.loopback
[root@serverb ~]# systemctl restart named
[root@serverb ~]# host serverc.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:
serverc.blog.liruilong.com has address 172.25.250.12
[root@serverb ~]# host servera.blog.liruilong.com 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:
servera.blog.liruilong.com has address 172.25.250.10
[root@serverb ~]# host 172.25.250.10 172.25.250.11
Using domain server:
Name: 172.25.250.11
Address: 172.25.250.11#53
Aliases:
10.250.25.172.in-addr.arpa domain name pointer servera.blog.liruilong.com.
[root@serverb ~]#
也可以使用 nslookup
,该命令同样适用于 windows
[root@serverb ~]# nslookup servera.blog.liruilong.com 172.25.250.11
Server: 172.25.250.11
Address: 172.25.250.11#53
Name: servera.blog.liruilong.com
Address: 172.25.250.10
[root@serverb ~]# nslookup 172.25.250.10 172.25.250.11
10.250.25.172.in-addr.arpa name = servera.blog.liruilong.com.
[root@serverb ~]#
文中涉及参考链接内容版权归原作者所有,如有侵权请告知
<RH358 授课课堂笔记>
2018-2023 [email protected], All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)
文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文
文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作 导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释: cwy_init/init_123..._达梦数据库导入导出
文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js
文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6
文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输
文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...
文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure
文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割
文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答
文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。
文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入
文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf