使用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. Hiveserver2 OOM问题解法

    数据平台做一些计算需要通过hive jdbc方式连到hiveserver2执行job,但是hiveserver 正常运行一段时间后,总是会报如下OOM:   1 2 3 4 5 6 7 8 9 10 ...

  2. heptio scanner kubernetes 集群诊断工具部署说明

    heptio scanner 是一款k8s 集群状态的诊断工具,还是很方便的,但是有一点就是需要使用google 的镜像 参考地址 https://scanner.heptio.com/ 部署 kub ...

  3. Hi3518EV200音频相关

    1.sample程序可以录音,音频格式为G711A.G711U.G726.ADPCM: 2.ADPCM找不到音频播放器 3.G711格式海思添加了4字节头0x00 0x01 0x0a 0x00,普通播 ...

  4. postman测试REST接口注意事项

    postman在测试第三方REST接口,当POST请求内容要求为application/json时,注意要在postman中设置POST请求体类型设置为raw,然后设置其内容为application/ ...

  5. c#与C++类型转换网摘

    转载自 C++和C#转换 https://www.cnblogs.com/zjoch/p/4147182.html c#与C++类型转换,网摘 //c++:HANDLE(void   *)       ...

  6. node api 之:Buffer

    在 ECMAScript 2015 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制. Buffer 类被引入作为 Node.js API 的一部分,使其可 ...

  7. arttemplate记录

    1,传到前端显示数据,最好用一个包装类,否则不知道怎么拿值 这样是忽略类名,直接从data属性入手,然后用点操作符 如果data是个list,可以用这个形式

  8. dnstop DNS分析工具

    http://dns.measurement-factory.com/tools/dnstop/src/ https://github.com/measurement-factory/dnstop h ...

  9. 洛谷 2234 [HNOI2002]营业额统计——treap(入门)

    题目:https://www.luogu.org/problemnew/show/P2234 学习了一下 treap 的写法. 学习材料:https://blog.csdn.net/litble/ar ...

  10. [转]关于ImportError: xxxx.so: undefined symbol: PyFPE_jbuf的解决方案

    转自: http://blog.csdn.net/zixiximm/article/details/50505921 最近在学着用caffe,总是遇到各种各样奇怪的问题.有时候搜遍整个google也找 ...