提醒:本文最后更新于 2024-10-11 01:49,文中所关联的信息可能已发生改变,请知悉!
一、NetworkManager 介绍
1.1、CentOS8 网络配置的区别
在 CentOS7 上同时支持 network.service 和 NetworkManager.service。默认情况下,这 2 个服务都有开启。在 CentOS8 上,已废弃 network.service(只能手动去安装),默认安装的是 NetworkManager.service,因此本 CentOS8 教程推荐通过 NetworkManager.service 进行网络配置,CentOS8 网卡配置包括设置动态和静态 IP。
1.2、NetworkManager 作用
NetworkManager 是 2004 年 Red Hat 启动的项目,旨在能够让 Linux 用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置 ip 地址。类似在手机上同时开启 wifi 和蜂窝网络,CentOS8 网络自动探测可用网络并连接,无需手动切换 CentOS8 网卡。
1.3、NetworkManager 支持的网络
- 有线网卡、无线网卡
- 动态 ip、静态 ip
- 以太网、非以太网
- 物理网卡、虚拟网卡
1.4、NetworkManager 使用方式
- nmcli:命令行
- nmtui:在 shell 终端开启文本图形界面
- Freedesktop applet:如 GNOME 上自带的网络管理工具
- cockpit:redhat 自带的基于 web 图形界面的 "驾驶舱" 工具,具有 dashborad 和基础管理功能
二、nmcli 常用命令
2.1、nmcli 介绍
在 NetworkManager 里,有 2 个维度:连接(connection)和设备(device),可以为一个设备配置多个连接,本 CentOS8 教程中特别需要指出的是,一个设备只能有一个活跃连接,每个连接可以理解为一个 ifcfg 配置文件。
2.2、查看 CentOS8 网络配置连接
nmcli connection
2.3、查看 CentOS8 网络配置设备
nmcli device
2.4、CentOS8 网络切换连接
nmcli c up
2.5、CentOS8 网络查看 IP
nmcli
2.6、CentOS8 网络启用网卡 ensX,例如 ens160
nmcli c up ens160
2.7、CentOS8 网络停止 connection
nmcli c down
2.8、CentOS8 网络删除 connection
nmcli c delete ens160
2.9、CentOS8 网络查看 connection 详细信息
nmcli c show ens160
2.10、立即生效 connection
nmcli c up ens160
nmcli d reapply ens160nmcli d connect ens160
2.11、查看 CentOS8 网络设备列表
# 查看设备信息
nmcli d
#查看指定 device 的详细信息
nmcli d show ens160
2.12、激活网卡
nmcli d connect ens160
2.13、关闭网络
nmcli r all off
三、常见的 CentOS8 网卡配置方式
通过 NetworkManager 进行 CentOS8 网卡配置时候,会自动将 connection 同步到 ifcfg 配置文件中,其中本 CentOS8 教程特别指出 eth 和 ens 的区别,ethX 是真实物理网卡,ensX 是虚拟网络会话。
- 手工配置 ifcfg,通过 NetworkManager 来生效
- 通过 NM 自带工具配 ip,比如 nmcli
- 手工配置 ifcfg,通过传统 network.service 来生效
3.1、通过手工配置 CentOS8 网卡 ifcfg 的方式
本 CentOS8 教程推荐使用上述第 1 种 CentOS8 网卡配置方法,就是手工配置 ifcfg,通过 NetworkManager 来生效,因为这样既兼容了传统的 ifcfg 配置,又能熟悉 nmcli。
# 打开配置文件,ifcfg- 开头的,根据实际名称修改。例如我的机器是 ifcfg-ens160
vi /etc/sysconfig/network-scripts/ifcfg-ens160
配置参数示例,大家可以根据实际接入的网络进行配置 CentOS8 网卡,试试吧已经对此配置做了详细备注。
TYPE="Ethernet" // 以太网,还有其他的如 bond,bridge
PROXY_METHOD="none"// 默认代理方式:关闭状态
BROWSER_ONLY="no" // 默认只是浏览器:否
BOOTPROTO="none" //dhcp 表示动态获取 IP 地址,satic 表示表态 IP,none 表示不指定,就是静态
DEFROUTE="yes" // 默认路由:是
IPV4_FAILURE_FATAL="no" // 是否开启 IPV4 致命错误检测:否
IPV6INIT="yes" // 默认 IPV6 是否自动初始化: 是
IPV6_AUTOCONF="yes" // 默认 IPV6 是否自动配置:是
IPV6_DEFROUTE="yes" // 默认 IPV6 是否默认路由:是
IPV6_FAILURE_FATAL="no" // 如果 IPv4 或 IPv6 配置失败,此接口将被禁用,否: 如果配置失败,此接口不会被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6 地址生成模型
NAME="ens160" // 名称
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" // 唯一 ID
DEVICE="ens160" // 设备名称
ONBOOT="yes" // 开启启动
IPADDR="192.168.1.119" //IP
PREFIX="24" // 子网掩码长度
GATEWAY="192.168.1.2" // 网关
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6 隐私
3.2、CentOS8 网卡配置后重启网络
systemctl stop NetworkManager
systemctl start NetworkManager
3.3、检测网络状态
ping www.baidu.com
curl www.baidu.com
小提示:试试吧全栈教程系列之 -《CentOS8 教程》跟随软件版本的更新不断完善和优化,本教程主打原创、全部免费,欢迎学习和转载,与人方便、科技向善,敬请 收藏和分享 试试吧,谢谢。