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

如何搭建一个“纯净“的 DNS 服务器?

  •  
  •   tvvocold · 2014-11-06 22:00:13 +08:00 · 20586 次点击
    这是一个创建于 3670 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手头有一台新加坡的主机,按照http://blog.cnwyhx.com/centos-linux-dnsmasq-install-dns/ 安装好dnsmasq,但是只能在内网使用,求将其转为开放式dns服务器的方法。
    第 1 条附言  ·  2014-11-07 09:15:20 +08:00
    目前已经在新加坡的主机上搭建好dnsmasq,现在我想做成半开放式的(比如114,但仅作为朋友圈使用的),求操作方法?
    17 条回复    2014-11-08 12:02:03 +08:00
    nealfeng
        1
    nealfeng  
       2014-11-06 22:04:41 +08:00
    把dnsmasq绑定到所有ip,0.0.0.0,估计就可以了,只是有可能在人多时扛不住。
    jacy
        2
    jacy  
       2014-11-06 22:15:17 +08:00
    dnsmasq可以外网使用的啊,我就是用的这个
    如果要纯净,国外的53端口dns请求一律被污染了,你需要换端口或者用国内vps
    phoenixlzx
        3
    phoenixlzx  
       2014-11-06 22:42:16 +08:00
    9hills
        4
    9hills  
       2014-11-06 22:59:16 +08:00
    问题是你放到墙外的DNS,过墙的时候就会被凌辱啊。。干净需要放到墙内
    shanks
        5
    shanks  
       2014-11-07 00:05:24 +08:00
    这不是起个bind的事情么。。
    waltcow
        6
    waltcow  
       2014-11-07 08:39:52 +08:00
    装个dnsmasq,不过端口要换成非53端口
    dnsmasq -p 5353
    tvvocold
        7
    tvvocold  
    OP
       2014-11-07 08:54:08 +08:00
    @phoenixlzx 外网能用?127.0.0.1?
    liuchen9586
        8
    liuchen9586  
       2014-11-07 09:54:14 +08:00
    给外网用,绑定0.0.0.0这个IP就行了。

    如果想做个无污染的,请把DNS迁移回国内,然后把国内的VPS和国外的VPS加密隧道连起来,国内的DNS上游服务器设置成OpenDNS或者Google DNS,然后添加几条路由,指定DNS查询流量走加密隧道。

    这样就是一个无污染DNS了。能解决一部分只是受DNS pollution影响的网站的访问。

    国内的VPS可以用疼讯云,我就是这么做的。
    ahu
        9
    ahu  
       2014-11-07 09:58:18 +08:00
    @liuchen9586 求教程

    另:能解决一部分只是受DNS pollution影响的网站的访问 ——这意思是说绝大部分被Q的还是不行是吧。话说哪些站是被DNS pollution的呢
    liuchen9586
        10
    liuchen9586  
       2014-11-07 11:43:51 +08:00   ❤️ 1
    @ahu 用GRE over IPsec做一个点对点的VPN隧道。解决加密的问题。
    然后把DNSmasq的上游DNS设置成8.8.8.8
    在国内服务器上写一条路由
    route add -net 8.8.0.0/16 gw [对端VPS的隧道地址]
    就能把DNS请求经过加密隧道传输到国外了,返回国内的地址是无污染的。
    注意国外的VPS要在iptables上写一条规则,转发隧道内数据。

    解决只是受DNS pollution访问的网站,比如github gist,duckduckgo,微软onedrive等。这些网站是只污染了DNS结果,IP并没有被封锁。只要能得到正确的IP就能无阻访问。很多站都是只污染了结果而没封锁IP的。

    而twitter youtube facebook这些都是IP封锁了,就算得到正确结果也不行……数据在边界路由器就被扔到黑洞里面了。
    phoenixlzx
        11
    phoenixlzx  
       2014-11-07 12:45:29 +08:00
    和我的差不多,不过我用的是 anyconnect
    tvvocold
        12
    tvvocold  
    OP
       2014-11-07 15:19:48 +08:00
    tvvocold
        13
    tvvocold  
    OP
       2014-11-07 15:28:06 +08:00
    @liuchen9586 绑定0.0.0.0,也只能是主机所在的局域网用吧?有没有简单点的方法?
    phoenixlzx
        14
    phoenixlzx  
       2014-11-07 15:47:17 +08:00
    .... 可以给内网用当然也可以给外网用啊,绑到公网 IP 上就完了。
    虽然你得把安全策略做好不然很容易遭攻击
    tvvocold
        15
    tvvocold  
    OP
       2014-11-07 16:26:39 +08:00
    @phoenixlzx 怎么绑?先改成0.0.0.0?求细节
    liuchen9586
        16
    liuchen9586  
       2014-11-08 04:20:06 +08:00
    @tvvocold 相信我,绑定0.0.0.0,内网外网机器都能用。
    0.0.0.0就是所有主机的意思,也就是监听所有IP来的请求,无论内网外网
    tvvocold
        17
    tvvocold  
    OP
       2014-11-08 12:02:03 +08:00
    @liuchen9586 en,具体用什么命令呢?
    谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2174 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:19 · PVG 09:19 · LAX 17:19 · JFK 20:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.