linux安装bind with DLZ <NIOT>
2015年6月11日
1、sudo wget ftp://ftp.isc.org/isc/bind9/9.10.1/bind-9.10.1.tar.gz 或者 使用“rz”命令
2、tar -zxvf bind-9.10.1.tar.gz
3、创建目录
在/home/wkubuntu下创建named目录和namedfile目录
4、编译安装
cd bind-9.10.1
./configure --prefix=/home/wkubuntu/named/ --with-dlz-mysql=/usr/local/mysql
make
make install
此时进入/home/wkubuntu/named目录,里面自动生成了bin etc include lib sbin share var这些文件目录
5、配置bind
cd /home/wkubuntu/named/etc
touch named.conf ,或者从电脑上上传
vi named.conf张贴内容1
从电脑上上传5个文件到/home/wkubuntu/named/var 目录下
127.0.0.zone、localhost.reverse 、localhost.zone 、named.root 、root.hint
生成rndc的key
a)cd /home/wkubuntu/named/sbin/
b)vim random 输入很长一段字母。就是服务器上没有random产生器,这种情况下我们就手动伪造一个文件代替/dev/random的功能
c)./rndc-confgen -r random > /etc/rndc.key
d)cat /etc/rndc.key
e)拷贝
secret "pfNOQ0fENSBBGBYn/ndRsw=="; 这一行
覆盖/home/wkubuntu/named/etc 的named.conf对应的那一行
6、启动bind ,打印进程
输入sudo /home/wkubuntu/named/sbin/named -c /home/wkubuntu/named/etc/named.conf -n 1 &
出现done 就代表成功了,“-n 1”代表单线程启动,结合mysql驱动不会报错。
【如果出现了exit,出错了,看打印进程sudo /home/wkubuntu/named/sbin/named -gc /home/wkubuntu/named/etc/named.conf -n 1&
killall named 可以关闭掉所有named,如果用了-gc的话】
要建立一个log目录,如下的配置 mkdir logs
/home/wkubuntu/named/logs
其他:
内容1:
logging{
channel error_log {
file "/home/wkubuntu/named/logs/normal.log" versions 3 size 2m;
severity error;
print-time yes;
print-severity yes;
print-category yes;
};
category default{
error_log;
};
channel update_log{
file "/home/wkubuntu/named/logs/update.log" versions 3 size 1m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category update{
update_log;
};
channel notify_log{
file "/home/wkubuntu/named/logs/notify.log" versions 3 size 1m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category notify{
notify_log;
};
};
options {
directory "/home/wkubuntu/named/var/";
pid-file "/home/wkubuntu/named/var/run/named/named.pid";
dump-file "/home/wkubuntu/named/logs/named_dump.db";
statistics-file "/home/wkubuntu/named/logs/named.stats";
version "Welcome to NIOT platform!";
listen-on-v6 { any; };
allow-query { any; };
allow-query-cache { any; };
allow-recursion { localnets; localhost; };
notify no;
};
key "rndc-key" {
algorithm hmac-md5;
secret "fLDVvLVXFjMJpdiy+7nESw==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
zone "." IN {
type hint;
file "/home/wkubuntu/named/var/named.root";
};
zone "localhost" IN {
type master;
file "/home/wkubuntu/named/var/localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "/home/wkubuntu/named/var/localhost.reverse";
allow-update { none; };
};
dlz "Mysql zone" {
database "mysql
{host=127.0.0.1 dbname=db_dns ssl=false port=3306 user=root pass=root}
{select zone from supported_zone where zone = '$zone$' limit 1}
{select ttl, type, mx_priority,
case
when lower(type) = 'txt' then concat('\"', data, '\"')
when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum)
when lower(type) = 'naptr' then concat(' ', naptr_order, ' ', naptr_preference, ' \"', naptr_flags, '\"', ' \"', naptr_service, '\"', ' \"', naptr_regexp,'\" ', data, '.')
else data
end
from dns_records where zone = '$zone$' and host = '$record$'}";
};
2017配置文件变更部分
dlz "Mysql zone" {
database "mysql
{host=127.0.0.1 dbname=db_dns ssl=false port= user=pro_dns_manager pass=l+bbkqQX}
{select zone from dns_records where zone = '$zone$' limit }
{select ttl, type, mx_priority,
case
when lower(type) = 'txt' then concat('\"', data, '\"')
when lower(type) = 'soa' then concat_ws(' ', data, resp_person, serial, refresh, retry, expire, minimum)
when lower(type) = 'naptr' then concat(' ', naptr_order, ' ', naptr_preference, ' \"', naptr_flags, '\"', ' \"', naptr_service, '\"', ' \"', naptr_regexp,'\" ', data, '.')
else data
end
from dns_records where zone = '$zone$' and host = '$record$' and status = }";
};
7、测试
dig @localhost www.cniotroot.cn ys.cniotroot.cn
数据库里面要有这条记录,如上测试即可
8、北京服务器
sudo /home/niot/named/sbin/named -c /home/niot/named/etc/named.conf -n 1 &
9、rndc status 失败,端口被portreserve 占用
rndc: connect failed: 127.0.0.1#953: connection refused
#killall portreserve
linux安装bind with DLZ <NIOT>的更多相关文章
- Linux服务器---安装bind
安装bind 1.安装bind软件,需要安装3 个bind.bind-chroot.bind-util [root@localhost pub]# yum install -y bind bind-c ...
- Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题
Linux安装svn服务 ** 示例都是用的root权限,可选择用 sudo** 1:检查 安装条件为:Linux(centos)上未安装过svn服务,若安装过或安装失败请自行删除,这里不多介绍.检查 ...
- ElasticSearch-6.3.2 linux 安装
在linux 系统安装ElasticSearch-6.3.2最新版本,也适合6.x 系列版本做参考 前提先在linux 安装好jdk1.8 创建用户 从5.0开始,ElasticSearch 安全级别 ...
- linux 安装【jdk、tomcat】查看对外开放端口(防火墙拦截处理)
1.安装 jdkhttps://www.cnblogs.com/xu-dong/p/6422938.html 查看Linux下查看JDK安装路径: https://www.cnblogs.com/im ...
- Linux 安装tomcat 及过程中遇到的问题
Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器 例:tomcat放在 /opt/tom ...
- linux安装配置redis
redis是支持linux的,所以linux安装redis非常简单,按照官网的提示操作即可. 下载 $ wget http://download.redis.io/releases/redis-3.2 ...
- Linux服务-bind
目录 1.安装bind 2.配置bind 3.添加正.反向解析域 3.1 指向生效的配置文件 3.2 生成配置文件cljhfy.com.zone和163.168.192.zone 4.验证 Linux ...
- 1.Linux安装redis
Linux安装redis 操作系统是Centos7 1.下载压缩包 2.解压 3.编译 4.启动redis 5.设置redis.conf和防火墙端口开放,外网可以访问 1.下载压缩包 下载地址:htt ...
- Linux安装redis服务器和部署
Linux安装redis和部署 第一步:下载安装包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 访问https://redis. ...
随机推荐
- http学习笔记(3)
几乎所有的http通信都是由TCP/IP承载的.http好比一辆汽车,而TCP是一条公路,所有的汽车都要在公路上跑,看看http是如何在tcp这条公路上往返的. 首先简单地看看tcp,TCP连接是通过 ...
- 输入参数能动态调决定调用哪个实现类 spring的一个特性
今天做公司的以前项目的时候发现项目中有个特别好的东西,记录下来,分享一下 发现spring有个这样的功能,我也不知道这个是东西应该怎么称呼,就是通过输入参数,动态决定调用接口的实现类.简单理解就是在s ...
- 图的匹配问题与最大流问题(三)——最大流问题Ford-Fulkerson方法Java实现
上篇文章主要介绍了Ford-Fulkerson方法的理论基础,本篇给出一种Java的实现. 先借助伪代码熟悉下流程 FORD-FULKERSON(G,t,s) 1 for each edge(u,v) ...
- 回溯法、数独与N阶可达问题
回溯法是剪了枝的穷举,这是字面上的说法,不太好理解,不如讲解实例来的酸爽,于是引出了N阶可达问题: 有N个国家,每个国家有若干城市,小明要从中国(任意一个城市)出发,遍历所有国家(假设这个遍历顺序已经 ...
- ColumnEdit 数据源修改
应用场景 当从ColumnEdit(如SearchLookUpEdit)中选取一条记录后,ColumnEdit的数据源不再出现这条记录.效果图如下 选择前 选择一条记录后,上一条记录不再显示. 此处是 ...
- (八)python的简单数据类型和变量
什么是数据类型? 程序的本质就是驱使计算机去处理各种状态的变化,这些状态分为很多种. 例如英雄联盟游戏,一个人物角色有名字,钱,等级,装备等特性,大家第一时间会想到这么表示 名字:德玛西亚------ ...
- Google Daydream 在中国的第一次演讲摘录
从 PC.手机到 VR/AR,计算机平台正在迁移,而在这个过程中,与用户使用体验息息相关的「人机交互方式」也将不可避免的发生变化.作为这几波浪潮的弄潮儿,Google 怎么看这种人机交互方式的演进? ...
- IOS之frame和bounds区别
用最简单的语言来解释就是:setFrame和setBounds都是为了把子view加载到父view上去,但设置的参数坐标系不同,setFrame是该view在父view坐标系统中的位置和大小,setB ...
- java基础<迷你DVD系统>
一.写在main方法中 import java.util.*; public class MyDVDMgr { public static void main(String[] args){ Scan ...
- console.dir()和console.log()的区别
console.log()可以取代alert()或document.write(),在网页脚本中使用console.log(data)时,会在控制台打印出数据. console.dir()可以显示一个 ...