系统:centos6.5

公司内部需求一台dns server,解析内部域名(该域名不需要在公网上解析)

安装了"bind bind-utils"包,配置里设置转发到外部电信dns,dhcp服务设置分发dns服务为该服务器。然后解析内部很通畅,但是到外部(如百度,163,新浪)等网站很慢。

不知道是不是配置有问题,找不出。

所以就使用dnsmasq试试。

下面是安装操作步骤

===================

1,yum 安装

1
yum install dnsmasq -y

或者源码安装

1
2
3
cd /tmp && wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.71.tar.gz
tar -zxvf dnsmasq-2.71.tar.gz && cd dnsmasq-2.71
make install
1
2
cp dnsmasq.conf.example /etc/dnsmasq.conf
mkdir -p /etc/dnsmasq.d #这个目录备用

2,dnsmasq配置

1
2
3
4
5
6
#主要有三个文件:
#/etc/dnsmasq.conf
#/etc/dnsmasq.d/resolv.dnsmasq.conf
#/etc/dnsmasq.d/dnsmasq.hosts 
 
#第一个是系统默认必须的,后面两个可以自行建立,放置的路径也可以根据自己需要定义。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vi /etc/dnsmasq.conf
#ITGeeker每次开启都提示错误,目的是让dnsmasq读取目录内所有配置文件
#conf-dir=/etc/dnsmasq.d
#让dnsmasq读取你设定的resolv-file
#no-resolv
resolv-file=/etc/dnsmasq.d/resolv.dnsmasq.conf
no-poll
strict-order
#不读取系统hosts,读取你设定的
no-hosts
addn-hosts=/etc/dnsmasq.d/dnsmasq.hosts
#dnsmasq日志设置
log-queries
log-facility=/var/log/dnsmasq.log
#dnsmasq缓存设置
cache-size=1024
#单设置127只为本机使用,加入本机IP为内部全网使用
listen-address=127.0.0.1,10.19.21.249

#在/etc/dnsmasq.d目录下新建2个文件

1
2
3
4
5
6
7
8
9
vi /etc/dnsmasq.d/resolv.dnsmasq.conf
#nameserver 127.0.0.1 不应该添加
nameserver 202.96.209.5
nameserver 202.96.209.133
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 114.114.114.114
nameserver 8.8.4.4
#nameserver 8.8.8.8
1
2
vi /etc/dnsmasq.d/dnsmasq.hosts
10.19.21.249 aop.baim.com

3,启动服务

1
2
3
4
5
6
7
/etc/init.d/dnsmasq start
chkconfig dnsmasq on
#如果是源码编译安装的
启动: /usr/local/sbin/dnsmasq
验证:netstat -tunlp|grep 53
关闭:killall -KILL dnsmasq
重启: pkill -9 dnsmasp && /usr/local/sbin/dnsmasq -h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#服务启动脚本
vi /etc/init.d/dnsmasq
#!/bin/sh
#
# Startup script for the <span class='wp_keywordlink_affiliate'><a href="http://itgeeker.net/tag/dns/" title="View all posts in DNS" target="_blank">DNS</a></span> caching server
#
# chkconfig: - 49 50
# description: This script starts your DNS caching server
# processname: dnsmasq
# pidfile: /var/run/dnsmasq
# Source function library.
/etc/rc.d/init.d/functions
# Source networking configuration.
/etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
dnsmasq=/usr/local/sbin/dnsmasq
[ -f $dnsmasq ] || exit 0
RETVAL=0
# See how we were called.
case "$1" in
start)
if [ $UID -ne 0 ] ; then
echo "User has insufficient privilege."
exit 4
fi
echo -n "Starting dnsmasq: "
daemon $dnsmasq $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dnsmasq
;;
stop)
if test "x`pidof dnsmasq`" != x; then
echo -n "Shutting down dnsmasq: "
killproc dnsmasq
fi
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dnsmasq /var/run/dnsmasq.pid
;;
status)
status dnsmasq
RETVAL=$?
;;
reload)
echo -n "Reloading dnsmasq: "
killproc dnsmasq -HUP
RETVAL=$?
echo
;;
force-reload)
# new configuration takes effect only after restart
$0 stop
$0 start
RETVAL=$?
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
condrestart)
if test "x`/sbin/pidof dnsmasq`" != x; then
$0 stop
$0 start
RETVAL=$?
fi
;;
*)
echo "Usage: $0 {start|stop|restart|reload|condrestart|status}"
exit 2
esac
exit $RETVAL
1
2
3
4
5
6
#如果你是本地编辑上传的,提示找不到文件记得
set ff=unix
#再赋予执行的权限
chmod +x /etc/init.d/dnsmasq
/etc/init.d/dnsmasq start
chkconfig dnsmasq on

