Quantcast
Channel: polygun2000的博客
Viewing all articles
Browse latest Browse all 55

ndjbdns流水账

$
0
0
近日为了规划新IDC内部DNS,时隔多年又重新搞起djbdns,发现了一个新的fork,名字叫ndjbdns,安装配置比原始版的方便多了,流水账一下。关于split-horizon的原理,不解释,本blog里就有几年前我写的文档,可以参考。

需求:
1. 机房内服务器的DNS服务器配置为本地的DNS Server
2. 机房内解析公司的域名是内部地址
3. 机房内解析非公司域名是正常解析
4. 服务器间可以使用域名互访

方案:
1. tinydns监听在 127.0.0.1,dnscache监听在内网卡上,做split-horizon
2. tinydns负责解析internal域,服务器主机名设置为hostname.internal,resolv.conf设置搜索域为internal

步骤:
1. Centos7 安装EPEL源
2. 安装ndjbdns,epel源中就有,比djbdns繁复的编译安装那是简单太多了。
]# yum install ndjbdns

3. 安装dig等常用的域名工具
]# yum install bind-utils

4. 创建并编辑tinydns的解析文件
首先加入"internal"域的正反向解析NS记录,再添加一条mysql01.internal的A记录
使用tinydns-data命令生成实际的域名文本数据库data.cdb
]# cd /etc/ndjbdns
]# touch data
]# tinydns-edit data data.new add ns internal 127.0.0.1
]# tinydns-edit data data.new add ns 1.168.192.in-addr.arpa 127.0.0.1
]# tinydns-edit data data.new add host mysql01.internal 192.168.1.22
]# tinydns-data

5. 配置internal域的解析服务器为127.0.0.1,即本机上的tinydns,注意反向解析的域名格式。
]# vi /etc/ndjbdns/servers/internal
===>  127.0.0.1
]# vi /etc/ndjbdns/servers/1.168.192.in-addr.arpa
===>  127.0.0.1

6. 配置dnscache监听在内网卡接口
]# vi /etc/ndjbdns/dnscache.conf 
===>  IP=192.168.1.140

7. 配置tinydns监听在loopback接口
]# vi /etc/ndjbdns/tinydns.conf
===>  IP=127.0.0.1

8.配置允许192.168.1.0/24网段使用dnscache做递归查询
]# touch /etc/ndjbdns/ip/192.168.1

9. 启动tinydns和dnschace服务
]# systemctl start dnscache
]# systemctl start tinydns

9. 使用host命令测试一下

解析内部域名,正常
[root@pxe servers]# host mysql01.internal 192.168.1.140
Using domain server:
Name: 192.168.1.140
Address: 192.168.1.140#53
Aliases: 

mysql01.internal has address 192.168.1.22

解析外部域名,正常
[root@pxe servers]# host www.sina.com.cn 192.168.1.140 
Using domain server:
Name: 192.168.1.140
Address: 192.168.1.140#53
Aliases: 

www.sina.com.cn is an alias for spool.grid.sinaedge.com.
spool.grid.sinaedge.com has address 123.126.157.222

反向解析内部IP,正常
[root@pxe servers]# host 192.168.1.22 192.168.1.140
Using domain server:
Name: 192.168.1.140
Address: 192.168.1.140#53
Aliases: 

22.1.168.192.in-addr.arpa domain name pointer mysql01.internal.

测试搜索域,正常
[root@pxe servers]# ping mysql01
PING mysql01.internal (192.168.1.22) 56(84) bytes of data.
64 bytes from 192.168.1.22: icmp_seq=1 ttl=64 time=0.302 ms
64 bytes from 192.168.1.22: icmp_seq=2 ttl=64 time=0.345 ms

齐活儿了,打完收工。

参考文档:
https://n40lab.wordpress.com/2013/07/04/installing-ndbjdns-on-centos-6-3/
https://qiita.com/tukiyo3/items/6994ab172b4da359cf93

 

Viewing all articles
Browse latest Browse all 55

Trending Articles