V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
yazoox
V2EX  ›  DNS

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

  •  
  •   yazoox · Apr 13, 2018 via Android · 10920 views
    This topic created in 2947 days ago, the information mentioned may be changed or developed.

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

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

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

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

    可以这么说!。。。
    npes87184
        11
    npes87184  
       Apr 13, 2018 via Android
    改这个挡广告挺不错的。
    classUsky
        12
    classUsky  
       Apr 14, 2018
    @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

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

    爪机就只能装 Firefox,然后扩展商店装 ublock,然后自定义规则。
    rekulas
        20
    rekulas  
       Apr 14, 2018
    @demonjudy 可以路由器层拦截 或者电脑端通过软件 /扩展拦截
    当然最好还是把后门干掉 就不会访问它了。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   967 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 21:18 · PVG 05:18 · LAX 14:18 · JFK 17:18
    ♥ Do have faith in what you're doing.