分享交流
合作共赢!

CentOS及Ubuntu系统更改主机名方法总结【通用版】

一、Centos6.x

1、主机名更改

vim /etc/sysconfig/network

# 修改以下几个选项中的 HOSTNAME

NETWORKING=yes #打开 IPV_4

NETWORKING_IPV6=no #禁用 IPV_6

PEERNTP=no

GATEWAY=118.178.123.247 #默认网关

HOSTNAME=your_host_name #主机名(永久修改)

# 临时修改主机名(重启系统之后会恢复原来的主机名)

hostname your_host_name (因为在/etc/sysconfig/network更改主机名后需要重启系统生效,为了不用重启系统,使用临时主机名的方式,可以达到不重启生效的效果)

# /etc/sysconfig/network:包含主机最基本的网络信息,用于系统启动

或者直接用命令更改:# hostname hostname

2、本地主机名映射

vim /etc/hosts

# 在 localhost 后面追加你定义的主机名(跟 localhost 之间要有一个空格)

127.0.0.1 localhost your_host_name

# /etc/hosts:此配置文件用来完成主机名映射为 IP 的功能

三、域名解析服务器配置

# 阿里云服务器

vim /etc/resolv.conf

options timeout:1 attempts:1 rotate
nameserver 10.166.22.188 # 域名服务器 1

nameserver 10.188.22.166 # 域名服务器 2

# 在阿里云服务器上域名服务器是设置好的,无需更改

# /etc/resolv.conf:是 DNS 客户机的配置文件,用于设置 DNS 服务器的 IP 地址及 DNS 域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver:一个根据主机名解析 IP 地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。

# resolv.conf 关键字主要有 4 个,分别是:

nameserver:定义 DNS 服务器的 IP 地址;

domain:定义本地域名;

search:定义域名的搜索列表;

sortlist:对返回的域名进行排序;

# 其中 nameserver 关键字是最重要的,如果没有指定 nameserver 就找不到 DNS 服务器,其他关键字是可选的。

# nameserver 表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个 namesever 没有反应时,才查询下面的 nameserver。

# domain 声明主机的域名。喝多程序用到它,如邮件系统;当 为 没有域名的主机 进行 DNS 查询时,也要用到。如果没有域名,主机名将被使用,删除在第一个点(.)前面的所有内容。

# search 的参数指明域名查询顺序,当 要查询没有域名的主机时,主机将在由 search 声明的域名中分别查找。

# domain 和 search 不能共存,如果同时存在,后面出现的将会被使用。

# sortlist 允许将得到域名结果进行特定的排序。它的参数是网络/掩码对,且允许任意的排列顺序。

3、其他网络配置文件简述

/etc/host.conf #配置域名服务客户端的控制文件

  /etc/hosts #完成主机名映射为 IP 地址的功能

  /etc/resolv.conf #域名服务客户端的配置文件,用于指定域名服务器的位置

  /etc/sysconfig/network #包含了主机最基本的网络信息,用于系统启动

  /etc/sysconfig/network-script/ #系统启动时初始化网络的一些信息

  /etc/xinetd.conf #定义由 super 进程 xinted 启动的网络服务

  /etc/networks #完成域名与网络地址的映射

  /etc/protocols #设置主机使用的协议及各个协议的版本号

  /etc/services #设置主机的不同端口的网络服务

二、Centos7.x

1. 常用命令:

# hostnamectl set-hostname newhostname

2. 在CentOS7中,有三种定义的主机名:

静态的(Static hostname

“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。

瞬态的(Tansient hostname)

“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。

灵活的(Pretty hostname)

“灵活”主机名也有人叫做“别名”主机名。
“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如xh01@f5)。
“静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。

查看主机名:

//查看一下当前主机名的情况,查看全部三种主机名
hostnamectl 

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

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

xh00
[root@xh00 ~]# hostnamectl --transient

xh01
[root@xh00 ~]# hostnamectl --pretty


//或者,查看到的是瞬态的(Tansient hostname)
hostname

//或者查看主机名配置文件,查看到的是静态的(Static hostname)
cat /etc/hostname
查看当前Linux操作系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等):

uname -a //查看到的是瞬态的(Tansient hostname)
cat /etc/redhat-release //查看操作系统环境

方法1:临时有效

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

hostname xh01
方法2:永久生效

//永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname xxx 

//删除hostname
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --pretty
修改所有三个主机名:静态、瞬态和灵活主机名:

[root@localhost ~]# hostnamectl set-hostname xh00
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostnamectl --static
xh00
[root@localhost ~]# hostnamectl --transient
xh00

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

手动更新/etc/hosts

vim /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 qqmm
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 qqmm

重启CentOS 7

reboot -f

重启之后

[root@qqmm ~]# hostname
xh01
[root@qqmm ~]# hostnamectl
xh01

xh01如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用–static,–transient或–pretty选项。 例如,要永久修改主机名,你可以修改静态主机名:

[root@localhost ~]# hostnamectl --static set-hostname xh01
重启CentOS 7 之后

[root@localhost ~]# hostnamectl --static
xh01
[root@localhost ~]# hostnamectl --transient
xh01
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostname
xh01

其实,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名,注销并重新登入后在命令行提示来观察新的静态主机名

三、Ubuntu

1.临时生效:

命令:# hostname newhostname

2.永久生效:

(1)修改/etc/hostname文件内容为自己的主机名

(2)第二步:修改/etc/hosts配置文件(可选)
/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字。

(3)重启系统

 

赞(3) 打赏
未经允许不得转载:琼杰笔记 » CentOS及Ubuntu系统更改主机名方法总结【通用版】

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册