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。
转载于:https://blog.51cto.com/huangxueqiang/674319