Linux配置主机名

来自CloudWiki
跳转至: 导航搜索

概述

有三个文件可以配置主机名:

/etc/sysconfig/network

/etc/hostname

/etc/hosts

网络配置文件

/etc/sysconfig/network用于设置HOSTNAME与启动NETWORKING的,其中保存了主机的名称配置,主机名称在重启后生效。

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localdomain


如果你在这里设置了网关,其它地方也重新配置网关并使其生效,则以其它地方网关为准。

若其它地方没有配置网关,就以这个网关为准。因此在设置网关时可能出现文件。这个文件就像一个全局变量,/etc/sysconfig/network-scripts/ifcfg-eth0就相当于局部变量!

/etc/sysconfig/network的典型配置:


NETWORKING=yes
HOSTNAME=AndyC
GATEWAY=192.168.0.1
NETWORKING_IPV6=no
 

在文件“/etc/sysconfig/network”中对HOSTNAME配置项进行配置后,需要重新启动计算机使新设置的主机名生效

主机名文件(重点)

修改/etc/hostname文件。重启生效。

[root@RedHat]echo RedHat_test > /etc/hostname
[root@RedHat]

并不是所有版本的主机名都存在于/etc/hostname文件,如Fedora发行版将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种linux发行版。


主机名称解析文件(重点)

“/etc/hosts”文件保存本地的主机名与ip地址的对应记录

cat /etc/hosts

127.0.0.1               localhost.localdomain localhost

hosts文件和DNS服务器功能的比较

  • 在hosts文件中设置主机名称的解析更加灵活,可以立即生效
  • hosts文件中的设置内容只在当前的Linux主机中有效,无法作用于整个网络
  • hosts文件无法完全取代DNS服务器的作用,只能完成辅助的本地主机名称解析

修改hosts文件,增添对主机名controller的解析

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.10   controller

试验一下:

ping controller

/etc/hostname与/etc/hosts的区别

/etc/hostname中存放的是主机名,hostname文件的一个例子:

v-jiwan-ubuntu-temp

/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字,hostname文件的一个例子:

127.0.0.1 localhost
127.0.1.1 v-jiwan-ubuntu