Linux主机名配置文件与文件hosts解说

1、 什么是Linux主机名

无论在局域网还是Intenet上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(Intenet)中存在(以实验为目的的局域网域网实验性除外),每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型Linux sir.org这样的。

主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机名,以便于以容易记忆的方法来相互访问。比如我们在局域网中可以为根据每台机器的功用来为其命名。主机名相关的配置文件:/etc/hosts。

2. Linux主机名配置文件

主机名的配置文件大多是/etc/hosts;

hosts-The static table lookup for Linux hostname(主机名查询静态表);

由于Linux发行版本众多,与主机名相关的配置文件有时也有所不同。现在我们说说常见版本的主机名配置文件。

2.1 Linux主机名置文件/etc/hosts解说

Fedora/Redhat/Centos或以Fedora/Redhat为基础打包的发行版,主机名配置文件是/etc/hosts。而Debian或以Debian为基础打包的发行版,主机名配置文件是/etc/Linux hostname和/etc/hosts Slackware的主机名配置文件是/etc/hosts。那我们来读读 /etc/hosts的内容,看这个文件是用来做什么的。

hosts配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过Linux hostname来访问。

注:在debian中还有一个/etc/Linux hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和/etc/hosts中的本地主机名保持一致。

/etc/hosts的内容一般有如下类似内容:

127.0.0.1 localhost.localdomain

localhost 192.168.1.195

debian.localdomain debian

注:一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如localhost.localdomain第二部份:主机名(主机名别名) ,其实就是主机名;当然每行也可以是两部份,就是主机IP地址和主机名。比如:192.168.1.195 debian

127.0.0.1是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计hostname:

127.0.0.1 localhost.localdomain localhost

192.168.1.2 ftp.localdomain ftp

192.168.1.3 mail.localdomain mail

192.168.1.4 smb.localdomin smb

把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就可以通过Linux hostname来访问了。

2.2 主机名(hostname)和域名(Domain)的区别

主机名就机器本身的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是可以解析到IP上的;比如我们前面所说举的例子。

2.3 局域网的机器,不能通过主机名互访的原因

有的弟兄可能会说,我的hostname彼此不能互访,其实这也问题也简单,我们前面已经提到了一个简单的解决办法。就是要让局域网中的所有主机都有一个通用的,并且包含所有主机的/etc/hosts文件。

另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行。如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是以效率优先的原则为基础。

比如我们在局域网中两台机器,我们还有必要做DNS服务器吗?无论怎么解决,最终的都是用最有效率的办法解决问题。我们不能说明DNS多高级。如果DNS是为外网服务的,那就另说了,不做也得做。

3、修改主机名

3.1 临时修改主机名

显示主机名:

[root@localhost ~]# hostname

localhost.localdomain

修改主机名:

[root@localhost ~]# hostname ilanni

[root@localhost ~]# hostname

ilanni

命令行前的提示符主机名,需要重新打开一个终端,就看到更新

3.2 永久修改主机名

以上的修改只是临时修改,重启后就恢复原样了。要想永久修改主机名,我们要修改

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=localhost.localdomain

修改network文件中的HOSTNAME项。点前面是主机名,点后面是域名。没有点就是主机名。

[root@localhost ~]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=ilanni

这个是永久修改,重启后生效。想立即生效,可以同时采用第一种方法。

时间: 2024-10-30 09:00:19

Linux主机名配置文件与文件hosts解说的相关文章

修改 Linux 主机名(hostname)

inux 安装好后,其默认的主机名是 localhost. 修改 Linux 主机名需要3步: 1.使用 hostname 修改当前主机名.   hostname new-hostname 2.修改 /etc/sysconfig/network 配置文件,以便下次重启的时,使用新的主机名. 打开 /etc/sysconfig/network 文件, 将HOSTNAME改为以下内容.   HOSTNAME=new-hostname.localdomain 3.修改本机的域名解析文件 /etc/ho

修改Linux主机名的方法_unix linux

执行命令 hostname,修改当前系统的主机名 # hostname newhost 修改 /etc/sysconfig/network,使得下次启动时使用新的主机名 hostname=newhost 修改 /etc/hosts.不修改的话,apache等需要解析主机名的服务将不能启动 127.0.0.1 newhost localhost 最后就是命令行提示符中的主机名还没有改变,如果很在意的话,重新登录一下就行了 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有

vmware 中两台linux虚拟机如何使用主机名互ping?

问题描述 vmware 中两台linux虚拟机如何使用主机名互ping? vmware 中两台linux虚拟机如何使用主机名互ping? 解决方案 你把网络设置好了没. 参考 http://www.cnblogs.com/tonyY/p/4780677.html 设置好ip 就可以. 解决方案二: 设置bridge等模式 这样两台虚拟机器都在一个子网 就可以ping了 解决方案三: 两台机器分别将对方的IP和主机名添加到/etc/hosts文件中.再执行source /etc/hosts命令让配

Shell交互批量更改主机名的方法_linux shell

需求分析:      1.ssh公钥拷贝,提供无密码管理.      2.批量同步hosts文件到多台主机.      3.批量修改主机名. 实现: 首先编辑一份用于同步到多台主机的hosts文件 vi /etc/hosts 192.168.0.1 server1 192.168.0.2 server2 192.168.0.3 server3 192.168.0.4 server4 192.168.0.5 server5 192.168.0.6 server6 192.168.0.7 serve

ubuntu系统永久修改主机名方法介绍

1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法: 其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于"@"符号后: 其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名. 2.临时修改主机名 命令行下运行命令:"hostname 新主机名" 其中"新主机名"可以用任何合法字符串来表示.不过采用这种方式,新主机名并不保存在系统中,重启系统后主机名将恢复为原先的主机名

【转】ubuntu修改主机名

转自:http://www.gwxdn.com/html/system/linux/2010/0120/6128.html Linux主机名是在安装Linux操作系统的过程中设定的,并作为网络中的某一台主机的唯一标志,但是在安装好Linux系统后,如果想修改主机名,该怎么办呢?本文介绍基于Ubuntu Desktop 9.04. 1.快速查看主机名 在Ubuntu系统中,快速查看主机名有两种方法:一是打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于"@"符号后;

5 个获取 Linux 主机信息的命令

Linux 系统管理员在接手一台新的服务器的时候,如果没有好的交接文档,我们可以得到的主机信息就要靠我们自己了.很多信息是可以直接通过命令从主机上获得的,下面就和大家分享 5 个获取 Linux 主机信息的命令.(注:我使用的是 Ubuntu 13.04) 1. 查看或改变 Linux 主机名的命令 $ hostname mylinuxbook-Inspiron-1525 从命令结果上您可以看到我的 Ubuntu 主机名是 mylinuxbook-Inspiron-1525.您可能会注意到,主机

Python获取Windows或Linux主机名称通用函数分享_python

通过python的os模块获取windows或者linux主机名的通用函数. 复制代码 代码如下: #!/usr/bin/env python  #coding=utf-8    import os    def hostname():          sys = os.name            if sys == 'nt':                  hostname = os.getenv('computername')                  return hos

Linux找不到主机名解决办法

Linux找不到主机名解决办法 [root@mas eclipse-plugin]# ant -Declipse.home=/path/to/eclipse -Dversion=1.2.1 -Dcommons-cli.version=1.2 Buildfile: /root/bin/hadoop-1.2.1/src/contrib/eclipse-plugin/build.xml check-contrib: init:      [echo] contrib: eclipse-plugin i