DNSmasq服务搭建
DNSmasq介绍
DNSmasq是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。
它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,
并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,
也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。
因此如果需要快速搭建一个DNS服务或者DHCP服务,那么可以使用此程序来搭建

本文参考 :http://www.360doc.com/content/14/0913/13/8314158_409140713.shtml
下载与安装
官方文档
http://www.thekelleys.org.uk/dnsmasq/doc.html
下载地址
http://www.thekelleys.org.uk/dnsmasq/

下载程序
wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz

yum -y install gcc

tar -xf dnsmasq-2.75.tar.gz
cd dnsmasq-2.75

编译安装dnsmasq
make install

版本查看
dnsmasq -v

其他安装方式
yum -y install dnsmasq
sudo apt-get -y install dnsmasq
配置服务
查看需要监听网卡的IP地址
ifconfig

dnsmasq配置
vim /etc/dnsmasq.conf #下面是需要修改的选项
resolv-file=/etc/resolv.conf strict-order listen-address=192.168.153.128 address=/demon.com/192.168.153.128 server=114.114.114.114 bogus-nxdomain=114.114.114.114
对参数的解释
resolve-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。
strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址。
address 启用泛域名解析,即自定义解析a记录,如下配置为demon.com这个域名:
address=/demon.com/127.0.0.1 #访问demon.com时的所有域名都会被解析成127.0.0.1
bogus-nxdomain 为防止DNS污染,使用参数定义的DNS解析的服务器。注意:如果是阿里云服务器上配置dnsmasq要启用此项。
server 指定dnsmasq程序使用哪个DNS服务器进行解析。 对于不同的网站可以使用不同的域名对应解析如下配置
server=/google.com/8.8.8.8 #表示对于google的服务,使用谷歌的DNS解析。
以上配置完毕后,需要重启dnsmasq服务,重启完毕后局域网中的其他机器,就可以通过该DNS服务器解析公网的域名。
解析测试
启动服务
dnsmasq
修改resolv.conf文件,将服务器地址改为本机地址
vim /etc/resolv.conf

对于reslov.conf的这个文件作用主要有四个关键字:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
举个例子
domain demonxian3.com
search www.demonxian3.com mail.demonxian3.com ftp.demonxian3.com
nameserver 114.114.114.114
nameserver 223.5.5.5
另外:domain和search不能共存;如果同时存在,后面出现的将会被使用。
当程序寻找不到主机域名时,会对 search 后面的参数一一查找主机域名
测试是否解析成功

因为之前配置了 address=/demon.com/192.168.153.128
所以当我们访问www.demon.com时被解析成本机的IP地址

DNSmasq服务搭建的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- ServiceStack.Hello——跨平台.net REST api服务搭建
ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...
- WCFRESTFul服务搭建及实现增删改查
WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格, RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...
- 微信小程序语音识别服务搭建全过程解析(项目开源在github)
silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...
- 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)
silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...
- dnsmasq服务的安装与配置
在ubuntu16.04上安装dnsmasq服务,在本地做泛域名解析 安装 $ apt-get install dnsmasq -y $ /etc/init.d/dnsmasq start 配置 Dn ...
- Git服务搭建及github使用教程
.pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...
- eureka服务搭建
Server端 引入eureka server的maven依赖 引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka ser ...
- NodeJs之服务搭建与数据库连接
NodeJs之服务搭建与数据库连接 一,介绍与需求分析 1.1,介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻 ...
随机推荐
- b.控制结构
1. if/ if... else...与java 相同. 2.while/ do while 用法与java 相同,返回值始终为Unit. 3.for循环终于有自己的风格,如下: // <- ...
- Entity Framework Core 批处理语句
在Entity Framework Core (EF Core)有许多新的功能,最令人期待的功能之一就是批处理语句.那么批处理语句是什么呢?批处理语句意味着它不会为每个插入/更新/删除语句发送单独的请 ...
- (转)Servlet初始化、运行、销毁全部过程
Servlet初始化.运行.销毁全部过程 (2012-07-05 10:41:26) 标签: 杂谈 分类: java基础面试知识 Servlet的生命周期是由servlet的容器来控制的.分为3个阶段 ...
- Phonegap环境配置
最初选择的是使用Phonegap桌面开发工具 Phonegap Desktop-App与 手机客户端调试工具PhoneGap Developer App,这样省事多了,可惜不能使用后续phonegap ...
- Hardcoded string XXX,&…
eclipse布局文件警告:Hardcoded string XXX, should use @string resource
- js prototype 继承
//继承 function inherits(ctor,superCtor){ ctor.super_ = superCtor; ctor.prototype = Object.create(supe ...
- Lettuce_webdriver 自动化测试
这篇文章主要讲解以下几点: 1. Lettuce_webdriver环境搭建 2. lettuce_webdriver自动化实例讲解 一. lettuce_webdriver环境搭建 搭建lettuc ...
- c++ STL 容器——序列
STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据 ...
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(一)设计一套好的RESTful API
写在前面的话 看了一下博客目录,距离上次更新这个系列的博文已经有两个多月,并不是因为不想继续写博客,由于中间这段时间更新了几篇其他系列的文章就暂时停止了,如今已经讲述的差不多,也就继续抽时间更新< ...
- react - 解刨组件的多种写法
一,原始的createClass写法 对于写react组件,很多人第一印象往往是createClass,这是因为createClass是react组件最原始的写法,基本每个学react的人都是接触这种 ...