搭建dnsmasq服务器,局域网内部解析
系统: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服务器,局域网内部解析的更多相关文章
- 本地搭建SVN服务器 局域网
http://blog.csdn.net/sunbaigui/article/details/8466310
- 不搭建git服务器对git仓库进行局域网内共享多人合作开发项目
有时候在一个临时局域网内没有搭建git服务器,但是又想多人开发一个项目,此时只要每个人电脑安装有git客户端,参考一下方法即可尝试建一个本地化的远程仓库进行多人开发工作. 远程仓库通常只是一个裸仓库( ...
- [转]实用教程:搭建FTP服务器以实现局域网飞速传输文件
原文地址:https://www.ithome.com/html/win10/304059.htm 相信很多人都面临过这样的问题:一个局域网下有很多设备,我们想在这些设备之间互传文件,有些文件非常大, ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python一秒搭建ftp服务器,帮助你在局域网共享文件
"老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...
- 搭建Minisipserve服务器实现局域网内IOS客户端idoubs的通信
idoubs是IOS设备开发的第一款全功能并开放源码的3GPP IMS客户端,它同时专为IOS平台开发设计的voIP测试版客户端,以doubango为框架,能实现当前最先进的多媒体功能,主要功能有:语 ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- 自己家里搭建NAS服务器有什么好方案?
转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...
- 绕过校园网的共享限制 win10搭建VPN服务器实现--从入门到放弃
一.开篇立论= =.. 上次说到博主在电脑上搭建了代理服务器来绕过天翼客户端的共享限制,然而经过实际测试还不够完美,所以本着生命不息,折腾不止的精神,我又开始研究搭建vpn服务器= =... (上次的 ...
随机推荐
- 邓_thinkphp口试
描述php框架开发 通过提供一个开发Web程序的基本架构,PHP开发框架把PHPWeb程序开发摆到了流水线上.换句话说,PHP开发框架有助于促进快速软件开发(RAD),这节约了你的时间,有助于创建更为 ...
- Anaconda入门教程
Anaconda入门教程 [TOC] Anaconda是什么 Anaconda附带了 conda.Python 和 150 多个科学包及其依赖项.应用程序 conda 是包和环境管理器.Anacond ...
- iris数据集 决策树实现分类并画出决策树
# coding=utf-8 import pandas as pd from sklearn.model_selection import train_test_split from sklearn ...
- kafka学习
kafka名词解释和工作方式: Producer :消息生产者,就是向kafka broker发消息的客户端. Consumer :消息消费者,向kafka broker取消息的客户端 Topic : ...
- linux_目录结构
目录的作用是什么? 1. 归档和分类 2. 区分同名文件 什么是FHS? 目录层次标准,linux目录规范标准 linux系统目录有哪些特点? 1. 逻辑上所有目录都在 / 目录下,根目录是所有目录的 ...
- 解决publish不编译问题
突然发现上午写的博客没了,是我没保存吗?再写一遍 eclipse下将项目部署到tomcat,run之后页面访问出现404,看日志没异常,但出现了No mapping found for HTTP re ...
- Linux exec与文件描述符
看到好几篇文章讲述exec都是一知半解,所以我尽量说的清楚明白一些.本文首先讲述Linux文件描述符,然后是exec,最后举例说明exec I/O重定向及其用法. 概念:exec命令用于调用并执行指令 ...
- linkin大话设计模式--单例模式
linkin大话设计模式 开文前先弱弱的问一句:什么是设计模式?我在研究java2ee的时候有研究过,在学js的时候也有看到.设计模式的概念最早源于建筑设计大师<建筑的永恒算法>一书,它表 ...
- JSP -java service pages
jsp的运行机制: 1客户端(请求jsp页面)------->JSP页面(转换为java源文件)------->Selvet文件(.java) (编译成相应的字节码文件也就是后缀名是.cl ...
- 《CSS动画实用技巧》课程笔记
概述 这是我学习[CSS动画实用技巧][1]的课程笔记 常用动画属性--transition [常用动画属性--transition][2] .change img{ display:block; w ...