注:完成后需要在DHCP服务端设置DNS服务器地址,然后客户端会自动获取到该DNS地址。需要重客户端本地网络。

查看本地dns,是否能够获取地址。

然后访问域名,是否能够解析。

本文出自 “charlie_cen” 博客,请务必保留此出处http://charlie928.blog.51cto.com/3741218/1671914

参考文章:http://charlie928.blog.51cto.com/3741218/1671914

搭建dnsmasq服务器,局域网内部解析的更多相关文章

  1. 本地搭建SVN服务器 局域网

    http://blog.csdn.net/sunbaigui/article/details/8466310

  2. 不搭建git服务器对git仓库进行局域网内共享多人合作开发项目

    有时候在一个临时局域网内没有搭建git服务器,但是又想多人开发一个项目,此时只要每个人电脑安装有git客户端,参考一下方法即可尝试建一个本地化的远程仓库进行多人开发工作. 远程仓库通常只是一个裸仓库( ...

  3. [转]实用教程:搭建FTP服务器以实现局域网飞速传输文件

    原文地址:https://www.ithome.com/html/win10/304059.htm 相信很多人都面临过这样的问题:一个局域网下有很多设备,我们想在这些设备之间互传文件,有些文件非常大, ...

  4. Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  5. Python一秒搭建ftp服务器,帮助你在局域网共享文件

    "老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...

  6. 搭建Minisipserve服务器实现局域网内IOS客户端idoubs的通信

    idoubs是IOS设备开发的第一款全功能并开放源码的3GPP IMS客户端,它同时专为IOS平台开发设计的voIP测试版客户端,以doubango为框架,能实现当前最先进的多媒体功能,主要功能有:语 ...

  7. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

  8. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

  9. 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃

    一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...

随机推荐

  1. OpenCV鼠标滑轮事件

    鼠标的滑轮事件实现图像的缩放很方便,具体在回调函数中如下写: 其中scale可以在外部定义为全局变量,通过响应CV_EVENT_MOUSEWHEEL滑轮事件获取Scale的具体值. 获取Scale值需 ...

  2. 【开发技术】一些常用的网站[ios]

    http://www.cocoachina.com/   苹果开发中文网站 http://blog.csdn.net/totogo2010  容芳志的IOS专栏 http://code4app.com ...

  3. jquery 循环获取checkBox的值,以及对复选框选中,取消,操作按钮

    法一:jquery 循环获取选中checkBox框的值 function checkeds() { $("input:checkbox").each(function(index) ...

  4. Jquery实现两级联动

    最后结果如下: 关键代码如下: <select name="customerCondition['credibilityBegin']" id="credibili ...

  5. 顺序一致性内存模型与JMM的“顺序一致性”

    顺序一致性内存模型是一个被计算机科学家理想化了的理论参考模型,它为程序员提供了极强的内存可见性保证.顺序一致性内存模型有两大特性.1)一个线程中的所有操作必须按照程序的顺序来执行.2)(不管程序是否同 ...

  6. selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传

    AutoIt使用简单说明 AutoIt的安装这里就不在啰嗦,可以参考AutoIt安装或者自行搜索解决. 第一步:定位上传文件路径的文本框 这里举例说明,如何定位?如图 这里我们看到上传文件的类型是bu ...

  7. [Python]Conda 介绍及常用命令

    一.介绍 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算.数据分析的 Python 包.其使用conda系统进行 ...

  8. 如何为form表单的button设置submit事件

    若button按钮没有type属性,浏览器默认按照type=submit逻辑处理,这样若将没有type的button放在form表单中,点击按钮就会执行form表单提交

  9. nodejs爬虫笔记(一)---request与cheerio等模块的应用

    目标:爬取慕课网里面一个教程的视频信息,并将其存入mysql数据库.以http://www.imooc.com/learn/857为例. 一.工具 1.安装nodejs:(操作系统环境:WiN 7 6 ...

  10. JS小练习1

    要求: 一.定义"改变颜色"的函数 二.定义"改变宽高"的函数 三.定义"隐藏内容"的函数 四.定义"显示内容"的函数 ...