使用unbound提供DNS域名解析服务

使用unbound提供DNS域名解析服务

# 作者:Eric
# 微信:loveoracle11g

# 先配yum仓库
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
[[email protected] yum.repos.d]# vim racooler.repo
[racooler]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

[[email protected] yum.repos.d]# mkdir -p /media/cdrom
[[email protected] yum.repos.d]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only

[[email protected] yum.repos.d]# yum repolist all
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
racooler                                                           | 4.1 kB  00:00:00
(1/2): racooler/group_gz                                           | 134 kB  00:00:00
(2/2): racooler/primary_db                                         | 3.4 MB  00:00:00
repo id                                repo name                            status
racooler                               rhel7                                enabled: 4,305
repolist: 4,305
[[email protected] yum.repos.d]#

[[email protected] yum.repos.d]# yum clean
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Error: clean requires an option: headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all
[[email protected] yum.repos.d]#

[[email protected] yum.repos.d]# yum list all | wc -l
4405

# DNS的查询方式
迭代查询:服务器与服务器之间的查询。本地域名服务器向根域名服务器的查询通常是采用迭代查询(反复查询)。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器下一步应向那个域名服务器进行查询。然后让本地域名服务器进行后续的查询。
递归查询:客户端与服务器之间的查询。主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。最后会给客户端一个准确的返回结果,无论是成功与否。

# DNS解析类型
正向解析:由域名解析到IP地址。
反向解析:由IP地址解析到域名。

# 名称解析方式
hosts文件(etc/hosts)、dns、广播、解析缓存、dns、wins(windows中)等
DNS安装配置:
在RHEL5、6中dns都是用的是bind软件包,而在RHEL7用的是unbound安装包,配置文件也有了改变。

[[email protected] ~]# yum -y install unbound*

[[email protected] ~]# systemctl start unbound
[[email protected] ~]# systemctl enable unbound
ln -s ‘/usr/lib/systemd/system/unbound.service‘ ‘/etc/systemd/system/multi-user.target.wants/unbound.service‘

[[email protected] ~]# systemctl stop iptables
[[email protected] ~]# systemctl disable iptables
[[email protected] ~]# systemctl mask iptables
ln -s ‘/dev/null‘ ‘/etc/systemd/system/iptables.service‘

[[email protected] ~]# systemctl stop ebtables
[[email protected] ~]# systemctl disable ebtables
[[email protected] ~]# systemctl mask ebtables
ln -s ‘/dev/null‘ ‘/etc/systemd/system/ebtables.service‘

[[email protected] ~]# firewall-cmd --permanent --add-service=dns
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eno16777728
  sources:
  services: dhcpv6-client dns ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules: 

[[email protected] ~]#

# DNS服务器上firewall开放DNS访问OK
[[email protected] ~]# netstat -tunlp | grep unbound
tcp        0      0 127.0.0.1:8953          0.0.0.0:*               LISTEN      2114/unbound
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2114/unbound
tcp6       0      0 ::1:8953                :::*                    LISTEN      2114/unbound
tcp6       0      0 ::1:53                  :::*                    LISTEN      2114/unbound
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2114/unbound
udp6       0      0 ::1:53                  :::*                                2114/unbound
[[email protected] ~]#

[[email protected] ~]# ss -tunlp | grep unbound
tcp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("unbound",2114,5))
tcp    UNCONN     0      0                    ::1:53                   :::*      users:(("unbound",2114,3))
tcp    LISTEN     0      5              127.0.0.1:8953                  *:*      users:(("unbound",2114,8))
tcp    LISTEN     0      5              127.0.0.1:53                    *:*      users:(("unbound",2114,6))
tcp    LISTEN     0      5                    ::1:8953                 :::*      users:(("unbound",2114,7))
tcp    LISTEN     0      5                    ::1:53                   :::*      users:(("unbound",2114,4))
[[email protected] ~]#

# 默认监听本地回环地址,也就是现在只有自己能访问DNS服务,其它主机不能访问本机的DNS服务。

[[email protected] ~]# vim /etc/unbound/unbound.conf
# 修改监听地址
38         # interface: 0.0.0.0
39         interface: 0.0.0.0

# 让所有主机能够向本机查询DNS
177         # access-control: 0.0.0.0/0 refuse
178         access-control: 0.0.0.0/0 allow

# 禁用服务用户
# 每个服务都是有其专用的服务用户,DNS的服务用户为unbound,实际情况下服务用户的启用有可能有安全隐患,这里要即禁用服务用户。
213         # username: "unbound"
214         username: ""

[[email protected] ~]# systemctl restart unbound

[[email protected] ~]# netstat -tunlp | grep unbound
tcp        0      0 127.0.0.1:8953          0.0.0.0:*               LISTEN      2814/unbound
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      2814/unbound
tcp6       0      0 ::1:8953                :::*                    LISTEN      2814/unbound
udp        0      0 0.0.0.0:53              0.0.0.0:*                           2814/unbound
[[email protected] ~]#
# 现在53号端口监听的是0.0.0.0,即所有网段都监听。

# 创建解析文件
[[email protected] ~]# hostname
server1.example.com

[[email protected] ~]# vim /etc/unbound/local.d/example.conf
local-zone: "example.com." static
local-data: "example.com. 86400 IN SOA ns.example.com. root 1 1D 1H 1W 1H"
local-data: "ns.example.com. IN A 192.168.10.201"
local-data: "www.example.com. IN A 192.168.10.201"
local-data-ptr: "192.168.10.201 ns.example.com."
local-data-ptr: "192.168.10.201 www.example.com."

