V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuyanteng2016
V2EX  ›  DNS

一个蛋疼的 DNS 和 HTTP 代理的问题, 高手进!

  •  
  •   wuyanteng2016 · 2016-06-24 09:58:41 +08:00 · 6824 次点击
    这是一个创建于 2883 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网络环境: 路由器: Ros V6.3.1 Server: 1 台 DNS 服务器 -- IP : 10.0.100.10 1 台 HTTP 代理服务器 -- IP : 10.0.100.11 ,代理端口: 3128 有线网络: 10.0.10.0/23 WIFI 网络: 10.0.20.0/23 server 网络: 10.0.100.0/24 有线 /无线网络 /服务器 分别接到 Ros 不同接口,并且访问国内网站一切正常。

    奇葩的现象: 有线网络:台式电脑使用内网 DNS 解析, chrome 配置 HTTP 代理(配置正确), chrome 代理访问网站正常。

      无线网络:
      
      1. 笔记本电脑使用内网 DNS 解析(这一步解析不太正常, DNS 服务器的劫持操作在无线网络环境下失效。直接去查询了上游 DNS 服务器解析,并且没有保留缓存)
      
      2.  chrome 配置 HTTP 代理(配置正确), chrome 代理访问错误。错误代码: ERROR:Gateway  Timeout,并且 Ros 路由器里面 Files 文件管理器中会自动多出来一个 Web-proxy 的文件夹( Ros Web-Proxy 功能未开启)以及 Web Proxy connections 选项内多出 N 条动态数据,源地址都是 wifi 网段 IP ,目的地址基本都是 0.0.0.0 , Last Protocal 协议: UnKnown 或 HTTP/1.1 (图片稍后上传)。
    

    我的问题: 1. 为什么 wifi 网络 DNS 解析不太正常?有线网络为什么可以?

        2. wifi 网络配置了 chrome 浏览器的 HTTP 代理之后,我怎么感觉没有去查找代理服务器,而直奔 Ros 路由器里面的 Web-proxy 去了,路由器的 web 代理我没开啊。
        
        
        
        
        请问怎么解决?感激!
    
    7 条回复    2016-06-24 17:23:49 +08:00
    wuyanteng2016
        1
    wuyanteng2016  
    OP
       2016-06-24 10:10:13 +08:00
    Siril
        2
    Siril  
       2016-06-24 10:37:58 +08:00
    看起来颇为神奇。

    貌似
    问题 1 出在 dns 服务器,
    问题 2 出在 ROS 。

    换版本啥的试试吧。

    对了, 关于 dns ,
    如果你的有线和无线是使用同一台笔记本 windows 测试的,
    网络环境切换的时候,(比如连接 /断开 vpn 之类)
    有时会出现 诡异的 nslookup 与应用程序的域名解析不一致,
    net stop dnscache && net start dnscache && ipconfig /flushdns
    并重新打开浏览器。
    Siril
        3
    Siril  
       2016-06-24 10:38:51 +08:00
    另外,可以改一下 http 代理服务器的端口试试。
    wuyanteng2016
        4
    wuyanteng2016  
    OP
       2016-06-24 10:43:55 +08:00
    wuyanteng2016
        5
    wuyanteng2016  
    OP
       2016-06-24 11:45:11 +08:00
    @Siril

    关于 HTTP 代理测试的时候,一个是台式机,一个是笔记本。 我用 iPhone 6 在 wifi 下设置 HTTP 代理可以正常使用,都是一个 wifi 。怀疑笔记本系统有问题,正在重置。。。

    关于 DNS , wifi 解析存在问题,能说具体点,最有可能的是哪儿的设置问题吗? DNS 软件: dnsmasq
    Siril
        6
    Siril  
       2016-06-24 17:20:17 +08:00
    @wuyanteng2016

    肯定能查到原因的。
    iphone 上也有 nslookup 、 ping 等工具,你自己找一下,记得有免费的。


    先检查 dnsmasq 监听的端口,应有 0.0.0.0:53 。 netstat -anpl | grep :53
    linux 系统有无 firewalld 之类的。 iptables-save
    路由对不对(从 wifi 网络 ping 通 dns 服务器)。

    1. 在 dns 服务器上 tcpdump -i 对应端口 -nn udp and port 53 and src 笔记本的 IP
    在笔记本上 nslookup google.com 10.0.100.10
    观察 dns 服务器是否收到查询请求,是否回应。
    在笔记本上装 wireshark 或 microsoft network monitor 之类抓包观察。

    2. 打开 dnsmasq 的日志。 dnsmasq.conf 中(临时)添加
    log-queries
    log-facility=/var/log/dnsmasq.log
    (调试完毕记得来此注释掉并重启 dnsmasq 并删除此文件,
    否则文件尺寸飞速增长至几十 G )
    然后 systemctl restart dnsmasq ,(一般新的 linux 发行版都这样吧)
    在笔记本上 nslookup 测试, tail 此日志文件观察。

    思路就是检查
    dns 服务器有没有收到查询请求,
    有没有转发给上游 dns 服务器并得到结果(看日志),
    以及结果是否返回给 windows ,

    然后可知问题出在 dns 服务器还是 ROS 。
    Siril
        7
    Siril  
       2016-06-24 17:23:49 +08:00
    如果是 windows ,有时诡异的情况出现就是 nslookup 测试正常, 用浏览器打开新网站,却没有发出 dns 请求。
    此时重启 dnscache 服务、清 dns 缓存、再关闭并重新打开浏览器。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6144 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:57 · PVG 09:57 · LAX 18:57 · JFK 21:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.