在 hosts 文件里设置主机名和 IP 地址,与在 dns server 设置域名和 A 记录,二者有什么不一样? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    DNS

在 hosts 文件里设置主机名和 IP 地址,与在 dns server 设置域名和 A 记录,二者有什么不一样?

  •  1
     
  •   Devin 2017-12-19 11:16:31 +08:00 5825 次点击
    这是一个创建于 2935 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如说在自己电脑 host 如下:
    202.xxx.xxx.xxx examplehost

    在 dns server 设置 A 记录如下:
    examplehost IN A 202.xxx.xxx.xxx

    如果只设置后者,则在本机 ping 不通,但是 dig 可以出来正确结果,请问二者有什么不一样?

    第 1 条附言    2017-12-19 13:16:45 +08:00

    换个问法好了:

    dns server在局域网内的PC1架设,自己的电脑PC2把dns设置改为PC1的IP

    如果A记录是这样的

    examplehost.com IN A 123.123.123.123

    则PC2直接ping examplehost.com 会显示IP地址123.123.123.123

    -----------------------------------------------------------------------------------------------------------

    如果A记录改成这样

    examplehostA IN A 123.123.123.123

    则PC2直接ping examplehost 不会显示IP地址,会提示Ping request could not find host testabc. Please check the name and try again.

    -----------------------------------------------------------------------------------------------------------

    但是在PC2的hosts文件添加

    123.123.123.123 examplehost

    PC2直接ping examplehost 会显示IP地址123.123.123.123

    第 2 条附言    2017-12-19 14:09:03 +08:00
    第 3 条附言    2017-12-19 14:22:32 +08:00
    https://superuser.com/questions/134057/can-ping-ip-address-and-nslookup-hostname-but-cannot-ping-hostname-temporarily-i

    这个应该是答案了

    When you use this command:

    ping icecream

    It uses WINS server since you have used icecream not icecream.my.domain.
    16 条回复    2017-12-19 14:39:19 +08:00
    b821025551b
        1
    b821025551b  
       2017-12-19 11:23:20 +08:00
    ping 是会先查找本地 host 的,但是走的 ICMP 协议,所以有时候目标服务器防火墙禁掉就 ping 不通了。
    7DLNU56W
        2
    7DLNU56W  
       2017-12-19 11:28:08 +08:00
    hosts 属于缓存,系统会优先通过 hosts 解析的,这里面查不到才会提交给递归服务器。
    nullcoder
        3
    nullcoder  
       2017-12-19 11:30:54 +08:00
    不光是 ping,本地有 host 先按 host 连
    ping 不通可能是 ICMP 被服务器禁掉的原因,你设 Host 之后能 ping 通了?
    dig 是什么?会不会有 DNS 生效时间的问题?
    Mutoo
        4
    Mutoo  
       2017-12-19 11:50:02 +08:00
    hosts 是在互联网初期还没有 DNS 的时候使用的域名 /IP 映射文件,后来随着互联网壮大,以文件方式管理太麻烦了,所以产生了 DNS 服务。但是 hosts 依然被保留使用,且优先级比 DNS 高。
    Devin
        5
    Devin  
    OP
       2017-12-19 12:02:01 +08:00
    @b821025551b ping 主机名的时候一般会显示 IP 地址,但是这里提示 Ping request could not find host testabc. Please check the name and try again.

    @nullcoder 是的这添加 hosts 后可以 ping 通,dig 是命令

    我把主机名改成这样形式的 examplehost.com ,ping 的时候会显示 IP 地址,原本这种形式的 examplehost 不行,奇怪
    Devin
        6
    Devin  
    OP
       2017-12-19 12:03:37 +08:00
    @Devin 这里修改的是 dns server 的 A 记录
    Devin
        7
    Devin  
    OP
       2017-12-19 12:27:11 +08:00
    貌似写成 examplehost 形式的话,不会通过 dns server 解析
    局域网内同网段的主机名不会通过 dns server 解析,类似 localhost 也不会通过 dns server 解析
    0TSH60F7J2rVkg8t
        8
    0TSH60F7J2rVkg8t  
       2017-12-19 12:30:02 +08:00
    假如你每天要拿起办公桌上的电话,打 10020 问一下当天的天气。

    那么

    hosts 就是 ,你办公桌旁边有张纸条,写了“今天晴天”。

    dig 就是你拿起话筒,转拨号盘,打 10020 看看通了没。
    957204459
        9
    957204459  
       2017-12-19 12:38:30 +08:00 via iPhone
    差不多吧
    kknd22
        10
    kknd22  
       2017-12-19 12:43:03 +08:00
    DNS 解析过程,可以搜一下,网上有,大概步骤
    1 )先检查是不是本机
    2 )检查浏览器缓存
    3 )检查 DNS 缓存
    4 )检查 hosts
    5 )向主 DNS 服务器发起请求
    6 )主 DNS 无响应则向副 DNS 服务器,如主 DNS 有响应则跳过该步骤
    7 )两 DNS 服务器都不响应则检查 NETBIOS 缓存
    8 ) WINS 服务器解析
    9 )局域网广播
    10 ) LMHOSTS 文件
    kknd22
        11
    kknd22  
       2017-12-19 12:44:03 +08:00
    PS:开机后,如果 DNS 缓存服务开着,则自动把所有 hosts 文件内容加载到 DNS 缓存,这 94 为毛我都把 DNS 缓存关掉的缘故
    WillTimeCondense
        12
    WillTimeCondense  
       2017-12-19 13:35:29 +08:00 via Android
    ipconfig /flushdns
    Devin
        13
    Devin  
    OP
       2017-12-19 13:41:06 +08:00
    @WillTimeCondense 试过,无效
    julyclyde
        14
    julyclyde  
       2017-12-19 13:55:22 +08:00
    /etc/hosts 里边
    x.x.x.x Ahost Bhost
    然后
    ping x.x.x.x 的时候会显示 Pinging Ahost
    goofool
        15
    goofool  
       2017-12-19 14:30:30 +08:00   1
    windows 上你需要 ping examplehost.
    linux 上不需要
    Devin
        16
    Devin  
    OP
       2017-12-19 14:39:19 +08:00
    @goofool 是这样没错
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2587 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:58 PVG 21:58 LAX 05:58 JFK 08:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86