Linux配置主机名
概述
有三个文件可以配置主机名:
/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