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

总看见有人说修改 hosts,这个是干嘛用的?该 dns 么?

  •  
  •   yazoox · 2018-04-13 19:22:37 +08:00 via Android · 9991 次点击
    这是一个创建于 2418 天前的主题,其中的信息可能已经有所发展或是发生改变。

    改了这个,就可以翻出去了? 好像不行吧 😓

    主要访问国内网站的话,用电信提供的 dns 就够了吧……

    20 条回复    2018-04-14 22:33:38 +08:00
    clouds
        1
    clouds  
       2018-04-13 19:27:51 +08:00 via Android
    针对特定域名指定 IP
    huiyifyj
        2
    huiyifyj  
       2018-04-13 19:30:52 +08:00
    简单说就是有了对应 hosts 的域名,就可以省去 dns 解析这个步骤。
    qianmeng
        3
    qianmeng  
       2018-04-13 19:41:43 +08:00 via iPhone
    hosts 相当于最简单的 dns
    zw
        4
    zw  
       2018-04-13 19:47:08 +08:00
    hosts 当然有用,但远不如 dnscrypt-proxy 那样一劳永逸,得经常自己查找正确的 ip 并修改,因为网站的 ip 段会变动。

    功夫网不可能对所有网站像对付 Google 那样采用多种手段封杀,大多数都只是搞了一下 dns 污染,只要有正确的 dns 解析,就能访问许多被墙网站,比如草妞、tumblr 之类。。。
    yingfengi
        5
    yingfengi  
       2018-04-13 20:39:46 +08:00 via Android
    你百度一下
    Kilerd
        6
    Kilerd  
       2018-04-13 21:27:12 +08:00   ❤️ 4
    既然这样问,我说出来答案你可能也不会懂
    mengzc
        7
    mengzc  
       2018-04-13 21:32:57 +08:00
    hosts 就是你家自己保存的 dns 地址簿,优先级比 DNS 服务器的高,一个域名有多个 IP 地址的时候,DNS 的解析出的地址可能会变化的,而 hosts 中设置后就不使用 dns 服务器解析了。
    Event
        8
    Event  
       2018-04-13 21:34:26 +08:00
    设置 hosts 就是跳过域名解析(不再向 dns 服务器请求)
    而是直接读取本地的 hosts
    strawhat7
        9
    strawhat7  
       2018-04-13 22:10:42 +08:00   ❤️ 5
    我来勉强解答下 host 和 DNS 的关系。
    无论你用的是 linux 还是 windows,你都能看到一个 hosts 文件,这个文件是怎么来的呢?
    早期世界上机器少的时候,就是使用 hosts 来解析机器名和 IP 的关系。后来机器多了,就改用由一个中心服务器维护 hosts 文件,其他机器通过 ftp 或者其他方式将这个 hosts 文件同步到本地,以此来实现各地机器名和 ip 的解析。之后机器更多了,这种方式方式也不适合了(每改一次,要把改动发给中心服务器,其他机器就要去同步更新一次),就开始往分布式演化,之后就变成了今天的 DNS。
    也就是先有 hosts,再有的 DNS。
    系统解析域名的顺序是先读 hosts,看有没有该域名的解析,没有再请求 DNS 解析。
    miaomiao888
        10
    miaomiao888  
       2018-04-13 23:05:36 +08:00
    改了这个,就可以翻出去了

    可以这么说!。。。
    npes87184
        11
    npes87184  
       2018-04-13 23:18:23 +08:00 via Android
    改这个挡广告挺不错的。
    classUsky
        12
    classUsky  
       2018-04-14 09:12:27 +08:00
    @npes87184
    hosts 文件的缺陷就是不能设定成将某个 ip 地址解析到另一个 ip 地址,这就导致了你无法屏蔽那些使用 ip 地址作为广告链接的广告。
    假设这样的广告链接 http://20.2.2.172/ad/aduid=3。它的 host 是 20.2.2.172 ,写成这样:
    127.0.0.1 20.2.2.172

    是没有任何效果的。系统会直接忽略这一行。。。广告屏蔽也就失效了
    falcon05
        13
    falcon05  
       2018-04-14 10:41:51 +08:00 via iPhone
    其实使用 hosts 解析跟使用 dns 解析的优先级是可以调整的,不一定是 hosts 优先于 dns。
    ShareDuck
        14
    ShareDuck  
       2018-04-14 10:58:20 +08:00 via Android
    @falcon05 还有这种操作?
    SmilePad
        15
    SmilePad  
       2018-04-14 11:26:22 +08:00
    属于域名,解析优先级最高的就是 hosts 文件,其次是本地 DNS 缓存
    likuku
        16
    likuku  
       2018-04-14 11:41:59 +08:00
    楼主买本 奥莱里出的 [DNS 与 BIND] 读几遍吧。
    falcon05
        17
    falcon05  
       2018-04-14 12:15:11 +08:00 via iPhone
    @ShareDuck
    有的,在 /etc/nsswitch.conf 这个文件里定义,
    #vi /etc/nsswitch.conf
    hosts: files dns //找到这段,改成下面这样
    hosts: dns files
    这样,你的主机就会先去找 DNS,再去找 hosts 了
    demonjudy
        18
    demonjudy  
       2018-04-14 12:17:20 +08:00
    @classUsky 请问遇到这种使用 ip 地址作为广告链接的情况可以怎么办?
    classUsky
        19
    classUsky  
       2018-04-14 15:53:42 +08:00
    @demonjudy
    可以用防火墙自定义规则:
    https://zhidao.baidu.com/question/552008732.html
    或者浏览器装 ublock,自定义规则一行一个:
    http://chromecj.com/productivity/2017-06/770.html

    爪机就只能装 Firefox,然后扩展商店装 ublock,然后自定义规则。
    rekulas
        20
    rekulas  
       2018-04-14 22:33:38 +08:00
    @demonjudy 可以路由器层拦截 或者电脑端通过软件 /扩展拦截
    当然最好还是把后门干掉 就不会访问它了。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:44 · PVG 04:44 · LAX 12:44 · JFK 15:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.