使用unbound提供DNS域名解析服务
使用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域名解析服务的更多相关文章
- DNS域名解析服务(bind)
DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...
- DNS域名解析四种配置实验 ---Linux DNS域名解析服务
DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- DNS域名解析服务以及Bind服务程序
一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...
- DNS域名解析服务
一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...
- DNS域名解析服务(重点)
一 .DNS 系统的作用 1.DNS 服务器概述 DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名:与 IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正 ...
- Linux网络服务第七章DNS域名解析服务
端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...
- 配置DNS域名解析服务
概: DNS技术作为互联网基础设施中的重要一环,为用户提供不间断.稳定且快速的域名查询服务,保证互联网正常运转.在互联网中,用户基本上都是基于DNS服务,使用域名访问网络上的计算机,DNS服务是我 ...
- 第三章、DNS域名解析服务
DNS 1DNS简介 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS ...
随机推荐
- golang 内存占用测量
web服务中加入如下 import ( "runtime" "time" "fmt" ) go func() { for { var m r ...
- 简单 babel plugin 开发-使用lerna 工具
babel在现在的web 应用开发上具有很重要的作用,帮助我们做了好多事情,同时又有 比较多的babel plugin 可以解决我们实际开发上的问题. 以下只是学习下如果编写一个简单的babel pl ...
- How to get checksum by IAR
- Android学习--------实现增删改查数据库操作以及实现相似微信好友对话管理操作
版权声明:本文为博主原创文章,转载请注明原文地址.谢谢~ https://blog.csdn.net/u011250851/article/details/26169409 近期的一个实验用到东西挺多 ...
- mysql 严格模式 Strict Mode说明(转)
转自https://www.cnblogs.com/jhcelue/p/7290243.html 1.开启与关闭Strict Mode方法 找到mysql安装文件夹下的my.cnf(windows系统 ...
- C# string 转 bool
bool _b = Convert.ToBoolean("False"); "_b => false" // // 摘要: // 将逻辑值的指定字 ...
- pdf.js 的使用
现在的浏览器基本都支持直接把 pdf 文件拖到浏览器就可以打开,不用下载pdf阅读插件,但是在写网页的时候遇到了 pdf 文件怎么办呢,有两种解决办法,一种是用 falsh 来向用户展示,优点就是支持 ...
- 根据IP和端口号异步短时间判断服务器是否链接
/// <summary> /// 短时间判断是否可以连接 /// </summary> /// <param name="ipe"></ ...
- Jmeter使用流程及简单分析监控
本文摘自:一颗糖果 https://www.cnblogs.com/linglingyuese/archive/2013/03/04/linglingyuese-one.html 1.下载Jmet ...
- Spring Schedule实现定时任务
applicationContext.xml 1. 增加配置 <!-- 开启定时任务 --> <task:annotation-driven /> <!-- 开启注解 - ...