修改完/etc/hosts后,执行/etc/init.d/network restart即可

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

1. /etc/hostname 文件保存主机名

通过vi修改此文件来修改主机名,重启才会生效。

通过命令hostnamectl 来修改。此种方式既可以修改/etc/hostname文件,又可以立即生效。

hostnamectl set-hostname new-hostname

hostname命令只是临时修改主机名,重启会失效。其修改的是内核参数kernel.hostname 对应文件/proc/sys/kernel/hostname

hostname new-hostname

也可以通过sysctl kernel.hostname=new-hostname 来临时修改主机名

2./etc/hosts 设置DNS域名和IP地址的映射

格式示意如下:

192.168.1.101 host1

通过ssh远程登录的时候,其实是 ssh DNS 域名,主机根据 /etc/hosts 将 域名 和 IP 地址进行了 映射, 而非 根据 hostname来进行的。

localhost 之所以 指向 127.0.0.1 也是因为 这个 /etc/hosts 的 开头的设置,而非 因为 /ets/hostname

DNS域名与主机名没有什么关系,ip地址可以映射为任意域名。

3./etc/sysconfig/network文件

该文件用来指定服务器上的网络配置信息, 包含了控制和网络有关的文件和守护程序的行为的参数。

# 网络是否被配置

NETWORKING=yes

# 是否开启IP转发功能

FORWARD_IPV4=yes

# 服务器的主机名

HOSTNAME=localhost

# 网关的IP地址

GATEWAY=192.168.1.1

# 网关的设备名,如:eth0

GATEWAYDEV=eth0

系统启动时会从此文件中读取主机名,修改后重启机器才会生效。