一、什么是DNS服务?

DNS服务器是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域 名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式: 主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
如果名称服务器对于请求的信息具有权威性 , 会将权威答案发
送至客户端否则 , 如果名称服务器在其缓存中有请求的信息 ,
则会将非权威答案发送至客户端

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

缓存 DNS 服务器:

  1. BIND 是最广泛使用的开源名称服务器
  2. 在 RHEL 中 , 通过 bind 软件包提供
  3. 防火墙开启端口 53/TCP 和 53/UDP
  4. BIND 的主配置文件是 /etc/named.conf
  5. /var/named 目录包含名称服务器所使用的其他数据文件

二、DNS的高速缓存

实验:

1.再真机上操作:

 [root@localhost10 ~]# systemctl start firewalld     //真机上开启火墙[root@localhost10 ~]# firewall-cmd --list-all      //查看火墙列表
public (default, active)interfaces: br0 enp0s25 wlp3s0sources: services: dhcpv6-client ftp http sshports: masquerade: noforward-ports: icmp-blocks: rich rules: [root@localhost10 ~]# firewall-cmd --add-masquerade    //添加伪装
[root@localhost10 ~]# firewall-cmd --list-all
public (default, active)interfaces: br0 enp0s25 wlp3s0sources: services: dhcpv6-client ftp http sshports: masquerade: yes        //路由表添加成功forward-ports: icmp-blocks: rich rules: 

此实验用虚拟机server来做服务机,用desktop做测试机

2.服务机设置: 主机连接wifi

1)  设置server虚拟机上的ip为110

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=Ethernet
BOOTPROTO=none
IPADDR0=172.25.254.110
PREFIX0=24
NAME=eth0
ONBOOT=yes
DEVICE=eth0
GATEWAY=172.25.254.10[root@localhost ~]# systemctl restart network

2)  设置虚拟机上的外网解析

vim  /etc/resolv.conf

[root@localhost ~]# vim /etc/resolv.conf    //外网解析为114.114.114.114nameserver 114.114.114.114

3)  配置yum源

此实验用的是主机172.25.254.250

[root@localhost ~]# vim /etc/yum.repos.d/rhel_dvd.repo[rhel_dvd]
gpgcheck = 0
enabled = 1
baseurl = http://172.25.254.250/rhel7
name = Remote classroom copy of dvd[root@localhost ~]# yum clean all    //清除yum源的缓存

4)下载dns

[root@localhost ~]# yum search dns        //查看dns的软件
[root@localhost ~]# yum install bind.x86_64 -y      //下载安装bind.x86_64
[root@localhost ~]# systemctl start named          //开启dns服务
[root@localhost ~]# systemctl stop firewalld      //关闭火墙
[root@localhost ~]# rpm -qc bind            //查找DNS的配置文件
[root@localhost ~]# vim /etc/named.conf       //打开DNS的配置文件11         listen-on port 53 { any; };      // 将 11行的 本地的回环接口改为所有人any
17         allow-query     { any; };       // 将 17行 主机名称该为所有人any
18         forwarders  { 114.114.114.114; };   //添加18行 如果是客户机访问服务机服务机不知道的情况下,访问114.114.114.114
32         dnssec-validation no;   //认证备案修改为no

5) 重启网络服务和DNS服务

systemctl restart network       //重启网络
systemctl restart named        //重启DNS服务

3.客户机设置

1) 设置ip

 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0
DNS1=172.25.254.110         //加 ip110 的DNS
BOOTPROTO=none
IPADDR0=172.25.254.210
PREFIX0=24
ONBOOT=yes
NAME=eth0

2)   重启网络

systemctl restart network

3) 测试

dig www.baidu.com

三、DNS的正向解析

用于域名到IP地址的映射,当DNS客户端请求解析某个域名时,DNS服务器通过正向查找,并返回给DNS客户端对应的IP地址。

1. 设定服务机的配置文件

vim  /etc/named.conf          再DNS服务的配置文件中“//”  "/*"  为注释的意思

