![Linux快速入门与实战:基础知识、容器与容器编排、大数据系统运维](https://wfqqreader-1252317822.image.myqcloud.com/cover/769/43806769/b_43806769.jpg)
3.1.1 设置IP地址
CentOS 8中有两种常用的IP地址设置方法:第一种方法使用命令,该方法简单方便,但是不能保存设置的IP地址,计算机重启后,之前设置的IP地址就没有了;第二种方法使用配置文件,该方法相对麻烦一点,但是可以保存设置的结果,计算机重启后不需要重新设置IP地址。
在设置IP地址之前,要先确定虚拟网络类型为Bridged,如图3-1所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/74_01.jpg?sign=1738819520-yuGk4MeGjdTy54kIudU0sJkIfEYdIbiu-0-c348e0f70803db542bc13839b34c5e23)
图3-1 虚拟网络设置图
VMware虚拟网络有Bridged、Host-only和NAT这3种类型。其中,Bridged可以使得Guest连接到Host所在的物理网络,Guest的IP地址和Host的IP地址位于同一个网段,此时Guest就相当于连接在此物理网络上的一台独立的计算机。因此,Bridged可以很好地模拟一台真实的Linux主机连接到网络的情形,这也是此处选择Bridged的原因。
艾叔免费高清视频教程《零基础VMware虚拟机实战入门》,详细讲述了3种虚拟网络的原理、配置、使用方法,以及虚拟网络与Host物理网卡和物理网络之间的关系,获取方式参见1.3.3节。
1.使用命令设置IP地址
(1)查看IP地址
在设置IP地址之前,应先查看本机的IP地址,具体命令是ip a。a是address地址的首字母。如图3-2所示,可以看到本机有两个网络设备:其中lo是自环设备(loopback),它是Linux的虚拟设备;ens33是网卡,它是真正的物理设备,00:0c:29:d7:80:f4是ens33的MAC地址,后续将在ens33上设置IP地址。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/74_02.jpg?sign=1738819520-7NzVbH29KvZ7TfAXoh7MJo3PgXT3S0D7-0-7b60e1d6ada729032339aad20a354eca)
图3-2 Linux IP地址及网卡信息图
要特别注意ens33网卡的状态信息,UP表示此网卡正常工作,如果不是则要查看虚拟机网卡的Device status是否为Connected,如果不是则要把它勾选上,如图3-3所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/74_03.jpg?sign=1738819520-4FSwHygxuGGK8WnLJWVHGanyZRLTmFDv-0-17dbe2b46461b952b72e18b469ad6249)
图3-3 虚拟网卡状态图
(2)设置IP地址
设置IP地址需要root权限,因此需要先切换到root用户,然后使用图3-4所示命令来设置IP地址。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/74_04.jpg?sign=1738819520-BgzUgqATmVgujTZI8hszcRHOugF323UA-0-e68adac2b4603b3b613555081348bf2a)
图3-4 设置IP地址命令图
上述命令参数说明如下。
● addr add是选项,指定当前的操作为IP地址设置。
● dev用来指定网卡设备,后面跟网卡名。
● ens33为网卡名,要用读者计算机的实际网卡名来替换。
● 192.168.0.226/24中24表示24位的子网掩码,192.168.0.226即要设置的IP地址,本书Host的IP地址为192.168.0.224,Guest(虚拟机)和Host在同一网段,因此设置成192.168.0.226,读者设置时,可根据Host的IP地址和子网掩码的实际情况做相应修改。
上述命令执行完后,如果没有任何提示信息,则说明设置成功,此时可以使用ip a来查看IP地址信息,如果能看到ens33下面的IP地址为192.168.0.226/24则说明设置成功。
Linux支持在同一块网卡下设置多个IP地址。
(3)删除IP地址
删除IP地址的命令和设置IP地址的命令类似,将其中的add改成del即可,如图3-5所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/75_01.jpg?sign=1738819520-OJhQXlYbIo0OxC2PMdIbDr4afv45Jnp5-0-df0d7b195e9073ad1ef93dac6aca86c0)
图3-5 删除IP地址命令图
2.使用配置文件设置IP地址
命令设置的IP地址,在计算机重启后就不存在了,因此无法保存设置。本节介绍如何使用配置文件来设置IP地址,该方法设置的IP地址可以保存,计算机重启后,仍然会按照之前的IP地址进行设置,具体说明如下。
(1)修改网卡配置文件
IP地址的路径如图3-6所示,配置文件名为ifcfg-ens33,配置文件名和网卡名是相关联的,如果网卡名为A,则配置文件名为ifcfg-A。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/75_02.jpg?sign=1738819520-bwz34ubdkNhjVyIbGo55hjAjnOmir8JT-0-aec6243a17bb2adeae4c542919127dbe)
图3-6 网卡配置文件路径图
ifcfg-ens33文件内容如图3-7所示,其中修改/增加的内容为白色方框部分,BOOTPROTO=static表示配置静态IP地址,如果改成dhcp则是配置动态IP地址;ONBOOT=yes表示网卡随系统一同启动;IPADDR=192.168.0.226是网卡的IP地址;NETMASK=255.255.255.0即网卡IP地址的子网掩码,此处为24位的子网掩码。
(2)使得配置文件生效
1)删除ens33上已有的IP地址,并且使用ip a确认IP地址已经删除。
2)运行nmcli c reload来加载修改后的ifcfg-ens33文件,如图3-8所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/75_03.jpg?sign=1738819520-0wVUYmBuKtcCADzoXoZf1SDcBsfBdXAh-0-0f1362fb230392dabfb5ec1b664283bb)
图3-7 网卡配置文件内容图
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/75_04.jpg?sign=1738819520-goM5eqAAo6Epsr26GeeKqVfM7wFYC6Gu-0-7ecfc5e45b478d9b4f1b7bff0590d09f)
图3-8 加载修改后的配置文件
3)查看网卡ens33的内容,可以看到该网卡的IP地址已经设置成了192.168.0.226,如图3-9所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/76_01.jpg?sign=1738819520-SwXZExiAiV5HolVAHJjBzoJphTNDmWEv-0-88ed1b94a755dde8f482cf75e8c10bdb)
图3-9 网卡信息图
如果上述IP地址设置不成功,请依次检查以下三点。
1)ifcfg-ens33中的配置是否正确。
2)使用systemctl status NetworkManager查看NetworkManager服务是否启动,如果看到running,则说明服务已经启动,否则使用systemctl start NetworkManager启动NetworkManager服务,供nmcli使用。
3)再次运行nmcli c reload,如果IP地址还未设置,运行numcli c up ens33使能ens33网卡,并再次查看IP地址。