两个字的误会
曾一度想当然的以为能谷歌就是能翻墙了(谷歌在我心中的地位由此可见),直到我们的项目使用了npm install来安装node-sass(你们且先别管node-sass是个什么东东,今天的重点不在此),该库的依赖于一些“翻墙”才可得的库,我最初是这么认为的,好,那就改了hosts,能谷歌了,默默的认为这个库就可以安装成功了,但事实是花费了挺久的时间依旧于事无补,我终于还是向常柱求助了,他说“翻墙就可以了”,额,翻墙啊,我翻了啊已经可以访问谷歌等一些国外的网址,但问题是这个库的依赖来自谷歌吗?我顿时清醒了,那刻终于终结了“翻墙”这个词在我心中固有的形象。 你此刻说不定在心里笑我,你以为的“翻墙”就是能谷歌啊!但是呢。。I don’t care。我又学到了新的东西,顺便深入了解下翻墙相关的内容吧,那我们look下“翻墙”。
####1、 为何翻?(这还用问,当然是输入谷歌访问不了啊!!)
这里涉及到了GFW(Great FireWall),中国的防火墙,通过国家入口网关的IP封锁、主干路由器的关键字过滤阻断、域名劫持、HTTPS证书过滤和DNS 污染等技术阻断你访问国外的网站。
GFW 会对 DNS 的解析过程进行干扰,这会使对某些被干扰的域名返回一个错误的 IP 地址给你的主机,使你无法正确连接到你要的服务器上读取正确的信息。
####2、 如何翻?(改hosts翻)
先来了解下Hosts文件: 1》Hosts是一个没有扩展名的系统文件,可以存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能 2》作用:建立域名与ip的映射,即将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。 3》优点:a、加快域名解析;b、方便局域网用户;c、屏蔽不靠谱网站 因此直接将 Google之类的 IP 放入 Hosts 文件后,就可以跳过 DNS 的解析这一步,直接就行 IP 访问,不受 GFW 的 DNS 污染干扰了。但某些网站即使加了IP可能过段时间就不能访问了,因为GFW可能会直接将该IP封锁了,仍然是访问不到的。
有个生动的情景来比喻这个翻墙的过程,借鉴来大家随意欣赏。
现在去看医生,好多医院是不允许“点”医生的,挂号时指派。 患者好比是查询者,挂号员好比是DNS,医生好比是要找到的服务器IP。 医生来上班第一件事是什么?打卡!挂号员就知道这个医生到了,一会给他分配患者!有的挂号员生病了,尤其有某些挂号员故意使坏,把痔疮患者分到了口腔科,扰乱正常就诊秩序,破坏医患关系,最恨这样的人了!怎么办?去医院多了就明确知道某个大夫天天在、且能看我的病,那以后这个病到这个医院就直接找这个大夫了!这就是host文件中将某域名“定死了”某个IP,越过“挂号员”,不会被挂号员耍了。 这样的坏处也不是没有,如果哪天这个医生跳槽了,或去卖水果了,你还去原来医院找那个医生,那你的病就被耽误了。
若感兴趣可参考详细内容:http://www.125135.com/284622.htm http://www.uedsc.com/principle-and-implementation-of-router-over-the-wall.html