当前位置: 首页 > news >正文

使用 Unbound 创建DNS服务器

1 Installing Unbound

下载、安装unbound;

wget http://www.unbound.net/downloads/unbound-latest.tar.gz

tar xvfz unbound-latest.tar.gz

cd unbound-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">1.0.2</chsdate>/

./configure --prefix=/usr/local

make
make install

# 添加 unbound 运行用户组和用户

groupadd unbound

useradd -d /var/unbound -m -g unbound -s /bin/false unbound

mkdir -p /var/unbound/var/run
chown -R unbound:unbound /var/unbound
ln -s /var/unbound/var/run/unbound.pid /var/run/unbound.pid

下载root nameserver.

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

cd /var/unbound
wget ftp://ftp.internic.net/domain/named.cache

注: root nameserver 记录了各 Top domain 分别是由哪些 DNS server 负责. 比如说要找 www.google.com , root nameserver 会告诉 local DNS server 哪部 name server 负责 .com 这个 domain, 然后 local dns 再向负责 .com name server 询问关于 google.com 是哪部 name server 在负责. 最后 local DNS 就可以向负责 google.com name server 问到有关 www. google.com 的资料.

2 Configuring Unbound

创建/var/unbound/unbound.conf. 也可以在unbound 源代码下的doc目录中找到一个example.conf. 同样可以访问 http://www.unbound.net/documentation/unbound.conf.html查看帮助信息.

下面添加一个"sip.com"的 zone作为示例配置文件

vi /var/unbound/unbound.conf

server:
verbosity: 1
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
do-daemonize: yes
access-control: 0.0.0.0/0 allow
#access-control: 0.0.0.0/0 refuse
#access-control: 127.0.0.0/8 allow
chroot: "/var/unbound"
username: "unbound"
directory: "/var/unbound"
use-syslog: no
pidfile: "/var/run/unbound.pid"
root-hints: "/var/unbound/named.cache"
local-zone: "sip.com." static
local-data: "sip.com. 86400 IN SOA primary.sip.com kzy.sip.com. 200809031843 28800 7200 604800 86400"
local-data: "sip.com. 86400 IN NS primary.sip.com."
local-data: "sip.com. 86400 IN NS secondary.sip.com."
local-data: "primary.sip.com. 86400 IN A 192.168.1.7"
local-data: "secondary.sip.com. 86400 IN A 192.168.1.8"
local-data: "
www.sip.com. 86400 IN A 192.168.1.9"
local-data: "
ftp.sip.com. 86400 IN A 192.168.1.10"

这里添加了4个域名:

primary.sip.com

secondary.sip.com

www.sip.com

ftp.sip.com

都是IPv4 地址. 可以看出unbound 的zone config 与bind的zone file 实际上差不多,只是没有bind那么简化而已.使用unbound-checkconf 检查配置文件是否有错误:

cd /usr/local/sbin/

./unbound-checkconf unbound.conf
unbound-checkconf: no errors in unbound.conf


运行unbound,这里以debug模式运行:

cd /usr/local/sbin/

./unbound -d -c /var/unbound/unbound.conf -vvvv

......

测试unbound:

echo "nameserver 127.0.0.1" > /etc/resolv.conf

dig primary.sip.com

; <<>> DiG 9.5.0b2 <<>> primary.sip.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18034
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;primary.sip.com. IN A

;; ANSWER SECTION:
primary.sip.com. 86400 IN A 192.168.1.7

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Sep 3 20:03:03 2008
;; MSG SIZE rcvd: 49

dig secondary.sip.com

; <<>> DiG 9.5.0b2 <<>> secondary.sip.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25490
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;secondary.sip.com. IN A

;; ANSWER SECTION:
secondary.sip.com. 86400 IN A 192.168.1.8

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Sep 3 20:03:03 2008
;; MSG SIZE rcvd: 51


dig www.sip.com

; <<>> DiG 9.5.0b2 <<>> www.sip.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30835
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.sip.com. IN A

;; ANSWER SECTION:
www.sip.com. 86400 IN A 192.168.1.9

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Sep 3 20:03:03 2008
;; MSG SIZE rcvd: 45


dig ftp.sip.com

; <<>> DiG 9.5.0b2 <<>> ftp.sip.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19037
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ftp.sip.com. IN A

;; ANSWER SECTION:
ftp.sip.com. 86400 IN A 192.168.1.10

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Sep 3 20:03:03 2008
;; MSG SIZE rcvd: 45

所有测试正常,unbound运行正常!可以添加一个脚本到/etc/init.d/,使用unbound作为system service启动!

3 Links

  • Unbound: http://www.unbound.net/index.html
  • Debian: http://www.debian.org

相关文章:

  • 最优奇异值硬阈值 SVHD
  • FTP服务器关于断点续传权限的防范问题
  • HAMILTONIAN SYSTEMS AND TRANSFORMATIONS IN HILBERT SPACE (KOOPMAN, 1931)
  • 使用Bind配置DNS Load Balancing
  • Koopman 算子理论参考文献
  • 计算一阶导数的四阶中心差分格式
  • Hankel alternative view of Koopman (HAVOK) analysis
  • SharePoint列表导入/导出命令
  • 奇怪吸引子图鉴
  • 百度网盘提速
  • 全球十大交响乐团
  • Stacked Broad Learning System: From Incremental Flatted Structure to Deep Model
  • 深入了解TOMCAT SERVER
  • linux 笔记
  • 移植MiniGUI到S3C2410目标板
  • php的引用
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java知识点总结(JavaIO-打印流)
  • JS 面试题总结
  • JS字符串转数字方法总结
  • Leetcode 27 Remove Element
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • October CMS - 快速入门 9 Images And Galleries
  • Python - 闭包Closure
  • SOFAMosn配置模型
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • V4L2视频输入框架概述
  • 对超线程几个不同角度的解释
  • 观察者模式实现非直接耦合
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 为什么要用IPython/Jupyter?
  • 物联网链路协议
  • 新手搭建网站的主要流程
  • MPAndroidChart 教程:Y轴 YAxis
  • 仓管云——企业云erp功能有哪些?
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $L^p$ 调和函数恒为零
  • (+4)2.2UML建模图
  • (3)nginx 配置(nginx.conf)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (独孤九剑)--文件系统
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (三)docker:Dockerfile构建容器运行jar包
  • (转)3D模板阴影原理
  • (转)iOS字体
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • ******之网络***——物理***
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .sdf和.msp文件读取