# 检查解析结果
[[email protected] ~]# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
[[email protected] ~]# systemctl restart unbound
[[email protected] ~]#

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=cbce3ee7-6d18-4fc1-9ad4-4d175aa4ddbc
ONBOOT=yes
IPADDR0=192.168.10.201
PREFIX0=24
GATEWAY0=192.168.10.1
DNS1=192.168.10.201
HWADDR=00:0C:29:FA:32:28
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

[[email protected] ~]# systemctl restart network

[[email protected] ~]# nslookup
> 192.168.10.201
Server:		192.168.10.201
Address:	192.168.10.201#53

201.10.168.192.in-addr.arpa	name = www.example.com.
201.10.168.192.in-addr.arpa	name = ns.example.com.
> www.example.com
Server:		192.168.10.201
Address:	192.168.10.201#53

Name:	www.example.com
Address: 192.168.10.201
> exit

[[email protected] ~]#

原文地址:https://www.cnblogs.com/zhouwanchun/p/10682443.html

时间: 2024-08-14 15:52:21

使用unbound提供DNS域名解析服务的相关文章

使用BIND提供DNS域名解析服务

DNS(Domain Name System,域名系统)是一项用于管理和解析域名与IP地址对应关系的技术.正向解析 : 将域名解析为IP地址 (最常用的一种工作方式)反向解析 : 将IP地址解析为域名 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系:主服务器是用于管理域名和IP地址对应关系的真正服务器:从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况:同步主服务器的数据,减轻主服务器的负载压力,加快用户的请求速度:缓存服务器:

Linux网络服务05——DNS域名解析服务(一)

Linux网络服务05--DNS域名解析服务(一) 一.DNS系统的作用 1.DNS服务器概述 整个Internet大家庭中连接了数以亿计的服务器.个人主机,其中大部的网站.邮件服务等服务器都使用了域名形式的地址,如crushlinux.google.com.mail.163.com等.很显然这种地址形式要比使用64.233.189.147.202.108.33.74的IP地址形式更加直观,更加容易被用户记住. FQDN格式(完整域名格式):在常见域名后添加"."(根域).例如:cru

DNS域名解析服务之(二)

使用BIND构建缓存域名服务器 在上一节中DNS服务器的相关知识,BIND软件包的安装以及DNS服务器的配置文件组成,配置格式等.下面分别讲解构建缓存域名服务器的方法 缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对互联网访问的出口流量,例如,在一个小型企业的内部网络中,可单独构建一台缓存域名服务器,为各部门的员工计算机提供DNS解析服务. 介绍一下测试环境: 缓存域名服务器的IP地址为192.168.59.65,并且能够正常访问互联网 缓存域名服务器代为处理客户端的

【初级篇】Linux下部署DNS域名解析服务

Linux下部署DNS域名解析服务 1.          实验需求: 1)     使用RPM包安装bind服务 2) 实现配置正向解析域名,反向解析IP地址. 3)搭建从服务器,实现配置和主服务器实时同步,相互提供冗余备份. 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5(主)   IP:192.168.10.20 Linux服务器系统版本:Red Hat Enterprise Linux 6.5(从)   IP:192

Redhat6.5中搭建DNS域名解析服务

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务.下面我将在Redhat6.5中搭建DNS域名解析服务,包括正向解析,反向解析.正向解析1.安装bind软件包,bind软件包提供了域名服务的主要程序和相关文件.2.bind安装完成,可以使用rpm -qc bind显示bind软件包安装的配置文件3.编辑主配置文件,修改监听地址为提供DNS服务的主机IP地址,我本次实验为本机IP地址,allow-query改成

DNS域名解析服务(正向解析、反向解析)

介 绍 Internet发展至今,在网的服务器和个人主机数量庞大,每个用户通过记忆IP地址访问网络资源并不现实了. 目前大家访问互联网进行上网浏览信息时,正常是通过域名进行访问(例如:www.baidu.com),而实际上网络中的计算机之间只能基于IP地址来相互访问识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的IP地址来完成.这里就出现了DNS域名系统技术来帮我们简化此过程,以此来降低用户访问网络资源的门槛.为什么呢?因为它相对于IP地址,域名更容易被理解并记忆,这样大家便可以通过

DNS域名解析服务(正向解析、反向解析、主从同步)

今天给大家带来的是DNS域名解析服务的内容,将从以下几个内容来进行解析: 1.BIND域名服务基础:DNS系统的作用及类型BNID的安装和配置文件2.使用BIND构建域名或服务器:构建缓存域名服务器构建主.从域名服务器 DNS系统的作用: 1.正向解析:根据主机名称(域名)查找对应的IP地址2.反向解析:根据IP地址查找对应的主机域名3.DNS系统的分布式数据结构 FQDN完全合格域名 DNS系统类型: 1.缓存域名服务器:也称为高速缓存服务器通过向其他域名服务器查询获得域名→IP地址记录将域名

centOS7 DNS域名解析服务搭建——正向解析

centOS DNS域名解析服务搭建--正向解析 ---------------------------基本概述--------------------------- DNSX系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查找域名,即指定的域

服务基础篇       dns 域名解析服务  

实验环境   :     redhat7.2       redhat 6.7      redhat    6.7 搭建主从DNS服务 :         主服务器ip  192.168.1.144     从服务器ip192.168.1.120 客户机   192.168.1.110 服务安装包 修改主配置文件named.conf 监听端口开放 允许任何主机访问 修改named.rfc1912.zone 定义正反向解析区域  ,   服务模式为master  且允许从dns服务器同步数据 修