作者:泡杯长岛冰茶

1.    配置网络为静态

nmcli connection modify static-ens192 ipv4.dns 172.16.50.194 ipv4.address 172.16.50.194/24 ipv4.gateway 172.16.50.1 autoconnect yes
nmcli connect reload;nmcli connection up static-ens192;

1.1.  客户端DNS配置

(本篇文章环境;服务端与客户端在同一台)

[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 172.16.50.194

2.关闭防火墙与selinux

Systemc disable firewalld –now
sed -i s/^SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
setenforce 0

3.配置本地yum源

3.1 挂载系统镜像文件

# mount /dev/sr0 /mnt

3.2 配置yum文件

# cat  /etc/yum.repos.d/local_baseos.repo
[local_BaseOS]
name=local_baseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[local_AppStream]
name=local_AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

3.3 检查yum是否配置成功

yum clean all; yum repolist;

4. 安装配置unbound软件

yum install -y unbound.x86_64

4.1.查看unbound软件安装的位置

[root@localhost ~]# rpm -qc unbound
/etc/sysconfig/unbound
/etc/unbound/conf.d/example.com.conf
/etc/unbound/keys.d/example.com.key
/etc/unbound/local.d/block-example.com.conf
/etc/unbound/unbound.conf

4.2.修配置文件

vim /etc/unbound/unbound.conf
48:      interface: 0.0.0.0
254:     access-control: 0.0.0.0/0 allow
520:     domain-insecure: "*."
868:forward-zone:
869:    name: "."
870:        forward-addr: 114.114.114.114

interface                 表示监听的IP,4个0表示监听本机的所有IP.

access-control            客户端访问控制(4个0,表示所有客户端都可访问

domain-insecure           信任安全域

forward-zone              如果在本DNS解析不到主机记录,下一跳到下一个DNS

name: "."      转发所有的查询

forward-addr: 114.114.114.114  (本文下一跳指向114.114.114.114)

4.2.1 也可以在 /etc/unbound/conf.d/目录创建自定义配置文件

- /etc/unbound/local.d/  定义主配置信息

-/etc/unbound/conf.d/   定义主机资源信息

[root@localhost local.d]# cat /etc/unbound/conf.d/yunbee.com.conf
server:
domain-insecure: "*."
forward-zone:
name: "."
forward-addr: 114.114.114.114

4.3.检查语法是否有问题

[root@localhost ~]# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf

4.4.生成私有的证书

[root@localhost ~]# unbound-control-setup
setup in directory /etc/unbound
unbound_server.key exists
unbound_control.key exists
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=CN = unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use

4.5.  启动unbound并开机自启动

[root@localhost ~]# systemctl enable unbound --now

4.6.查看端口监听状态

[root@localhost ~]# netstat -ntupl |grep :53tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1091/unbound       udp        0      0 192.168.122.1:53        0.0.0.0:*                           1959/dnsmasq       udp        0      0 0.0.0.0:53              0.0.0.0:*                           1091/unbound       udp        0      0 0.0.0.0:53              0.0.0.0:*                           1091/unbound       udp        0      0 0.0.0.0:53              0.0.0.0:*                           1091/unbound       udp        0      0 0.0.0.0:53              0.0.0.0:*                           1091/unbound

注意: 这里可以看到里面多了一条192.168.122.1 IP,这个IP是虚拟网桥的IP,如果你的服务器无法启动unbound服务,必需禁用这个IP。udp        0      0 192.168.122.1:53        0.0.0.0:*

[root@localhost ~]# ip a s virbr0virbr0:  mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:f3:16:9d brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever

下面是关闭网桥的命令

[root@localhost ~]# ifconfig  virbr0 down;nmcli device disconnect virbr0;

4.7.    检查外网能解析

[root@localhost ~]# dig www.baidu.com ; <<>> DiG 9.11.26-RedHat-9.11.26-3.el8 <<>> www.baidu.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60041;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;www.baidu.com.                 IN      A;; ANSWER SECTION:www.baidu.com.          1200    IN      CNAME   www.a.shifen.com.www.a.shifen.com.       300     IN      A       112.80.248.76www.a.shifen.com.       300     IN      A       112.80.248.75;; Query time: 815 msec;; SERVER: 172.16.50.194#53(172.16.50.194);; WHEN: Mon Aug 30 19:59:38 CST 2021;; MSG SIZE  rcvd: 101

4.8. 查看是否创建缓存

[root@localhost ~]# unbound-control   dump_cache |grep www.baidu.comwww.baidu.com.  1192    IN      CNAME   www.a.shifen.com.msg www.baidu.com. IN A 32896 1 293 3 2 1 5www.baidu.com. IN CNAME 0

4.9. 清理zone缓存

unbound-control flush_zone baidu.com

4.10. 添加一个主机资源记录

注意:上文中可以看到 'www.baidu.com' 解析出来的地址是 112.80.248.76,清除缓存之后,下文添加www.baidu.com 主机记录为10.10.10.10,检查它的解析是否会改变,如果改变为10.10.10.10说明成功

vim /etc/unbound/unbound.conf #interface: 0.0.0.0            ########下面记录必需在配置文件server关键字下 local-data: "www.baidu.com. 10800 IN A 10.10.10.10"             ##正向解析local-data-ptr: "10.10.10.10 www.baidu.com"                     ##反向解析

4.10.1  也可在 /etc/unbound/local.d/定义一个配置文件把主机记录添加进去

[root@localhost local.d]# readlink -f yunbee.com.conf
/etc/unbound/local.d/yunbee.com.conf
[root@localhost local.d]# ls -l
-rw-r--r--. 1 root unbound 359 Dec  2  2020 block-example.com.conf
-rw-r--r--. 1 root unbound 410 Sep  1 21:36 yunbee.com.conf
[root@localhost local.d]# cat /etc/unbound/local.d/yunbee.com.conf
local-data: "www.baidu.com. 3600 IN A 10.10.10.10"
local-data-ptr: "10.10.10.10 www.baidu.com"

4.11. 查看添加的主机解析状态

[root@localhost ~]# nslookup www.baidu.comServer:         172.16.50.194Address:        172.16.50.194#53  Name:   www.baidu.comAddress: 10.10.10.10

4.12 unbound搭建权威域名服务器(不推荐unbound搭建权威域名服务器)

a)定义一个访问控制文件在/etc/unbound/conf.d/目录

[root@localhost local.d]# readlink -f ../conf.d/yunbee.com.conf
/etc/unbound/conf.d/yunbee.com.conf
[root@localhost local.d]# cat /etc/unbound/conf.d/yunbee.com.conf
server:
domain-insecure: "."
forward-zone:
name: "."
forward-addr: 114.114.114.114

b)   定义一个zone文件在/etc/unbound/conf.d/目录