2.添加域

vim   /etc/named.rfc1912.zones

复制样本,修改为以下参数
zone "westos.com" IN {type master;file "westos.com.zone";allow-update { none; };
};

3.配置westos.com.zone文件

[root@localhost ~]# cd /var/named
[root@localhost ~]# cp -p named.localhost westos.com.zone
[root@localhost ~]# vim westos.com.zone
$TTL 1D
@       IN SOA  dns.westos.com. root.westos.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.westos.com.
dns     A       172.25.254.110
www     A       172.25.254.120
music   A       172.25.254.112[root@localhost ~]# systemctl restart named

4.重启服务

systemctl restart named

5.客户端测试

dig  www.westos.com

四、DNS的反向解析

用于IP地址到域名的映射,当DNS客户端请求解析某个IP地址时,DNS服务器通过反向查找,并返回给DNS客户端对应的域名。

1.服务端修改配置为键参数

取消 /etc/named.conf  主配置文件中 的外网解析,该为本地解析(大约18行)

再修改配置文件   /etc/named.rfc1912.zones

[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {type master;file "westos.com.inter";allow-update { none; };
};

2.创建反向解析的配置文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.loopback westos.com.inter
[root@localhost named]# vim /var/named/westos.com.inter
$TTL 1D
@       IN SOA   dns.westos.com.  root.westos.com. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.westos.com.
dns     A       172.25.254.110
10      PTR     www.westos.com.       ###PTR IP转换至名称
12      PTR     music.westos.com.
[root@localhost named]# systemctl restart named

3.重启服务

systemctl restart named

4.客户机检测

dig   -x  172.25.254.12

五、DNS的双向解析

DNS双向解析指内网与外网解析分离

1.创建外网域名编辑文件

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p  westos.com.zone westos.com.inter
[root@localhost named]# vim westos.com.inter                                  

2.编辑外网配置文件

[root@localhost named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1913.zones
[root@localhost named]# vim /etc/named.rfc1912.zones

3.编辑配置文件使内外网分离

[root@localhost named]# vim   /etc/named.conf49 view localnet {50          match-clients { localhost; };51         zone "." IN {52         type hint;53         file "named.ca";54         };55 56 include "/etc/named.rfc1912.zones";57 };58 59 view internet {60      match-clients { any; };61         zone "." IN {62         type hint;63         file "named.ca";64         };65         include "/etc/named.rfc1913.zones";66 };

4.设置dns

设置服务端(内网)的dns为172.25.254.110

设置客户端的(外网)dns为172.25.254.110

5.测试:

六、DNS的主从集群

辅助DNS主要是为了减轻主DNS服务器的工作负荷,可以配置多台辅助DNS服务器。

1.先注释掉主配置文件双向解析的参数

vim  /etc/named.conf

2.辅助机设置

yum install bind -y     下载dns服务软件包
[root@localhost named]# vim /etc/named/conf   设置主配置文件11         listen-on port 53 { any; };    将本地的回环接口改为所有人any
17         allow-query     { any; };     将主机名称该为所有人any
32         dnssec-validation no; 认证备案修改为no[root@localhost named]# vim /etc/named.rfc1912.zoneszone "westos.com" IN {type slave;  修改类型masters { 172.25.254.110; };file "slaves/westos.com.inter";  文件指定地址allow-update { none; };
};[root@localhost named]# vim /etc/resolv.conf   设置他的DNS为110nameserver 172.25.254.110
[root@localhost named]# systemctl restart named   重启

3.服务机设置

[root@localhost named]# vim /etc/named.rfc1913.zoneszone "westos.com" IN {type master;file "westos.com.inter";allow-update { none; };also-notify { 172.25.254.210; }; 同步
};[root@localhost named]# vim /var/named/westos.com.inter  外网解析的配置文件$TTL 1D
@       IN SOA   dns.westos.com. zhou.westos.com. (2018110302      ; serial2018110503 (每修改一次ip,就要变更一次数字,他的辅助设备才能同步) 1D      ; refresh1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      dns.westos.com.
dns              A       192.168.0.110
news             A       192.168.0.20
www              CNAME   shuilong.westos.com.
shuilong         A       192.168.0.12
shuilong         A       192.168.0.121
westos.com.      MX 1    192.168.0.10.
[root@localhost named]# vim /etc/resolv.conf   外网解析
nameserver 172.25.254.20
[root@localhost named]# systemctl restart named  重启服务

测试辅助机:

七、DNS客户端的更新

1.服务机设置

[root@localhost named]# vim /etc/named.rfc1913.zones
zone "westos.com" IN {type master;file "westos.com.inter";allow-update { 172.25.254.77; };    77主机可更新also-notify { 172.25.254.20; };
};
[root@localhost named]# systemctl restart named
[root@localhost named]# systemctl stop firewalld
[root@localhost named]# chmod 770 /var/named/
[root@localhost named]# setsebool -P named_write_master_zones 1    打开selinux对功能的开关
[root@localhost named]# cp -p /var/named/westos.com.inter /mnt   备份

2.77主机上的更新操作

3.检测:

[root@localhost named]# cd /var/named/
[root@localhost named]# ls
data     named.ca     named.localhost  slaves            westos.com.inter.jnl
dynamic  named.empty  named.loopback   westos.com.inter  westos.com.zone

4.删除刚才的更新

[root@foundation77~]# nsupdate
> server 172.25.254.110
> update del hello.westos.com
> send

服务机上删除文件

rm -fr westos.com.inter.jnl   westos.com.inter
cp -p /mnt/westos.com.inter /var/named/        //恢复之前的文件

八、DNS的密钥更新

1.在服务机上

[root@localhost named]# cd /mnt
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST dnskey    -a加密类型;-b加密长度;-n加密用途(dns解析);密钥名字
[root@localhost mnt]# ls
Kdnskey.+157+09137.key Kdnskey.+157+09137.private
[root@localhost mnt]# cat Kdnskey.+157+09137.key
dnskey. IN KEY 512 3 157 CEZZCDhlrmIk26H3ZEKUGA==
[root@localhost mnt]# cp -p /etc/rndc.key  /etc/westos.key
[root@localhost mnt]# vim /etc/westos.key
key "dnskey" {                   加密名字algorithm hmac-md5;      加密类型secret "CEZZCDhlrmIk26H3ZEKUGA==";
};
[root@localhost mnt]# vim /etc/named.conf     将锁与dns服务关联
43行 include "/etc/westos.key";
[root@localhost mnt]# vim /etc/named.rfc1913.zones
allow-update { key dnskey; };
[root@localhost mnt]# systemctl restart named
[root@localhost mnt]# scp Kdnskey.+157+09137.* root@172.25.254.77:/mnt/

2.在指定的主机上更新

[root@localhost mnt]# cd /mnt
[root@localhost mnt]# timedatectl   set-timezone  Asia/Shanghai
[root@localhost mnt]# vim /etc/chrony.conf
server 172.25.254.77 iburst
[root@localhost mnt]# systemctl restart chronyd   //在进行密钥更新前先要进行时间同步
[root@localhost mnt]# nsupdate -k Kdnskey.+157+03137.private      用钥匙更新
> server 172.25.254.110
> update add hello.westos.com 86400 A 172.25.254.112  添加hello.westos.com域名对应IP为172.25.254.112
> send
>quit
[root@localhost mnt]#

3.测试

dig  hello.westos.com       //测试实验是否成功

linux的DNS企业级域名解析相关推荐

  1. 3.Linux网络DNS域名解析服务

    1.DNS系统的作用及类型 DNS系统的作用 正向解析:根据域名查找对应的IP地址 反向解析:根据IP地址查找对应的域名 DNS系统的分布式数据结构 全球13台DNS根服务器分布: 美国VeriSig ...

  2. Linux网络 DNS域名解析服务

    目录 1. DNS域名解析服务 (1)DNS系统的作用及类型 (2)缓存域名服务器 (3)DNS系统类型 (4)BIND的安装和配置文件 (1)BIND软件安装 (2)DNS的分布式互联网解析库 (5 ...

  3. linux下DNS配置及域名解析服务

    一.DNS(Domain Name System,域名系统) 因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名, ...

  4. 云服务器dns配置文件,linux服务器dns配置文件

    linux服务器dns配置文件 内容精选 换一换 裸金属服务器硬件损坏,SDI卡损坏等原因,导致裸金属服务器无法正常使用时,您可以申请裸金属服务器重建功能.裸金属服务器重建过程不是自动化的,您需要联系 ...

  5. 如何为linux服务器配置DNS解析?

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 来源:编程三分钟 ID:coding3min 作者:小熊爱编程 本文建立在已经搭建好DNS服务 ...

  6. Linux网络DNS分离解析

    Linux网络DNS拓展:分离解析 一.配置网关服务器搭建DNS分离解析 1.为网关服务器配置双网卡 2.安装bind软件包 3.修改主配置文件 4.修改区域配置文件 5.修改区域数据配置文件 6.启 ...

  7. linux下DNS配置详解

    linux下DNS配置详解 DNS 是域名系统 (Domain Name Server) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务.在Internet上域名与IP地址之间是一一对应的 ...

  8. 一文看懂:网址,URL,域名,IP地址,DNS,域名解析

    今天给大家梳理一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文,并以简单的提问-解答形式让读者更加深刻理解网址.URL.IP地址.域名.DNS.域名解析,希望有助于读者的学习,面试和工 ...

  9. linux的dns怎么配置正向区域文件,linux系统下部署DNS正向解析

    DNS服务概述: DNS(Domain Name System)域名系统,能够提供域名与IP地址的解析服务. 正向解析 正向解析是指域名到IP 地址的解析过程. 部署DNS正向解析 DNS服务的三个配 ...

最新文章

  1. 小技巧之chm文件无法显示
  2. 【数据中台】你的企业是否需要建设数据中台?
  3. c语言多线编程程序,C语言之多线编程 来看看?
  4. MySQL高级 - MyISAM特性
  5. primeNG DataTable中Templating ng-template标签报错
  6. php怎么查自己的文件编码,php检测文件编码的方法示例
  7. Jeecg-P3 1.0.1版本发布,轻量级微服务框架
  8. .Net Core下使用MQTT协议直连IoT平台
  9. android系统功耗优化(1)---高通平台功耗优化的基础知识
  10. 缝衣间走出来的创始人,他的开源软件公司被 340 亿美元收购了
  11. idea卡顿的解决方法_《王者荣耀》卡顿及无法下载资源解决方法说明 5周年祈愿活动出错了怎么办...
  12. WPF:Documents文档--Annomation批注(1)
  13. SecureCRT连接Ubuntu,centos失败解决
  14. SecureCRT下载和破解
  15. 为什么远程计算机后会黑屏,解决Win10电脑远程桌面黑屏的问题
  16. 万娟 白话大数据和机械学习_白话大数据与机器学习 (高扬著) 带书签目录 完整pdf扫描版[71MB]...
  17. Web 前端必会的 PhotoShop 技能
  18. sql及DDL语句操作
  19. Scene Management --- Culling
  20. Linux学习——文件权限及文件查找

热门文章

  1. Python 與數據資料分析3.1-資料視覺化-基本圖表類型
  2. Linux Debian利用Dockefile将Python的py文件项目代码打包为Docker Podman镜像
  3. 吾爱破解2023安卓中级题
  4. 如何保障员工的培训效果
  5. 树莓派 python 蜂鸣器_树莓派3b强行驱动无源蜂鸣器
  6. python编码转换在线_Python字符编码转换Unicode和str
  7. python玩转android_Python Xplorer
  8. ProgressBar(进度条)-常用属性讲解与基础实例
  9. 微博依靠什么重返中国互联网中心舞台?
  10. SQL索引建立原则和使用