题目描述
将 node1 配置为具有以下网络配置:
主机名:node1.domain250.example.com
IP 地址:172.25.250.100
子网掩码:255.255.255.0
网关:172.25.250.254
DNS服务器:172.25.250.254
核心命令
nmtui Manual reboot vim /etc/hostname
操作过程
本文详细介绍了使用
nmcli
命令进行网络配置的方法,如果不想记该命令的写法,则可以使用nmtui
命令提供的类图形化界面进行配置,但要注意的是,一定要把IPv4 CONFIGURATION
默认的Automatic
模式修改为Manual
模式。
由于当前 node1 这台机器并没有 IP 地址,所以我们不能使用 SSH 登录到这台机器,只能使用考试环境中为我们准备的 node1 的控制台去控制 node1. 但是,控制台不支持来自外部机器的内容粘贴操作,也就是说,如果我们首先给 node1 配置主机名的话,由于无法将外部机器浏览器中显示考题中指定的主机名复制到 node1 的控制台中,只能手动用键盘敲上去,极易出错且费时费力,因此,我们可以选择先为 node1 配置 IP 地址等网络参数,在通过 SSH 连接上 node1 之后,再为 node1 配置题目中要求使用的主机名。
首先,我们要启动 node1 这台机器:
在 “Activities” 中找到 “VM Control”, 如图 01 所示:
之后,选中 node1, 点击 “OK” 按钮,如图 02 所示:
之后,选中 “Start_node1_VM”, 点击 “OK” 按钮,如图 03 所示:
再之后,重复上面的步骤,再次打开 “VM Control” 界面,选中 node1 机器的 “Console_node1_VM”, 点击 “OK” 按钮之后就可以打开 node1 机器自带的控制台,接下来配置网络都需要在该控制台中进行,如图 04 所示:
接下来,我们在控制台中以权限最高的 ROOT 用户身份登录,输入考题中给出的 node1 机器的根密码即可成功登录。
我们用网卡配置命令 nmcli
查看一下当前系统中网卡的参数信息,具体的命令如下:
nmcli connection show
根据返回信息可以看到,eth0
这个网卡的名称为 “Wired connection 1”, 在后面的网络配置过程中,我们需要用到这个名称,如图 05 所示:
nmcli
命令是从 RedHat 7 和 CentOS 7 开始引入的一个专门用于配置网卡的命令,可以写入网卡配置信息并长期生效,我们接下来对 IP 地址、子网掩码和网关地址等网络参数的配置就使用该参数进行。
具体的网络参数配置命令如下:
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254 autoconnect yes
注:
① 由于我们要修改网络配置信息,因此要使用
modify
参数;② 由于网卡名称
Wired connection 1
中包含空格,因此要用双引号包裹起来,写成"Wired connection 1"
的形式;③ 由于我们要配置网卡的 IPv4 参数,因此,这里要使用
ipv4.method
参数;④ 由于我们这是手动配置 IP 地址,因此要使用
manual
参数;④ 虽然使用
nmcli
命令对网卡做的配置是默认生效的,但是这里我们可以在最后加上autoconnect yes
参数,以确保配置参数在允许的情况下一定自动生效。
最后,可以通过重启系统,或者使用如下命令激活刚刚配置的网卡,使配置信息生效:
nmcli connection up "Wired connection 1"
之后,使用 ip addr
命令查看 node1 机器的网卡参数可以发现网络配置已经生效,在外部机器上使用 ping node1
命令可以成功 PING 通 node1 机器,使用 ssh root@node1
命令也可以成功登录 node1 机器。
在使用 ssh@node1
登录到 node1 机器之后,我们开始配置 node1 机器的主机名,为了防止出错,能从题目中复制的部分要直接从题目中复制,比如下面命令中使用到的主机名。具体命令如下:
hostnamectl set-hostname node1.domain250.example.com
注:
hostnamectl
命令可以修改/etc/hostname
文件中的内容,从而实现对主机名的永久修改,重启不会失效。不过,由于hostnamectl
命令除了可以设置主机名之外,还可以用来设置主机的图标名称、机架名称、部署环境的名称以及所在位置的名称,因此,如果我们要使用hostnamectl
命令设置主机名,还需要在其后加上set-hostname
参数。
之后,我们可以使用 exit
命令退出当前对 node1 机器的 SSH 连接,之后使用重新使用 SSH 连接到 node1 机器后,使用 hostname
命令查看当前机器的主机名可以发现,正确返回了我们刚才配置的主机名:node1.domain250.example.com
.