10.1 rhel9 与旧版本的区别
在 rhel7 的版本,同时支持 network.service 和 NetworkManager.service (简称 NM )。
在 rhel8 上默认只能通过 NM 进行网络配置,包括动态 ip 和静态 ip 。换言之,在 rhel8 上,需要开启 NM ,否则无法使用网络。
rhel8依然支持 network.service ,只是默认没安装,可以通过 yum install network - scripts 来安装传统的network.service,不过 redhat 说了,在下一个 rhel 的大版本里将彻底废除,因此不建议用 network.service 。
在 rhel9 上,使用 NM 进行网络配置, NetworkManager 现在使用秘钥文件来存储配置信息
在 RHEL 9 中, ifcfg (也称为 文件)将不再是网络配置文件的主存储。虽然 ifcfg 样式仍然可用,但它不再是 NetworkManager 存储新网络配置文件的默认位置。从 RHEL 9.0 开始, RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。
10.2 NetworkManager 的特点
NetworkManager 是 2004 年 Red Hat 启动的项目,旨在能够让 Linux 用户更轻松地处理现代网络需求,能自动发现网 卡并配置ip 地址。
NetworkManager 的特点
NM能管理各种网络
有线网卡、无线网卡 动态 ip 、静态 ip 以太网、非以太网 物理网卡、虚拟网卡
工具齐全:命令行、文本界面、图形界面、web
广纳天地:管理各种网络,有线、无线、物理、虚拟
参数丰富:多达 200 多项配置参数(包括 ethtool 参数)
一统江湖: RedHat 系、 Suse 系、 Debian/Ubuntu 系,均支持
大势所趋:下一个大版本的 rhel 只能通过 NM 管理网络
10.3 配置网络
网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口。这里,主要是指计算机的网络接口即网卡设备。 从RHEL7 开始引入了一种新的 “ 一致网络设备命名 ” 的方式为网络接口命名,该方式可以根据固件、设备拓扑、设备类型和位置信息分配固定的名字。网络接口的名称的前两个字符为网络类型符号。如: en—— 表示以太网 (Ethernet)、 wl 表示无线局域网 (wlan) 、 ww 表示无线广域网 (wwan) ;接下来的字符根据设备类型或位置选择,如 : o ——表示内置 (onboard) 于主板上的集成设备 ( 即集成网卡 ) 及索引号 ; s—— 表示是插在可以热拔插的插槽上的独立设 备及索引号; x—— 表示基于 MAC 地址命名的设备 ; p—— 表示 PCI 插槽的物理位置及编号。
一个网络接口,可以有多个网络连接,但同一时间只能有一个网络连接处于活动状态。
( 1 )使用 ip 命令配置临时生效的网络连接

[root@master ~]# ip -4 addr add 192.168.168.16/24 dev ens160
( 2 ) 修改配置文件 ,前提是需要有 network 服务【不推荐】
[root@kongd ~]# cd /etc/NetworkManager/system-connections #网卡配置文件所在目录
[root@kongd ~]# cat ens160.nmconnection
[connection] #会话名称
id=ens160
uuid=77b0bf78-2be5-3d57-a40e-a0dad7143d10
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1675161924
[ethernet] #网络类型
[ipv4]
method=auto
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]
[root@kongd ~]# systemctl restart network
[root@kongd ~]# nmcli c reload
[root@kongd ~]# nmcli c up ens160
会话和网卡的关系:一个网卡可以有多个会话,但是一个时刻只能连接到一个会话。
( 3 ) nmcli (命令行工具)
· nmcli device ,可以简写为 nmcli d ,查看网卡设备
[root@kongd ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
lo loopback unmanaged --
[root@kongd ~]# nmcli device show
connected:已被 NM 管理,并且当前有活跃的 connection
disconnected:已被 NM 管理,但是当前没有活跃的 connection
unmanaged:未被 NM 管理
unavailable:不可用, NM 无法管理,通常出现于网卡为 down 的时候
· nmcli connection ,可以简写为 nmcli c ,查看相应的会话
[root@kongd ~]# nmcli connection
NAME UUID TYPE DEVICE
ens160 39c494c3-7621-43fb-9c42-15e330b3d4dc ethernet ens160
[root@kongd ~]# nmcli connection show
[root@kongd ~]# nmcli connection show 39c494c3-7621-43fb-9c42-15e330b3d4dc
[root@kongd ~]# nmcli connection show /etc/sysconfig/network-scripts/ifcfg-ens160
· 配置已存在会话的网卡的ip地址
非交互式
[root@kongd ~]# nmcli c mo ens160 ipv4.method manual ipv4.addresses 192.168.150.200/24
ipv4.gateway 192.168.150.2 ipv4.dns 223.5.5.5 autoconnect yes
[root@kongd ~]# nmcli c up ens160
交互式
[root@master ~]# nmcli connection edit ens160
nmcli> goto ipv4
nmcli ipv4> set addresses 192.168.168.11/24
nmcli ipv4> activate
Monitoring connection activation (press any key to continue)
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/2)
nmcli ipv4> quit
[root@kongd ~]# nmcli c up ens160
· 添加新的会话
[root@kongd ~]# nmcli c add type ethernet con-name ethX-test ifname ethX ipv4.addresses'192.168.1.100/24' ipv4.gateway 192.168.1.254 ipv4.dns '4.4.4.4' ipv4.method manualautoconnect yes
#该命令等同于如下命令:
[root@kongd ~]# nmcli c add type ethernet con-name ethX-test ifname ethX ipv4.methodmanual autoconnect yes
[root@kongd ~]# nmcli c modify ethX-test ipv4.addresses '192.168.1.100/24'
[root@kongd ~]# nmcli c modify ethX-test ipv4.gateway 192.168.1.254 ipv4.dns '4.4.4.4'
type ethernet :创建连接时候必须指定类型,类型有很多,可以通过 nmcli c add type - h 看到,这里指定 为ethernet 。 con-name ethX-test : ethX-test 表示连接( connection )的名字,这个名字可以任意定义,无 需和网卡名相同 ifname ethX : ethX 表示网卡名,这个 ethX 必须是在 nmcli d 里能看到的网卡的名字 ipv4.addresses '192.168.1.100/24,192.168.1.101/32':配置 2 个 ip 地址,分别为 192.168.1.100/24 和 192.168.1.101/32 ipv4.gateway 192.168.1.254:网关为 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' : dns 为 8.8.8.8和 4.4.4.4
ipv4.method :默认为 auto ,对应网卡配置文件里的 BOOTPROTO=dhcp ; ipv4.method manual ,对应网卡配置文件里的BOOTPROTO=none ,即只有静态 ip autoconnect yes :对应网卡配置文件里的 ONBOOT=yes
此时,通过 nmcli c 应该可以看到增加了一条连接。
· 连接、断开、删除会话
#连接会话
[root@kongd ~]# nmcli c up ethX
#断开会话
[root@kongd ~]# nmcli c down ethX
# 删除会话
[root@kongd ~]# nmcli c delete ethX
( 4 )使用 nmtui 配置

