`
xuyuanshuaaa
  • 浏览: 396108 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

linux 主机名hostname解析

阅读更多
   
1、 什么是主机名:

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

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

  主机名相关的配置文件:/etc/hosts;

  2. 主机名配置文件;

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

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

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

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

  Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版,主机名配置文件是 /etc/hosts

  Debian或以Debian为基础打包的发行版,主机名配置文件是 /etc/hostname 和/etc/hosts

  Slackware的主机名配置文件是 /etc/hosts

  那我们来读读 /etc/hosts的内容,看这个文件是用来做什么的。hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过hostname来访问。

  注:在debian 中还有一个/etc/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内容中,这样这三台局域网的机器就可以通过hostname来访问了。

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

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

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

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

  另一个是做解决办法是做局域网DNS服务器,如果您的主机特别少,就用前面所说的简单方法就行;如何做DNS服务器,我将在以后的文档中专题介绍;不过我值得一提的是做任何服务器都是以效率优先的原则为基础。比如我们在局域网中两台机器,我们还有必要做DNS服务器吗?无论怎么解决,最终的都是用最有效率的办法解决问题;我们不能说明DNS多高级。如果DNS是为外网服务的,那就另说了,不做也得做。对不对?

  3、主机名修改工具 hostname;

  其实主机名的修改也有专用工具,就是hostname ;我认为如果用这个工具来修改主机名,不如直接修改 /etc/hosts 来的方便;您可以查看 hosname ——help或 man hostname的帮助 。在这里我们只说简单的用法;

  hostname 工具是用来显示和设置系统主机名,看下面的洋文;

  hostname - show or set the system‘s host name

  举例解说:

  * 显示主机名:

  [root@linuxsir01 ~]# hostname

  linuxsir01

  此主机的主机名是linuxsir01,不加参数是用来显示当前操作的主机的主机名;

  * 临时设置主机名:

  我们可以用 hostname 后接主机名,这样就可以设置当前操作的主机的主机名,比如我们想把主机名设置为linuxsir02;

  [root@linuxsir01 ~]# hostname linuxsir02

  [root@linuxsir01 ~]# hostname 注:显示主机名

  linuxsir02

  通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;所以您想修改主机名,想一直有效的,还是用前面所说修改主机名配置文件 /etc/hosts;

  * 显示主机IP:

  显示当前主机名的IP,可以用-i参数;

  [root@linuxsir01 ~]# hostname -i

  192.168.1.3
分享到:
评论

相关推荐

    解决linux找不到hostname的处理

    在Linux系统中,当程序试图获取本地主机名时(例如通过调用`InetAddress.getLocalHost()`),它会首先尝试通过DNS解析当前主机名。如果DNS查询失败,则会检查`/etc/hosts`文件中的条目。在这个例子中,显然这两种...

    既可以用来显示系统当前的主机名或域名,也可用来设置系统的主机名

    本文将详细解析标题和描述中提及的“主机名”及其相关的Linux命令。 主机名是计算机在网络上的标识,用于区分不同的网络节点。在Linux中,`hostname`命令既可用于查看当前主机名,也可用于设置系统的主机名。以下是...

    Linux下主机名的修改 Oracle监听EM影响及恢复

    当我们需要更改Linux主机名时,这可能会对运行在该系统上的Oracle数据库服务产生影响,特别是对监听器和EM的配置。 主机名的修改主要分为两种方式:动态修改和静态修改。动态修改是通过`hostname`命令暂时更改主机...

    Linux 系统下修改主机名

    在Linux中,可以使用`hostname`命令临时更改当前会话的主机名。打开终端,然后输入以下命令: ```bash hostname newhostname ``` 这里,`newhostname`是你想要设置的新主机名。但请注意,这种方法仅对当前会话有效,...

    主机名显示功能

    对于Linux用户,可以使用命令行工具如`hostname`或`cat /etc/hostname`来获取当前主机名。 主机名的显示位置可能因不同的桌面环境而异。在描述中提到的“桌面右上角”,这可能是特定桌面环境(如Ubuntu的Unity桌面...

    获得主机名和IP 实用小程序

    - 在Python中,使用`socket.gethostname()`获取主机名,如果需要解析为主机名和IP,可以使用`socket.gethostbyaddr(ip)`。 5. 实用小程序: - 这个程序可能是为了简化上述操作,通过用户友好的界面一次性显示所有...

    Linux修改主机名命令详解

    本文将详细解析如何在Linux中修改主机名,分为临时修改和永久修改两种方式。 首先,我们来了解一下查看当前主机名的方法。在终端中输入`hostnamectl`命令,可以获取到静态主机名、漂亮的主机名、图标名称、机器ID、...

    Linux下如何永久修改主机名的方法步骤

    总的来说,修改Linux主机名涉及到的主要步骤包括:使用`hostname`命令临时更改、编辑`/etc/sysconfig/network`文件进行永久设置、以及根据需要更新`/etc/hosts`文件。完成这些步骤后,你的Linux系统就拥有了新的主机...

    显示本地主机名 和 ip

    在企业环境中,管理员通常会使用DNS(Domain Name System)服务器来管理和解析这些信息,使得用户可以通过主机名而不是IP地址访问服务器。 共同学习这个标签表明这是一个集体学习或分享的知识点,适合初学者或者...

    hostAndhostname

    首先,`/etc/hosts`文件是Linux系统中的一个静态IP地址与主机名的映射文件。它提供了一个无需DNS(域名系统)查询的快速查找机制,使得本地系统可以解析其他主机的IP地址。在Hadoop集群中,每个节点都需要知道其他...

    获得主机名和IP地址

    在Linux或Unix系统中,可以使用`hostname`命令获取主机名,`ifconfig`(对于较旧的系统)或`ip addr show`(对于较新的系统)来查看IP地址。 在编程环境中,各种语言提供了相应的库或函数来获取这些信息。在Python...

    获取主机名和IP地址

    4. **Linux命令行工具**:在Linux或Unix系统中,`hostname`命令显示主机名,`ifconfig`(或`ip addr show`)命令显示IP地址。对于远程主机,可以使用`nslookup`或`dig`命令查询主机名对应的IP地址。 5. **API调用**...

    gethostname

    在文件列表中提到的"GetHostname"可能是一个程序或库,它提供了一种接口,允许开发者在他们的应用程序中获取当前系统的主机名,或者可能是用来实现上述的反向解析功能。具体功能取决于这个文件的实现细节。 总的来...

    获取本机主机名和IP地址

    在Unix/Linux系统中,可以使用`hostname`命令获取主机名。 其次,IP地址(Internet Protocol Address)是网络上设备的数字标识。它由32位二进制数表示,通常以4个十进制数的形式呈现,如192.168.1.1。IPv4是最常见...

    获取本地主机的主机名和IP地址的程序代码

    在实际开发中,可能还需要处理异常情况,比如网络未连接或者无法解析主机名。另外,考虑到IPv6的支持,可以使用`getaddrinfo()`函数,它是跨平台且支持IPv4和IPv6的解决方案。 总结,获取本地主机的主机名和IP地址...

    Linux域名服务DNS配置方法

    什么是 DNS DNS 全称是 Domain Name System,大意是域名解析系统,它的职责是把域名翻译成一个一个可以识别的 IP 供不同的计算机... /etc/hosts 的存在是早期网络并不是特别发达,仅仅在 hosts 中保存主机名和 ip 地址

    获取本机主机名与IP地址

    对于Python编程语言,你可以使用socket库的gethostname()函数来获取主机名。 获取本机IP地址则稍微复杂一些,因为计算机可能有多个网络接口,每个接口都可能有不同的IP地址。静态IP是直接分配的,而动态IP则由DHCP...

    Linux-day02.pdf

    LinuxDAY02.pdf 是一个 Linux 操作系统的第二天学习笔记,涵盖了 Linux 安装、版本、网络配置、远程连接、主机名设置、路由表查看、域名查询配置等多个知识点。 Linux 安装 本节介绍了 Linux 安装的基本步骤,并且...

    Linux常用指令解析

    - **HOSTNAME**:主机的名称。 - **SHELL**:用户当前使用的Shell类型。 - **LANG/LANGUAGE**:与语言相关的设置,影响多语言环境。 - **MAIL**:当前用户的邮件存储目录。 - 设置环境变量可以通过 `echo`, `...

    计算机软件-商业源码-实例99 获得主机名和IP地址.zip

    5. **错误处理和异常处理**:在获取主机名和IP地址时,可能会遇到各种问题,如网络未连接、DNS解析失败等,因此良好的错误处理和异常处理机制是必要的。 在压缩包中的"实例99 获得主机名和IP地址",我们可以期待...

Global site tag (gtag.js) - Google Analytics