目录
DNS服务器配置
准备工作:
配置DNS正向解析:
客户端测试:
配置DNS反向解析:
客户端测试:
host (选项) (参数)
dig 命令:
DNS域名解析中添加的各项解析记录
#关闭防火墙
[root@server ~]# systemctl stop firewalld
#设置SELinux 成为permissive模式 临时关闭selinux防火墙
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0
[root@client ~]# getenforce
Permissive
#安装bind包
[root@server ~]# yum install bind -y
#查询软件包
[root@server ~]# rpm -ql bind
/etc/named.conf #bind主配置文件
/var/named/slaves #从dns服务器文件
#编辑bind主配置文件:
[root@server ~]# vim /etc/named.conf
#全面配置:
options {
listen-on port 53 { 192.168.88.133; }; #定义监听端口,指定相应的IP地址
directory "/var/named"; #定义数据文件目录
allow-query { any; }; #允许所有的主机进行查询
recursion yes; #开启递归查询
};
#定义区域:
zone "baidu.com" IN {
type master; #定义为master域名服务器
file "baidu"; #正向解析资源记录文件
};
#编辑正向记录文件
[root@server ~]# vim /var/named/baidu
$TTL 1D
@ IN SOA @ admin.admin.com. (
2024011700
1D
1H
3H
1D )
IN NS dns.baidu.com.
dns IN A 192.168.88.133
www IN A 192.168.88.111
a IN A 192.168.88.222
aaa IN CNAME a
#重启named服务
[root@server ~]# systemctl restart named
#正向解析方法一:
#使用nslookup工具
[root@server ~]# nslookup
> server 192.168.88.133 #指定我们自己的DNS服务器
Default server: 192.168.88.133
Address: 192.168.88.133#53
> www.baidu.com #发起查询
Server: 192.168.88.133
Address: 192.168.88.133#53
Name: www.baidu.com
Address: 192.168.88.111
#正向解析方法二:
#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.88.133
#无需指定直接就解析出来了
[root@server ~]# nslookup www.baidu.com
Server: 192.168.88.133
Address: 192.168.88.133#53
Name: www.baidu.com
Address: 192.168.88.111
[root@client ~]# host www.baidu.com 192.168.88.133
Using domain server:
Name: 192.168.88.133
Address: 192.168.88.133#53
Aliases:
www.baidu.com has address 192.168.88.111
[root@client ~]# nslookup www.baidu.com 192.168.88.133
Server: 192.168.88.133
Address: 192.168.88.133#53
Name: www.baidu.com
Address: 192.168.88.111
[root@client ~]# dig -t A www.baidu.com @192.168.88.133
; <<>> DiG 9.16.37 <<>> -t A www.baidu.com @192.168.88.133
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50477
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 03824b996c4386530100000065a6ba527d5cb9ba5f4aee9b (good)
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 86400 IN A 192.168.88.111
;; Query time: 0 msec
;; SERVER: 192.168.88.133#53(192.168.88.133)
;; WHEN: Wed Jan 17 01:18:10 CST 2024
;; MSG SIZE rcvd: 86
#编辑bind主配置文件:
[root@server ~]# vim /etc/named.conf
#全面配置:
options {
listen-on port 53 { 192.168.88.133; }; #定义监听端口,指定相应的IP地址
directory "/var/named"; #定义数据文件目录
allow-query { any; }; #允许所有的主机进行查询
recursion yes; #开启递归查询
};
#定义区域:
#正向解析区域
zone "baidu.com" IN {
type master; #定义为master域名服务器
file "baidu"; #正向解析资源记录文件
};
#反向解析区域
zone "88.168.192.in-addr.arpa" IN{
type master; #定义为master域名服务器
file "133"; #反向解析资源记录文件
};
#编辑反向记录文件
[root@server ~]# vim /var/named/133
[root@server ~]# cat /var/named/133
$TTL 1D
@ IN SOA @ admin.admin.com. (
2024011701
1D
1H
3H
1D )
IN NS dns.baidu.com.
133 IN PTR dns.baidu.com.
111 IN PTR www.baidu.com.
222 IN PTR a.baidu.com.
222 IN PTR aaa.baidu.com.
#反解需要注意:主机名尽量使用完整的FQDN,即要写上“.”
#重启named服务
[root@server ~]# systemctl restart named
#反向解析查询方法一:
[root@server named]# nslookup
> server 192.168.88.133
Default server: 192.168.88.133
Address: 192.168.88.133#53
> 192.168.88.111
111.88.168.192.in-addr.arpa name = www.baidu.com.
#反向解析查询方法二:
#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.88.133
[root@server named]# nslookup 192.168.88.111
111.88.168.192.in-addr.arpa name = www.baidu.com.
[root@client ~]# host 192.168.88.111 192.168.88.133
Using domain server:
Name: 192.168.88.133
Address: 192.168.88.133#53
Aliases:
111.88.168.192.in-addr.arpa domain name pointer www.baidu.com.
[root@client ~]# nslookup 192.168.88.111 192.168.88.133
111.88.168.192.in-addr.arpa name = www.baidu.com.
[root@client ~]# dig -x 192.168.88.111 @192.168.88.133
; <<>> DiG 9.16.37 <<>> -x 192.168.88.111 @192.168.88.133
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31769
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 00009a47857367740100000065a6b9fbd20bed94b42f4eb3 (good)
;; QUESTION SECTION:
;111.88.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
111.88.168.192.in-addr.arpa. 86400 IN PTR www.baidu.com.
;; Query time: 1 msec
;; SERVER: 192.168.88.133#53(192.168.88.133)
;; WHEN: Wed Jan 17 01:16:43 CST 2024
;; MSG SIZE rcvd: 111
选项:
-a : 显示详细的DNS信息
-c<类型> : 指定查询类型,默认值为“IN”
-C : 查询指定主机的完整的SOA记录
-r : 在查询域名时,不使用递归的查询方式
-t<类型> : 指定查询的域名信息类型
-v : 显示指令执行的详细信息
-w : 如果域名系统服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W<时间> : 指定域名查询最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令
-4 : 使用IPv4
-6 : 使用IPv6
1,作用查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
2,选项:
@<服务器地址>:指定进行域名解析的域名服务器;
-b
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。
主机:指定要查询域名主机;
查询类型:指定DNS查询的类型;
查询类:指定查询DNS的class;
查询选项:指定查询选项。
dig -t A www.baidu.com
dig -t A www.baidu.com +trace
A记录
: 将域名指向一个IPv4地址(例如:100.100.100.100),需要增加A记录
CNAME记录
: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。这个域名一般是主机服务商提供的一个域名
MX记录
: 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录。建立邮箱时,一般会根据邮箱服务商提供的MX记录填写此记录
NS记录
: 域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录
TXT记录
: 可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮件)记录
AAAA记录
: 将主机名(或域名)指向一个IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA记录
SRV记录
: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型(例如:_example-server._tcp)。
SOA记录
: SOA叫做起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中那一台是主服务器
PTR记录
: PTR记录是A记录的逆向记录,又称做IP反查记录或指针记录,负责将IP反向解析为域名
SOA主要是与区域有关,所以domain要写域名。而SOA后面会接七个参数,这七个参数的意义如下:
Master DNS服务器主机名:这个区域主要是哪台DNS作为Master的意思。
管理员的Email,发生问题可以联系这个管理员。由于@在数据库文件中有特殊含义,所以将用“.”代替@
序号(Serial),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改了数据库内容时,需要将这个数值放大。
更新频率(Refresh)定义slave多久向Master要求数据更新。
失败重新尝试时间(Retry),如果Slave无法对Master实现连接,那么在多长时间内,Slave会尝试重新连接到Master。
失效时间(Expire),如果一直尝试失败,持续连接到达这个设置值时限,那么Slave将不再继续尝试连接,并且尝试删除这份下载的zone file信息。
缓存时间(Minumum TTL),如果这个数据库zone file中,每条记录都没有写到TTL缓存时间的话,那么就以这个SOA的设置值为主。ttl的意思是当这笔记录被其他DNS服务器查询到后,这个记录会在对方DNS服务器的缓存中,保持多久时间。如果写了$TTL,则以该值为准。
时间单位:M(分钟),H(小时),D(天),W(周),默认是秒