centos永久修改主机名以及etc/hosts文件详解

1 在CentOS7中,有三种定义的主机名

  • 静态的(Static hostname)
    “静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。
  • 瞬态的(Tansient hostname)
    “瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。
  • 灵活的(Pretty hostname)
    “灵活”主机名也有人叫做“别名”主机名。
    “灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如xh01@f5)。
    “静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。

2 查看主机名

在CentOS 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。


//查看一下当前主机名的情况,查看全部三种主机名和内核信息
hostnamectl   

//或者,查看全部三种主机名
hostnamectl status

//只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项
[root@localhost ~]hostnamectl --static
localhost 

[root@localhost ~]hostnamectl --transient
localhost 

[root@localhost ~]hostnamectl --pretty
 localhost 

//hostname查看到的是瞬态的(Tansient hostname),重启后不会保存修改
hostname
localhost 

//或者查看主机名配置文件,查看到的是静态的(Static hostname)
cat /etc/hostname
localhost 

查看当前Linux操作系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等):

uname 
Linux

uname -a            //查看到的是瞬态的(Tansient hostname)
Linux master 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release     //查看操作系统环境
CentOS Linux release 7.6.1810 (Core) 

3 修改主机名

3.1 方法1:临时有效

hostname 主机名 //只能临时修改的主机名,当重启机器后,主机名称又变回来了。
hostname master

3.2 方法2:永久生效

//永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname master
 
//删除hostname 尽量不要使用此命令
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --pretty

4 注意事项

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。
一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。(没什么必要其实)

5 etc/hosts文件详解

Linux 修改 etc/hosts文件

hosts文件

hosts —— the static table lookup for host name(主机名查询静态表)。

hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决。通过可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问。

优先级 : dns缓存 > hosts > dns服务

  • hosts格式配置

hosts文件可以配置主机ip与对应的主机名。在局域网或者是万维网上,每台主机都有一个ip地址,它区分开每台主机,并可以根据ip进行通讯。但是Ip地址不符合人脑的记忆规律,因此出现了域名,例如www.baidu.com.在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。

  • hosts文件格式

ip地址 主机名/域名 (主机别名)

  • 主机名和域名的区别在于:
  • 主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应的ip。
  • 域名通常在internet上使用,但是优先级低于hosts文件中内容,因此如果你不想使用internet上的域名解析,可以更改自己的hosts文件,加入自己的域名解析。
  • hosts文件作用

一个主要的作用是:线下环境模拟,通信双方在同一个局域网内想通过internet上的域名相互访问,则只需要修改自己的/etc/hosts文件内容即可。

例如,修改www.baidu.com的ip为127.0.0.1

重启网络生效参考https://www.jianshu.com/p/6c166acd5ce1

[centos 8 如何重启网络 service network restart / systemctl restart network 失效的解决办法]

systemctl restart network centos8失效了
重启网络可使用以下命令

#重启整个网络
nmcli n off && nmcli n on 
#重启指定网卡
nmcli c down eth0 && nmcli c up eth0 
ifdown eth0 && ifup eth0

注意一定要使用&&一起执行,否则关闭网络后,会无法远程连接到服务器
ifdown / ifup本质为调用nmcli的脚本

ps:
你可以通过图形化工具来设置网络

nmtui

你可能感兴趣的:(centos永久修改主机名以及etc/hosts文件详解)