linux hosts文件详+mac主机名被莫名其妙修改
1、名词解析
主机名:
无论是在局域网还是在INTERNET上,每台主机都有一个IP地址,用来区分当前是那一台机器(其实底层是使用机器的物理地址),也就是说IP地址就是一个主机的门牌号,唯一的标示这一台机子。
公网:
IP地址不方便记忆,所以又有了域名。域名只是在公网(INTERNET)中存在,每个域名对应着一个IP地址,但一个IP地址可以对应多个域名。
局域网:
每台机器都有一个主机名,用于主机与主机之间区别。我们可以为每一台机器设置主机名,便于以容易的方法来互相访问。比如我们在局域网中可以根据每台机的功用来为其命名。
用途:例如我们可以通过主机名,通过ssh命令远程得登录别人的电脑。
2、关于/etc/host,主机名和IP配置文件
Hosts - The static table lookup for host name(主机名查询静态表)
用途:
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,
存储:
以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname)。
内容:
hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。
作用:
在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。
3、优先级
优先级 : dns缓存 > hosts > dns服务
4、配置hosts文件
这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽略的。在局域网或是INTERNET上,每台主机都有一个IP地址,它区分开每台主机,并可以根据ip进行通讯。但IP地址不方便记忆,所以又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。
Linux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip:
比如文件中有这样的定义
192.168.1.100 linumu100 test100
假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test100就会打开192.168.1.100的网页。
通常情况下这个文件首先记录了本机的ip和主机名:
127.0.0.1 localhost.localdomain localhost
这就是在我们在调试web项目的时候,我们明明在浏览器的地址栏中输入的是localhost,他会知道我们是本地调试,因为他映射到了127.0.0.1(即本机)。
5、配置文件格式说明
但这种映射只是本地机的映射,也就是说每台机器都是独立的,只有在hosts文件中进行了配置才能使用主机名来访问。
在hosts文件中,我们会看到类似下面的内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 127.0.0.1 localhost.localdomain localhost 192.168.1.195 debian.localdomain debian
一般情况下hosts的内容关于主机名(Hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明(即注释的作用),不被系统解释。
hosts文件格式:
ip地址 主机名/域名 (主机别名)
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
主机名(hostname)和域名(Domain)的区别:
- 主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;
- 域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
6、hosts文件的用途
6.1 解决远程登录linux主机过慢问题
有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,如果在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登录linux就会变很快。
注:这里所说的远程登录不仅仅是ssh,还可能是mysql远程登录,或是文件共享的查询等。
6.2 双机互连
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。
7、修改主机名
其实主机名的修改也有专用工具,就是hostname
hostname - show or set the system’s host name
显示主机名:
# hostname zhengcanrui
此主机的主机名是zhengcanrui,不加参数是用来显示当前主机的主机名;
临时设置主机名:
# hostname test100 # hostname 注:显示主机名 test100
通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;
显示主机IP:
# hostname -i 192.168.1.100
8、遇到的一个mac上面的问题
有时候会出现你的共享主机名被莫名修改的情况。
现象:你的主机名变了,变成了一串莫名其妙的数字加字符,我就变成了2015-2016.gz.cvte.com这样子一个主机名,过一阵子又会变回正常你以前的主机名(坑啊啊。。。。)
产生的影响:在AirDrop共享里面找不到你的主机名, 假如你使用了tomcat部署项目,还会报一个奇怪的错误,告诉你2015-2016.gz.cvte.com(上面被修改过的主机名)不是一个合法的主机名。(这种问题网上的解决办法是去hosts文件你面配置2015-2016.gz.cvte.com 对应的ip是172.0.0.1即可,这样子是能解决的,已经试过了)
原因:在同个局域网中有人跟你的(共享)主机名是一样的,为了同个主机名辨别,会将你的主机变成一个唯一的不重复的主机名,当没有重名的主机的时候,又会恢复正常的主机名。。。。。。
彻底解决办法——》改你的主机名和共享主机名
修改主机名称
sudo scutil --set HostName water
修改共享名称
sudo scutil --set ComputerName water
致谢:感谢您的阅读!
linux hosts文件详+mac主机名被莫名其妙修改的更多相关文章
- Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)
Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...
- linux环境下/etc/hosts文件详解
linux环境下/etc/hosts文件详解 就没一个昵称能用关注 0.0632017.09.12 17:04:28字数 623阅读 27,096 介绍 hosts文件是linux系统中负责ip地址与 ...
- HOSTS文件详解【win|mac】
hosts文件是一个用于储存计算机网络中各节点信息的计算机文件.这个文件负责将主机名映射到相应的IP地址. hosts文件通常用于补充或取代网络中DNS的功能.和DNS不同的是,计算机的使用者可以直接 ...
- CentOS6修改主机名(hostname)及 修改/etc/hosts 文件,增加ip和hostname的映射关系(转)
CentOS修改主机名(hostname) 需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. ...
- Linux 下hosts文件详解
1.主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号. 公网:IP地址不方便记忆,所以又有了域名.域名只是在公网( ...
- etc/hosts文件详解
Linux 修改 etc/hosts文件 hosts文件 hosts —— the static table lookup for host name(主机名查询静态表). hosts文件是Linux ...
- linux dhcp 设置路由及主机名
自动获取ipDHCP方式获取ip:dhclient [网络接口]释放通过DHCP获取的ip地址:dhclient -r [网络接口]查看网络接口 ifconfig -a(列出所有接口含禁用的) eth ...
- Linux下的变化的主机名步骤
Linux下变化的主机名gpdb 步骤1.执行vi /etc/sysconfig/network命令 NETWORKING=yesHOSTNAME=gpdb 第二步.执行hostname gpdb令 ...
- 如何在Linux中显示和设置主机名
原文链接 随着连接到网络的计算机数量越来越多,每一台计算机都需要有一个属性来区别于其它计算机.和现实世界中的人一样,计算机也有一个叫做hostname(主机名)的属性. 什么是hostname 从它的 ...
随机推荐
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(28)-系统小结
系列目录 我们从第一节搭建框架开始直到二十七节,权限管理已经告一段落,相信很多有跟上来的园友,已经搭配完成了,并能从模块创建授权分配和开发功能了 我没有发布所有源代码,但在14节发布了最后的一次源代码 ...
- 计算机程序的思维逻辑 (44) - 剖析TreeSet
41节介绍了HashSet,我们提到,HashSet有一个重要局限,元素之间没有特定的顺序,我们还提到,Set接口还有另一个重要的实现类TreeSet,它是有序的,与HashSet和HashMap的关 ...
- EasyUI中那些不容易被发现的坑——EasyUI重复请求2次的问题
问题控件:datagrid.combobox.所有能设置url属性的控件 问题版本:1.4.4.1.4.5(之前的版本没测) 问题如图: 重复请求2次,错误代码如图: 错误问题分析:html加载的时候 ...
- [摘录]第三部分 IBM文化(1)
第二十章 论公司文化如果是在20世纪90年代初期,当一个人看见或者听到“IBM”时,他会联想到什么呢?或许是“大计算机”.“个人电脑”或者“ThinkPads”.但是,他们同时也必然会想到“大公司”. ...
- Vertica DBD 分析优化设计
DBD = Database Designer,是Vertica数据库优化中最主要的原生工具. 首先运行admintools工具,按下面步骤依次执行: 1.选择"6 Configuratio ...
- 【分布式】Zookeeper序列化及通信协议
一.前言 前面介绍了Zookeeper的系统模型,下面进一步学习Zookeeper的底层序列化机制,Zookeeper的客户端与服务端之间会进行一系列的网络通信来实现数据传输,Zookeeper使用J ...
- JavaWeb——tomcat安装及目录介绍
一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...
- Nginx反向代理部署指南
一.反向代理 我们都知道,80端口是web服务的默认端口,其他主机访问web服务器也是默认和80端口进行web交互,而一台服务器也只有一个80端口,这是约定俗成的标准. 我们来看下面两个场景: 1.服 ...
- 【Asp.Net Core】二、添加控制器和视图
控制器Controller 在添加控制器前,我们先看下它为我们自动生成的一些Controller,我们看下AccountController.cs 来看下登录验证方法Login async这个应该是异 ...
- Python input 使用
Python 3.0 中使用"input" , Python 2.0 中使用"raw_input"Python 3.5: #!C:\Program Files\ ...