[root@localhost local.d]# readlink -f yunbee.com.conf
/etc/unbound/local.d/yunbee.com.conf
[root@localhost local.d]# cat yunbee.com.conf
local-zone: "yunbee.com." static
local-data: "yunbee.com. 10800 IN NS yunbee.com."
local-data: "yunbee.com. 10800 IN SOA yunbee.com. root.yunbee.com. 1 3600 1200 604800 10800"
local-data: "ns.yunbee.com. 3600 IN A 172.16.50.194"
local-data: "www.baidu.com. 3600 IN A 10.10.10.10"
local-data: "www1.baidu.com. 3600 IN A 10.10.10.11"
local-data: "www.qq.com. 3600 IN A 127.254.254.254"

dns小技巧,假设管理员想禁止某些员工在线看小电影,这里就可以做一条解析,把小电影的网址指向环回地址127.254.254.254,例如你想禁止公司员工访问www.baidu.com  就可添加下面这一条   ,注意的是IP还是能访问的.

local-data: "www.baidu.com. 10800 IN A 127.254.254.254"

本篇完

*禁止转载,可转发(转发文章请注明出处)

Linux8 搭建缓存DNS服务器

Linux8 搭建缓存DNS服务器相关推荐

  1. Linux中怎么搭建主DNS、辅助DNS、缓存DNS服务器

    文章目录 Linux中怎么搭建主DNS.辅助DNS.缓存DNS服务器 一.认识DNS: 1.DNS概述: 2.DNS查询过程: 3.DNS常见名词: 二.DNS配置: 三.搭建DNS服务器: 搭建we ...

  2. RHCE--Linux中搭建主DNS、正反批量解析、区域传送、辅DNS、缓存DNS服务器

    文章目录 DNS的概念 DNS域名解析全过程 因特网的域名结构 DNS中的七大资源记录 1.A记录 格式:完整主机名(FQDN) IN A IP地址 2.NS记录 格式:区域名 IN NS 完整主机名 ...

  3. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析 文章目录 Dnsmasq安装 Dnsmasq配置 Dnsmasq启动 Dnsmasq使用 Dnsmasq小结 默认的情况下, ...

  4. 如何利用Linux构建免费的缓存DNS服务器

    如何利用Linux构建免费的缓存DNS服务器   实验背景:       小诺公司目前的网络环境是所有用户都可以上外网,而且使用的DNS是通过DHCP服务器获取得到的,DHCP服务器上填写的DNS地址 ...

  5. 子域间互访文件服务器,搭建子域dns服务器

    搭建子域dns服务器: 首先将其做成一个缓存域名服务器,然后做如下设置: 1.在父域服务器上进行子域授权,直接编辑数据文件就可以了,不需要编辑主配置文件. 编辑父域服务器的/var/named/a.o ...

  6. dns服务期搭建使用_使用maradns搭建简易dns服务器(本地实现dns劫持)

    需求描述 本地搭建服务器,并且使用啦一个本地域名 test.loc 通过host解析到本地服务器,开发一个网页后想让手机直接访问test.loc来打开电脑上的网站,想实现这样的功能首先得让手机访问这个 ...

  7. centos搭建局域网DNS服务器及单服务器配置多域名

    centos搭建局域网DNS服务器及单服务器配置多域名 linux配置DNS Windows配置DNS 测试域名 为单台服务器上多个应用分别配置域名 参考:https://www.jianshu.co ...

  8. 惟缓存DNS服务器与备用DNS服务器配置

    一.惟缓存DNS服务器 事先准备:两台纯净虚拟机(以下简称虚拟机A与虚拟机B),一台真机 配置静态IP:给两台虚拟机都分配到同一vmnet,同一网段 虚拟机A为192.168.1.1 虚拟机B为192 ...

  9. 基于Centos7.2的自选域名配置实现正向和反向解析以及部署并测试缓存DNS服务器

    自选域名配置实现正向和反向解析 (注:下文中 IP 192.168.200.101为我的虚拟机IP,涉及上述"192.168.200.101"以及"192.168.200 ...

  10. 使用Dnsmasq搭建本地dns服务器上网

    搭建一个属于自己的本地DNS服务器很有必要,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染.更智能快速和没有广告干扰的DNS解析服务. 一.Dnsmasq安装 安装并启动Dn ...

最新文章

  1. windows下安装程序制作
  2. Ensemble Methods——python
  3. php操作MySQL
  4. hdu1542 线段树扫描线求矩形面积的并
  5. centos7修改ip地址命令_CentOS7 安装 httpd 服务
  6. Altium Designer 09 (Protel)总线使用方法(解决导入PCB无网络标号问题)
  7. Appium+Python移动端 实战——教你如何xpath定位自动化测试
  8. 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC
  9. 自定义 Spark item 的渲染器
  10. Android利用手机拍照和从相册读取照片的方法
  11. FRR -- CLI简要分析
  12. easyui自学模板代码
  13. Windows10 系统安装微软商店(ms-windows-store)
  14. 【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口
  15. canvas圆形进度条
  16. 希尔伯特23个数学问题及其解决情况
  17. 笔记本电脑屏幕当作扩展屏幕(一台PC给另一台PC当扩展屏 win10自带功能)
  18. 蔚来汽车提前批2022年7月13日
  19. Redis 过期Expires
  20. 360董事长周鸿祎:元宇宙代表着人类的没落

热门文章

  1. 数据结构-图的应用-最小生成树(类C语言版)
  2. no matching cipher found
  3. backtrack5 live cd启动时出现high-speed usb device停住不动解决方法
  4. linux6 64位,CentOS 6.0 X64官方正式版系统(64位)
  5. 如何将base64码保存为图片
  6. 【2017.11.16】外包单报价
  7. (转载)虚幻引擎3--12掌握虚幻技术UnrealScript 代理
  8. python——sys模块
  9. requests爬虫搜狗微信公众号
  10. vue打开新html,vue在新窗口打开页面的方法