网络的地址簿:Linux DNS服务的全面指南

1 dns

1.1 dns(域名解析服务)介绍

当访问 www.baidu.com

首先查询/etc/hosts,如果没有再去查询/etc/resolv.conf,还是没有就去查询域名服务器

  • 关于客户端:
bash 复制代码
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.20
  • 测试:
bash 复制代码
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
bash 复制代码
A记录 ##ip地址叫做域名的Address 记录
SOA ##授权起始主机

dns顶级

. 13

次级

.com .net .edu .org ...

baidu.com

  • 关于服务端
bash 复制代码
bind ##安装包
named ##服务名称
/etc/named.conf ##主配置文件
/var/named ##数据目录
端口 ##53
  • 关于报错信息:
bash 复制代码
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR ##表示查询成功
REFUSED ##服务拒绝访问
SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN ##此域名A记录在dns中不存在

1.2 dns服务的安装与启用

bash 复制代码
dnf install bind.x86_64 -y
bash 复制代码
systemctl enable --now named
firewall-cmd --permanent --add-service=dns 
firewall-cmd --reload
bash 复制代码
vim /etc/named.conf
bash 复制代码
11 listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口
19 allow-query { any; }; ##允许查询A记录的客户端列表
34 dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本纪
bash 复制代码
systemctl restart named 

2 高速缓存dns

bash 复制代码
forwarders { 114.114.114.114; }; # 缓存该服务器的信息,到内部域名服务器中



3 dns的正向解析

bash 复制代码
vim /etc/named.rfc1912.zones
bash 复制代码
zone "westos.com" IN { ##维护的域名
 type master; ##当前服务器位主dns
 file "westos.com.zone"; ##域名A记录文件
 allow-update { none; }; ##允许更新主机列表
};
bash 复制代码
cd /var/named/
cp -p named.localhost westos.com.zone
bash 复制代码
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.westos.com. root.westos.com ( #SOA授权起始(Start of Authority)
 0 ; serial #域名版本序列号
 1D ; refresh #刷新时间(辅助dns)
 1H ; retry #重试时间(辅助dns)
 1W ; expire #过期时间(辅助dns,查询失败过期停止对辅
助域名的应答)
 3H ) ; minimum #A记录最短有效期
 NS dns.westos.com.
dns A 192.168.0.20
www CNAME westos.a.westos.com. ##规范域名
westos.a A 192.168.0.111 ##正向解析记录
westos.a A 192.168.0.112
westos.com. MX 1 192.168.0.20. ##邮件解析记录
bash 复制代码
systemctl restart named 
bash 复制代码
dig www.westos.com #查询正向解析
dig -t mx westos.com #邮件解析记录查询

3.1 规范域名


3.2 邮件记录的正向解析


4 dns的反向解析

bash 复制代码
vim /etc/named.rfc1912.zones
bash 复制代码
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.ptr";
allow-update { none; };
};
bash 复制代码
cd /var/named/
cp -p named.loopback 192.168.0.ptr
bash 复制代码
vim 192.168.0.ptr
bash 复制代码
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 192.168.0.20
11 PTR www.westos.com.
12 PTR bbs.westos.com.
13 PTR news.westos.com.
bash 复制代码
systemctl restart named 
  • 测试:
bash 复制代码
dig -x 192.168.0.11



6.dns的双向解析

实验环境:

客户端2台
192.168.0网段

bash 复制代码
172.25.254网段 ##ifconfig ens160 172.25.254.30 netmask 255.255.255.0

服务端1台2个网段的ip

bash 复制代码
192.168.0.20
172.25.254.20 ##ifconfig ens160 172.25.254.20 netmask 255.255.255.0

在192.168.0网段的客户主机中

bash 复制代码
vim /etc/resolv.conf
nameserver 192.168.0.20

在172.25.254网段的客户主机中

bash 复制代码
vim /etc/resolv.conf
nameserver 172.25.254.20

配置方式:

bash 复制代码
cd /var/named/
cp -p westos.com.zone westos.com.inter
bash 复制代码
vim westos.com.inter
bash 复制代码
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.20
www CNAME westos.a.westos.com.
westos.a A 172.25.254.111
westos.a A 172.25.254.112
westos.com. MX 1 172.25.254.20. #mail exchanger 
bash 复制代码
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters
zone "westos.com" IN {
type master;
file "westos.com.inter";
allow-update { none; };
};
vim /etc/named.conf
#zone "." IN {
## type hint;
## file "named.ca";
##};
#
##include "/etc/named.rfc1912.zones";
##include "/etc/named.root.key";
view localnet {
 match-clients { 192.168.0.0/24; };
 zone "." IN {
 type hint;
 file "named.ca";
 };
 include "/etc/named.rfc1912.zones";
 include "/etc/named.root.key";
};
view internet {
 match-clients { any; };
 zone "." IN {
 type hint;
 file "named.ca";
 };
 include "/etc/named.rfc1912.inters";
 include "/etc/named.root.key";
};

systemctl restart named

测试:

分别在2个网段的主机中作同样域名的地址解析

得到的A记录不同






7.dns集群

bash 复制代码
主dns:
zone "westos.com" IN {
 type master;
 file "westos.com.zone";
 allow-update { none; };
 also-notify { 192.168.0.30; }; ##主动通知的辅助dns主机
};
vim /var/named/westos.com.zone
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com (
 2020031402 ; serial ##每次修改A记录文件需要
 1D ; refresh ##变更此参数的值
 1H ; retry
 1W ; expire
 3H ) ; minimum
 NS dns.westos.com.
dns A 192.168.0.20
www CNAME westos.a.westos.com.
westos.a A 192.168.0.210
westos.a A 192.168.0.211
westos.com. MX 1 192.168.0.20.
slave dns:
dnf install bind -y
firewall-cmd --add-service=dns
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
vim /etc/named.rfc1912.zone
zone "westos.com" IN {
 type slave; ##dns状态位辅助dns
 masters { 192.168.0.20; }; ##主dns
 file "slaves/westos.com.zone"; ##同步数据文件
};
systemctl restart named 


7.1 在辅助机上设置






7.2 在主机上设置




相关推荐
忆源几秒前
SOME/IP-SD -- 协议英文原文讲解9(ERROR处理)
网络·网络协议·tcp/ip
inquisiter5 分钟前
UEFI镜像结构布局
linux·spring
Allen Bright19 分钟前
【MySQL基础-20】MySQL条件函数全面解析:提升查询逻辑的利器
数据库·mysql
夜星辰202321 分钟前
WiFi(无线局域网)技术的多种工作模式
网络·wifi
Justice link44 分钟前
企业级NoSql数据库Redis集群
数据库·redis·缓存
爱的叹息44 分钟前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql
Linux运维老纪1 小时前
运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)
linux·安全·centos·云计算·运维开发·火绒
斯普信专业组1 小时前
Ceph异地数据同步之-RBD异地同步复制(下)
linux·服务器·ceph
counsellor1 小时前
CentOS 7安装hyperscan
linux·centos·hyperscan
电星托马斯1 小时前
Linux系统CentOS 6.3安装图文详解
linux·运维·服务器·程序人生·centos