博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DNS劫持DNSmasq详细解析及详细配置
阅读量:7212 次
发布时间:2019-06-29

本文共 1855 字,大约阅读时间需要 6 分钟。

hot3.png

常用于测试使用,安装环境为MacOS

一、Dnsmasq介绍

 提供 DNS 缓存和 DHCP 服务功能。作为服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器, 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个  服务器。

二、Dnsmasq的主要作用

    1)将Dnsmasq作为本地DNS服务器使用,直接修改电脑的本地DNS的IP地址即可。

    2)应对ISP的DNS劫持(反DNS劫持),输入一个不存在的域名,正常的情况下浏览器是显示无法连接,DNS劫持会跳转到一个广告页面。先随便nslookup 一个不存在的域名,看看ISP商劫持的IP地址。

    3)智能DNS加快解析速度,打开/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如国内外不同的网站使用不同的DNS。

国内指定DNS

server=/cn/114.114.114.114server=/taobao.com/114.114.114.114server=/taobaocdn.com/114.114.114.114

国外指定DNS

server=/google.com/8.8.8.8

三、dnsmasq解析流程

dnsmasq先去解析hosts文件, 再去解析/etc/dnsmasq.d/下的*.conf文件,并且这些文件的优先级要高于dnsmasq.conf,我们自定义的resolv.dnsmasq.conf中的DNS也被称为上游DNS,这是最后去查询解析的;

如果不想用hosts文件做解析,我们可以在/etc/dnsmasq.conf中加入no-hosts这条语句,这样的话就直接查询上游DNS了,如果我们不想做上游查询,就是不想做正常的解析,我们可以加入no-reslov这条语句。

四、dnsmasq配置参数及说明

1)dnsmasq经常修改的比较重要参数说明

具体参数

参数说明

resolv-file

定义dnsmasq从哪里获取上游DNS服务器的地址, 默认从/etc/resolv.conf获取。

strict-order

表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。

listen-address

定义dnsmasq监听的地址,默认是监控本机的所有网卡上。

address

启用泛域名解析,即自定义解析a记录,例如:address=/long.com/192.168.115.10 访问long.com时的所有域名都会被解析成192.168.115.10

bogus-nxdomain

对于任何被解析到此 IP 的域名,将响应 NXDOMAIN 使其解析失效,可以多次指定 通常用于对于访问不存在的域名,禁止其跳转到运营商的广告站点

server

指定使用哪个DNS服务器进行解析,对于不同的网站可以使用不同的域名对应解析。 例如:server=/google.com/8.8.8.8    #表示对于google的服务,使用谷歌的DNS解析。

2)查看配置文件语法是否正确,可执行下列命令

dnsmasq -test显示:dnsmasq: syntax check OK.

3)DNS 缓存设置

要在单台电脑上以守护进程方式启动dnsmasq做DNS缓存服务器,编辑/etc/dnsmasq.conf,添加监听地址:

listen-address=127.0.0.1

如果用此主机为局域网提供默认 DNS,请用为该主机绑定固定 IP 地址,设置:

listen-address=192.168.x.x

这种情况建议配置静态IP

多个ip地址设置:

listen-address=127.0.0.1,192.168.x.x

4)启动守护进程

设置为开机启动:

systemctl enable dnsmasq

立即启动 dnsmashq:

systemctl start dnsnsmasq

需要重启网络服务以使 DHCP 客户端重建一个新的 /etc/resolv.conf

查看dnsmasq是否启动正常,查看系统日志:

    journalctl -u d

 

 

转载于:https://my.oschina.net/u/3625745/blog/3037149

你可能感兴趣的文章
[每日一题] OCP1z0-047 :2013-08-26 TIMESTAMP WITH LOCAL TIME ZONE....................112
查看>>
pop3
查看>>
stm32 IAP + APP ==>双剑合一
查看>>
使用SqlBulkCopy类实现导入excel表格
查看>>
一个异常org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder:的解决...
查看>>
一个CSV文件解析类
查看>>
fmri当前相关软件工具整理
查看>>
php 文件下载
查看>>
Infor SyteLine如何快速锁定用户
查看>>
C++ I/O
查看>>
(hdu step 6.3.1)Strategic Game(求用最少顶点数把全部边都覆盖,使用的是邻接表)
查看>>
1.内存
查看>>
在WPF中使用WinForm控件方法
查看>>
Linux Kernel 3.0.50/3.2.33/3.4.17/3.6.5
查看>>
在Oracle中查询存储过程和函数
查看>>
关于对象序列化json 说说
查看>>
设置div滚动条
查看>>
git常用命令
查看>>
邁向IT專家成功之路的三十則鐵律 鐵律十三:IT人理財之道-知足
查看>>
SpringMVC请求处理流程
查看>>