[root@kongd ~]# nmcli c up ens160
( 5 ) cockpit 配置示意图
[root@kongd ~]# systemctl start cockpit.service
[root@kongd ~]# firewall-cmd --permanent --add-service=cockpit
[root@kongd ~]# firewall-cmd --reload
访问 http://IP:9090

10.4 网络测试命令
( 1 )使用 ping 命令测试网络的连通性 命令一般格式为: ping [ 选项 ] < 目标主机名或 IP 地址 > 选项 :
-c 数字 —— 用于设定本命令发出的 ICMP 消息包的数量,若无此选项,则会无限次发送消息包直到用户按【Ctrl+C 】组合键才终止命令。 -s 字节数 —— 设置 ping 命令发出的消息包的大小,默认发送的测试数据大小为 56字节;自动添加 8 字节的 ICMP 协议头后 , 显示的是 64 字节;再添加 20 字节的 IP 协议头,则显示的为 84 字节。 最大设置值为65507B 。 -i 时间间隔 —— 设定前后两次发送 ICMP 消息包之间的时间间隔,无此选项时,默认时 间间隔为1 秒。为了保障本机和目标主机的安全,一般不要小于 0.2 秒。 -t—— 设置存活时间 TTL(Time To Live)
[root@master ~]# ping -c 2 www.baidu.com
( 2 )使用 tracepath 命令用来追踪并显示报文到达目的主机所经过的路由信息 命令一般格式为: tracepath [ 选项 ] <目标主机名或目标 IP 地址 >
常用选项 : -n—— 对沿途各主机节点 , ,仅仅获取并输出 IP 地址,不在每个 IP 地址的节点设备上通过 DNS 查找其主机名 , 以此来加快测试速度。 -b—— 对沿途各主机节点同时显示 IP 地址和主机名。 -l 包长度 —— 设置初始的数据包的大 小。 -p 端口号 —— 设置 UDP 传输协议的端口 ( 缺省为 33434)
[root@master ~]# tracepath -b www.baidu.com
( 3 ) traceroute (Windows 系统下是 tracert) 命令利用 ICMP 协议定位您的计算机和目标计算机之间的所有路由器, 追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40 字节
[root@master ~]# traceroute -I www.baidu.com #-I表示使用ICMP协议
10.5 通过域名访问主机
1 、配置静态解析,通过 /etc/hosts 文件实现域名解析
[root@master ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.168.11 master
[root@master ~]# ping master
PING master (192.168.168.11) 56(84) bytes of data.
64 bytes from master (192.168.168.11): icmp_seq=1 ttl=64 time=0.131 ms
2 、通过 /etc/resolv.conf 文件指派域名解析服务器的地址,由 dns 服务器做域名解析
[root@master ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.168.2
[root@master ~]# host www.baidu.com 或者[root@master ~]# host www.baidu.com 192.168.168.2
Using domain server:
Name: 192.168.168.2
Address: 192.168.168.2#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.39
www.a.shifen.com has address 14.215.177.38
当通过域名访问服务器的时候,其默认解析顺序为hosts 文件、 resolv.conf 文件中的 DNS 服务器。其响应的先 后顺序可在文件/etc/nsswitch.conf 中设置。
10.6 从网站下载文件
1 、 wget 命令用于在终端命令行里下载网络文件,英文全称为: “web get” ,语法格式为: wget [ 选项 ] 网址
-P 下载到指定目录
-t 最大尝试次数
-b 后台下载模式
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
[root@node12 ~]# wget http://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/s/sl-5.02-1.el8.x86_64.rpm
2 、 curl 命令是一个网络工具,其主要作用是通过 http 、 https 、 ftp 等方式下载 / 上传文件
[root@node12 ~]# curl www.baidu.com -o index.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2381 100 2381 0 0 20976 0 --:--:-- --:--:-- --:--:-- 21070
[root@node12 ~]# ll
total 4
-rw-r--r-- 1 root root 2381 Jun 19 17:38 index.html