首页 运维 网络学院 查看内容

linux下的dns代理

2011-9-29 22:37 672 0

摘要:   最近在给客户修改软件的时候涉及到了DNS重定向的问题,于是研究了一下broadcom方案DSL ROUTER的DNS,并在opensuSE实现了DNS处理。  一、介绍  1、 broadcom方...
关键词: DNS DNSmasq ROUTER 配置 域名 hosts etc 缓存 处理 文件

  最近在给客户修改软件的时候涉及到了DNS重定向的问题,于是研究了一下broadcom方案DSL ROUTER的DNS,并在opensuSE实现了DNS处理。  一、介绍  1、 broadcom方案DSL ROUTER 是DNSmasq实现DNS代理的。DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务。  它可以提供如下几个实用的功能:  1 提供dns服务  2 优先使用本地自定义dns  3 提供dhcp服务(本DSL ROUTER没有使用到)  2、dns 代理原理:如以下网络拓扑图:  2.1 给PC输入域名,如给PC浏览器输入域名,产生DNS请求。  2.2 如果PC的DNS 服务器IP是ROUTER 的IP,并且ROUTER支持DNS 代理并开启,那么PC产生的DNS请求会发送给ROUTER.ROUTER的处理进程会该请求。  2.3 ROUTER的处理进程首先查询自身的缓存/etc/hosts文件是否有该域名的IP,如果有则回复DNS。如果没有根据/etc/resolv.conf的配置把该DNS请求转发到上一级DNS SERVER ,由上一级DNS SERVER 处理。  二、安装  1、在vmware中的opensue10.3下安装  下载: http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.52.tar.gz  解压: tar -xzf  dnsmasq-2.52.tar.gz  编译安装:cd  dnsmasq-2.52  make install  2、配置  默认配置下,dnsmasq使用系统的/etc/resolv.conf并读取/etc/hosts,  /etc/resolv.conf文件是用来配置上一级DNS  /etc/hosts文件是用来存储dns代理缓存。  dnsmasq可以用hosts文件来设置域名:  例:test.sudone.com是不存在的域名,我在dnsmasq中指向到一个ip里:  echo "64.233.189.99 test.sudone.com" > /etc/hosts  或者直接vi /etc/hosts来添加ip  改完要重启: pkill -9 dnsmasp  && /usr/local/sbin/dnsmasq -h  配置好网络,也就是确保opensue10.3与windows 能够ping通,在配置windows的DNS 服务器是填入opensue10.3的IP.  3、实践  在windows运行 命令行 cmd.exe,清除dns缓存:arp -d  在浏览器输入域名:www.baidu.com  通过wireshark抓数据包可以看到www.baidu.com 的dns请求返回的IP是64.233.189.99
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部