ubuntu上BIND9安装及设置转发遇到的坑
先列出参考文献,太重要了: BIND9安装指南 , 可以说如果没有这篇文章就不会有我这个博文了 - -
先描述下需求,之前写了个DNS服务,用作权威解析。
现在想要测试DNS转发的情况下是否可以正常使用,所以需要利用BIND模拟转发的情况,思路是:
1. 在A服务器部署权威DNS解析服务,并监听53端口(UDP);
2. 在B服务器上修改BIND配置,将对B服务器的DNS请求都转发(forward)到A服务器上去。
本机验证:
1. 利用dig指令,dig @xxx.xxx.xxx.xx(B服务器地址) domain_name, 来看解析结果是否符合预期;
2. 直接将本机DNS服务器地址修改为B,然后利用ping指令, ping domain_name, 看解析的IP是否符合预期。
接下来开始工作:
首先利用apt-get安装BIND, 配置文件会在/etc/bind/ 路径下,主要是name.conf文件,现在版本的name.conf中其实只是引入了三个子配置文件:
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.localinclude "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
其中named.conf.options文件中用于配置options相关的,其中包括forwarders,转发配置。我们只需要在options {}中,找到forwarders {},添加我们的A服务器的地址即可,需要注意后边需要加分号。
BIND默认是通过systemd来管理进程的,所以执行 systemctl restart bind9 进行重启。
利用前文提到的验证方式在本机进行验证,结果返回了REFUSED...
翻回头去查看,在B服务器上,dig @127.0.0.1 domain_name,结果是可以的,说明我们B服务器上配置的forwarder是起作用的。那么问题应该是出在从我们本机到B服务器的这个环节了。在我的同事T的提醒下,利用tcpdump抓包,发现本机到B服务器并没有包的发送。于是他建议我在.options文件中添加 allow-query {0.0.0.0/0;}; 。
之后重启BIND服务,在B服务器上 dig @127.0.0.1 domain_name 正常,再在本机dig终于得到了预期结果。
PS: 在BIND9配置手册中,options的allow-query项是用来指定允许哪些主机可以进行普通的 DNS 查询,如果未指定,缺省是允许所有主机请求。所以感觉好像实际并不是这样,尚且未搞清楚原因,只能解释为不加这个转发不能allow吧 - -
ubuntu上BIND9安装及设置转发遇到的坑相关推荐
- nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置
nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置 0 之前知识回顾: 1) 目前各种服务器HTTP Server对PHP的支持一共有三种: a.通过HTTPServe ...
- linux安装vi 插件,Ubuntu上Vim安装NERDTree插件的详细操作步骤
NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...
- 大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析
文章目录 前言 一.创建 Ubuntu 用户 二.安装 Java 2.1.查看本地 Java 版本 2.2.验证 Java 在本地的配置情况 三.安装 ssh 服务 3.1.安装 openssh-se ...
- ROS indigo在Ubuntu上的安装教程
ROS indigo在Ubuntu上的安装教程 1 安装 1.1 配置ubuntu仓库的属性 由于ROS属于社区支持,还有很多其他的库并不是官方支持的,所以需要修改ubuntu的仓库属性,让其允许获得 ...
- 中文语音对话 机器人 在 ubuntu 上的 安装
开源项目叮当-中文语音对话机器人在ubuntu上的安装 在叮当的官网(http://dingdang.hahack.com)上看到,它这是如下图这样介绍叮当的,它的安装流程也是基于树莓派来写的流程.而 ...
- sql server能在linux上运行,在 Ubuntu 上可以安装 SQL Server 了~
原标题:在 Ubuntu 上可以安装 SQL Server 了~ 导读 SQL Server现在可以在Linux上运行了!正如微软CEO Satya Nadella说的,"Microsoft ...
- 统计机器翻译(SMT)工具Moses在Ubuntu上的安装及使用(安装篇)
统计机器翻译(SMT)工具Moses在Ubuntu上的安装及使用(安装篇) 前言 Ubuntu配置 1.关闭系统自动休眠(可选) 2.更换软件源 Moses安装 1.安装相关依赖包: 2.检查gcc和 ...
- Ubuntu上编译安装迅雷XwareDesktop
Ubuntu上编译安装说明 本页介绍如何在Ubuntu 14.04及以上的系统上手动编译安装Xware Desktop. 由于迅雷官方没有发布64位版的xware,Xware Desktop的作者无法 ...
- Ubuntu上snmp安装、配置、启动及远程测试完整过程
0.说明 关于一个完整的教程,还是那句话,国内的要么不完整,要么就太旧了,而且思路也不清晰,所以这里写一篇完整的给大家分享一下. 虽然对于Linux主机的监控可以通过执行特定的命令来完成,但是相比之后 ...
最新文章
- Netflix创始人:我不要求996,一样市值1万亿
- 阮一峰react demo代码研究的学习笔记 - React.createElement
- 智能家居(工厂模式)
- mybatis源码阅读(三):mybatis初始化(下)mapper解析
- 搜索时,怎样排除不需要的关键字
- Django账号绑定邮箱时发送链接
- linux 下的vi命令汇总
- [UE4]蓝图的颜色
- nginx与php处理用户请求,配置 NGINX 处理 PHP 的请求《 LEMP 网站应用运行环境 》
- vs visual stdio 调试 显示指针为数组
- iOS 开发常用链接总结
- self-hacking第五天
- **IEEE论文的检索下载及引用格式**
- Vue上传多张图片到服务器,数据库存储图片路径并将图片渲染到前端
- The <Router /> component appears to be a function component that returns报错解决方式
- 天网系统服务器码,天网管理系统
- 使用python解决图像识别中常见的问题
- 暗影精灵5风扇怎么调_惠普暗影精灵5内部结构是怎么样的 他的散热效果好不好呢...
- bootstrap-table表格排序问题
- 华宇软件华为鸿蒙,舒华体育携手华为打造:全球首款搭载鸿蒙操作系统跑步机面世...