zoukankan      html  css  js  c++  java
  • hosts文件

    注:说明Windows还是Linux的时候,默认2中平台都一样。

      简而言之,hosts文件是一个所有OS用来解析 域名/主机名到IP地址映射 文本文件。举个例子,你在浏览器里面键入www.baidu.com,你的OS总会优先查找hosts文件,当这个文件中没有www.baidu.com对应的条目时,才会寻求DNS server帮助。在Linux系统中,hosts文件在/etc/hosts;DNS server在/etc/resolv.conf。以RedHat为例,网卡配置文件在/etc/sysconfig/network-scripts,网卡配置文件一般为ifcfg-eth#,这里面会显示DNS#=X.X.X.X,#代表数字1,2....视/etc/resolv.conf中有几个DNS server而定,X.X.X.X就是/etc/resolv.conf中DNS server的IP。其实完全可以删除ifcfg-eth#中的DNS#=X.X.X.X内容,此时使用/etc/resolv.conf。对于DHCP方式获取的IP,DHCP server会告诉他的客户端使用那个DNS server。

      使用hosts文件,可以做很多DNS server做不了的事。

    ①aliases for locations on your local network, which is otherwise only possible if you have a DNS server set up within your local network

    ②屏蔽erver可以正常解析的域名。

    eg: 在hosts文件中添加一条 127.0.0.1  taobao.com,这样双十一能帮你省不少钱。

    eg:将那些广告的domain指向127.0.0.1可以达到屏蔽广告目的,加快浏览器加载速度。

    在Linux下,hosts文件可以使用vi这样的编辑器编辑,还有一款图形界面编辑器Domain Blocker,他的功能很简单,就是在hosts文件中将你添加的domain指向127.0.0.1以达到屏蔽指定domain的目的。

    潜在问题

      前面举个屏蔽淘宝的例子,但是在Chrome浏览器中这种做法很可能不起作用,因为Chrome往往会跳过hosts文件,直接找DNS server。通过如下两种手段可以解决:

    ①输入完整URL   http://www.taobao.com而不是taobao.com

    ②取消勾选“Use a web service to help resolve navigation errors”,这样你就不需要输入完整URL了,直接键入taobao.com即可。

    以我实验环境上的hosts文件为例

    [root@51cto network-scripts]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    127.0.0.1用于支持IPv4的主机,或者FQDN主机

    ::1用于支持IPv6的主机

    有的时候hosts文件也会在本地换回IP后面跟上自身主机名

    [root@51cto network-scripts]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 51cto.cac.com
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 51cto.cac.com

    这种做法,是考虑到某些关键服务的兼容性。因为有些服务在解析自身主机名出错时可能无法正常工作。参考:Should /etc/hosts contain an entry like '127.0.0.1 localhost myhost.example.org myhost'?

    localhost localhost.localdomain localhost4 localhost4.localdomain4 51cto.cac.com 这些可以理解成对应127.0.0.1的各种别名。


    以下总结于鸟哥私房菜

    早期网络尚未流行,主机也不是很多,主机间通信借助hosts文件,如下图:

    每一个新入网的主机,如果想被其他主机使用名字访问,就要像INTERNIC注册。INTERNIC有一张大表,记录所有IP到主机名的映射。随着网络规模逐渐增大,这个表会越来越带,网络传输也会很麻烦。

    90 年代网络热门化后,单一 /etc/hosts 文件联网问题突出。伯克利大学发展出另外一套阶层式管理主机名对应 IP 的系统, 我们称它为Berkeley Internet Name Domain, BIND。这也是目前全世界使用最广泛的域名系统 (Domain Name System, DNS)

    DNS 与 IND ,这有什么不同?

    DNS 是一种因特网的通讯协议名称, 至于 Bind 则是提供这个 DNS 服务的软件。通常 DNS 查询的时候,是以 udp 这个较快速的数据传输协议来查询的, 但是万一没有办法查询到完整的信息时,就会再次的以 tcp 这个协议来重新查询的!所以,记得防火墙也要同时放行 tcp, udp port 53

  • 相关阅读:
    收集邮票
    CF235B Let's Play Osu!
    [SHOI2002]百事世界杯之旅
    路径统计
    fastText 训练和使用
    由最多N个给定数字集组成的数字 Numbers At Most N Given Digit Set
    动态规划-划分数组的最大和 Split Array Largest Sum
    子序列宽度求和 Sum of Subsequence Widths
    Contest 158
    Bert
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9123372.html
Copyright © 2011-2022 走看看