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

# 作者:Eric
# 微信:loveoracle11g # 先配yum仓库
[root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
[root@server1 yum.repos.d]# vim racooler.repo
[racooler]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0 [root@server1 yum.repos.d]# mkdir -p /media/cdrom
[root@server1 yum.repos.d]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only [root@server1 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
[root@server1 yum.repos.d]# [root@server1 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
[root@server1 yum.repos.d]# [root@server1 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安装包,配置文件也有了改变。 [root@server1 ~]# yum -y install unbound* [root@server1 ~]# systemctl start unbound
[root@server1 ~]# systemctl enable unbound
ln -s '/usr/lib/systemd/system/unbound.service' '/etc/systemd/system/multi-user.target.wants/unbound.service' [root@server1 ~]# systemctl stop iptables
[root@server1 ~]# systemctl disable iptables
[root@server1 ~]# systemctl mask iptables
ln -s '/dev/null' '/etc/systemd/system/iptables.service' [root@server1 ~]# systemctl stop ebtables
[root@server1 ~]# systemctl disable ebtables
[root@server1 ~]# systemctl mask ebtables
ln -s '/dev/null' '/etc/systemd/system/ebtables.service' [root@server1 ~]# firewall-cmd --permanent --add-service=dns
success
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eno16777728
sources:
services: dhcpv6-client dns ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules: [root@server1 ~]# # DNS服务器上firewall开放DNS访问OK
[root@server1 ~]# 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
[root@server1 ~]# [root@server1 ~]# 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))
[root@server1 ~]# # 默认监听本地回环地址,也就是现在只有自己能访问DNS服务,其它主机不能访问本机的DNS服务。 [root@server1 ~]# 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: "" [root@server1 ~]# systemctl restart unbound [root@server1 ~]# 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
[root@server1 ~]#
# 现在53号端口监听的是0.0.0.0,即所有网段都监听。 # 创建解析文件
[root@server1 ~]# hostname
server1.example.com [root@server1 ~]# 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." # 检查解析结果
[root@server1 ~]# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
[root@server1 ~]# systemctl restart unbound
[root@server1 ~]# [root@server1 ~]# 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 [root@server1 ~]# systemctl restart network [root@server1 ~]# 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 [root@server1 ~]#

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

  1. DNS域名解析服务(bind)

    DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...

  2. DNS域名解析四种配置实验 ---Linux DNS域名解析服务

    DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...

  3. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  4. DNS域名解析服务以及Bind服务程序

    一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...

  5. DNS域名解析服务

    一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...

  6. DNS域名解析服务(重点)

    一 .DNS  系统的作用 1.DNS 服务器概述 DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名:与 IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正 ...

  7. Linux网络服务第七章DNS域名解析服务

    端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...

  8. 配置DNS域名解析服务

    概:   DNS技术作为互联网基础设施中的重要一环,为用户提供不间断.稳定且快速的域名查询服务,保证互联网正常运转.在互联网中,用户基本上都是基于DNS服务,使用域名访问网络上的计算机,DNS服务是我 ...

  9. 第三章、DNS域名解析服务

    DNS 1DNS简介 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS ...

随机推荐

  1. NYOJ 483 Nightmare 【广搜】+【无标记】

    版权声明:长风原创 https://blog.csdn.net/u012846486/article/details/31032479 Nightmare 时间限制:1000 ms  |  内存限制: ...

  2. keil5配置ST Link v2 for STM32F10x

    请务必先安装MDKCM525.EXE,否则会找不到闪存编程算法

  3. 数据库连接出错 expected key exchange group packet form server

    数据库连接出错 expected key exchange group packet form server SSH: expected key exchange group packet form ...

  4. Visual Studio 2010 出现关于ActivityLog.xml错误的解决方案

    在用VS编写程序是第一次会跳出“Visual Studio has encountered an exception.This may be caused by an extension. You c ...

  5. java的几种对象(po,dto,dao等)

    j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维.     POJO(plain old java object):普通的java对象,有别于特殊的j ...

  6. padding margin

    padding:内边距 margin:外边距 内外边距是针对本标签相对于它相邻的标签而言. margin: 10px;是本标签与它周围上下左右有10像素的空白. padding: 10px;本标签其实 ...

  7. CentOS6.5把MySQL从5.1升级到5.6后,MySQL不能启动

    解决了:进入mysql安装目录 cd /var/lib/mysql删除了如下三个文件:ibdata1  ib_logfile0  ib_logfile1 CentOS6.5把MySQL从5.1升级到5 ...

  8. JAVA常量与变量

    顺着箭头的转换为自动转换逆这箭头的转换为强制转换. 常量 关键字FINAL 命名为大写 标识符 1要以字母数字下划线和¥组成 2首字母不能为数字 3不能是JAVA的关键字和 保留字 4数据类型分为基本 ...

  9. SpringMVC-DispatcherServlet配置(Spring-servlet.xml)

    Spring-servlet.xml <context:component-scan base-package="com.spring.mvc.controller"/> ...

  10. 黄聪:VS2017调试时提示“运行时无法计算表达式的值”

    具体操作: 工具-选项-调试-常规,选中“使用托管兼容模式”,问题解决