一、简单了解 NM(NetworkManager)
在 Linux 中,NM 是 NetworkManager 的缩写。它是一个用于管理网络连接的守护进程和工具集。
在 RHEL9 上,使用 NM 进行网络配置,ifcfg (也称为文件)将不再是网络配置文件的主存储。从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。
查看 /etc/NetworkManager/system-connections/ 中的网络配置。
查看 /etc/sysconfig/network-scripts/ 中配置的旧格式。
NM 的特点:
管理各种网络 | NM 能够自动识别系统中的网络设备,如:以太网接口、有线网卡、无线网卡、物理网卡、虚拟网卡等,并根据预设的规则和可用的网络信息自动进行配置。 |
提供多种工具 | NM 提供了图形化界面和命令行工具,如:命令行、文本界面、图形界面、web等,以满足不同用户的需求。 |
支持多连接类型 | NM 支持多种不同的网络连接类型,涵盖以太网、Wi - Fi、PPP 拨号、VPN 等。无论是家庭网络、办公网络,还是移动网络环境,NM 都能提供统一的管理方式,方便用户在不同网络间进行切换和配置 |
二、Linux 图形设定方式
通常配置IP,第一选择命令配置,第二选择文件配置,图形配置也是一种方式。一般在现实生产环境中,默认是没有 DHCP 的,需要自己手动配置。
1.图形方式配置 IP
1)配置前的准备
关闭 DHCP ,先在编辑中找到虚拟网络编辑器,选择VMnet8 ,关掉 DHCP,再点击应用和确定,才真正关掉了 DHCP。随后通过 ip a 命令查看,已没有 ip 地址。
确认 NetwoekManager 这个服务器是正在运行的,才能用图形配置 IP 地址。
2)图形配置
命令:nm-connection-editor
①打开图形命令,图形原本有 DHCP,需要删掉,选择 ens160 ,点击 - ,选择 Delete 删除。
②然后点击 + ,选择以太网,创建。
③进入到编辑网卡的界面,连接名称可随意取,最好与网卡名称相同,便于知道这个连接是控制网卡的。
④然后配置 ipv4,DHCP 是动态网络,IP 不固定,选择 Manual(静态网络),手动配置IP,网段与 Windows 服务器相同。最后保存,即配置成功。保存后便增加了刚刚配置的以太网。
⑤再次用 ip a 查看 IP ,便成功配置了刚刚设定的IP地址。
⑥打开虚拟网络编辑器,打开 DHCP ,点击应用和确定,并断开无线网,然后在 Windows 的终端用 ipconfig/all 的命令查看 VMnet8 自动配置的 IP 地址,为192.168.10.1。
⑦随后检测刚刚配置的 IP 地址与 Windows 的连通性,连通成功。
2.可视化配置 IP
命令:nmtui
若没有图形,可用文本图形配置。先将图形配置的 ens160 删掉,清除原本的 IP 地址。
①输入 init 3 ,接着输入账户和密码,再输入 nmtui 命令,进入TUI 界面。
②选择编辑连接,然后添加,选择以太网。
③进入到编辑连接界面,连接名称可任意取名,设备名称不能乱写,可以在进入网络设置前用 ip a 命令查询(有什么用什么)。
然后在 ipv4连接 那里选择 Manual 手动配置,展开 ipv4 的内容,配置 IP 地址为192.168.10.200/24,完成后相继选择 OK 、Back、OK 退出。
④最后 ip a 查询,可知成功配置 IP。
⑤回到终端,检测与 Windows 的连通性,连通成功。
三、Ping 命令
ping 用来检测网络的连通情况和分析网络速度,
命令格式:ping -参数 目标主机IP或域名
1.Ping 的参数
c | 设定本命令发出的 ICMP 消息包的数量,若无此选项,则会无限次发送消息包,直到用户按 Ctrl+C 才终止命令。 |
w | 设定命令等待多长时间终止命令 |
i | 设定前后两次发送ICMP消息包之间的时间间隔,默认时间间隔为1秒,为了保障本机和目标主机的安全,一般时间间隔不小于0.2秒。 |
s | 设置ping命令发出的消息包的大小,默认发送的测试数据大小为56字节,最大设置值为65507B |
t | 设置存活时间 TTL(Time To Live) |
① ping -c 3 192.168.10.1:ping 3次后终止命令。
② ping -w 1 192.168.10.1:ping 1秒后终止命令。
③ ping -c 3 -w 1 192.168.10.1:ping 3次等待1秒,若1秒后没 ping 到3次,则终止命令,因此 -c 和 -w 同时使用时,需平衡一下,若等待时间不够,便 ping 不了想要 ping 的次数。
④ ping -c 3 -s 192.168.10.1:ping 3次,设置发送的测试数据大小为64字节。
⑤ ping -c 3 -i 192.168.10.1:ping 3次,2秒发送一次。
显示内容分析:
bytes | 192.168.10.1 | icmp_seq | ttl | time |
数据包大小(字节) | 目标主机IP | 序列号 | 存活时间(DNS 记录在 DNS 服务器上存在的时间) | 响应时间,时间越小,延迟越低,速度越快 |
2.Ping 通外网(以百度为例)
目前虚拟机还无法连通外网,据前面用图形配置了 IP ,但并没有写上网关和 DNS。
打开虚拟网络编辑器,选择 VMnet8 ,点击 NAT 设置,可查看 VMnet8 的网关。
然后打开图形命令,双击 lxt ,然后在 ipv4 配置上加上网关和 DNS 服务器,并保存。
因为是更改,所以需要 reload 加载配置文件,并将连接名称 up 起来
最后检测与百度域名的连通性,连通成功。
四、从网络下载文件
1.wget 命令
用于在终端命令行里下载网络文件,英文全称为:“web get” 。
格式:wget -参数 需下载的文件链接
参数说明:
-P | 将文件下载到指定目录 |
-t | 最大尝试次数,以指定次数尝试连接 |
-b | 后台模式下载,不在终端显示 |
-p | 下载页面内所有资源,包括图片、视频等 |
-c | 断点续传 |
-r | 递归下载(若下载目录,可将里面的文件一同下载) |
在当前目录下载 qq 。
-P:将 qq 下载到指定目录 mnt 中,随后查看 mnt 目录里的内容,下载的 qq 文件出现在里面。
-t:在下载过程中,若网络连接有误或网断了,会尝试连接指定次数。下面链接后面少了个 m ,链接错误,但会尝试连接10次。
-b:在后台下载,不在终端显示,在后台运行着,直至下载完成。
若想终止下载,可用 kill -9 进程号 的命令强制终止进程。
-p:单下载百度的话只有 html 文件,加上 -p 后,出现的是一个目录,包含 html 和一些说明。
2.curl 命令
检测网络页面,将百度的代码写了出来,但没有修饰功能。
-o:将写的百度内容保存到 index.html 文件中
五、通过命令永久设定 IP
可以实现创建、显示、编辑、删除、激活和停用网络连接以及控制和显示网络设备状态等。
ens160 为网卡名
1.NM 控制的网络是否开启
nmcli networking #查看网络状态
nmcli networking off #关闭网络
nmcli networking on #开启网络
2.查看网卡信息
nmcli device show [ens160] #查看所有网络设备详情(q 键退出)
nmcli device status [ens160] #查看网卡服务接口信息
nmcli connection show [ens160] #查看连接(指定网卡详细信息,q 键退出)
3.激活和关闭网卡或网络连接
nmcli device connect ens160 #启用 ens160 网卡
nmcli device disconnect ens160 #关闭 ens160 网卡(只停用设备的 IP,不关闭设备)
nmcli device up ens160 #开启设备,激活网络连接
nmcli device down ens160 #断开设备,关闭网络连接
nmcli connection up test #开启连接
nmcli connection down test #关闭连接
4.添加网络连接
nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.10.123/24
nmcli connection reload #刷新
nmcli connection up test #激活5.更改网卡的 IP
nmcli connection modify test ipv4.addresses 192.168.10.100/24
6.删除网络连接
nmcli connection delete test #删除连接
1.nmcli networking (网络)
查看 NM 控制的网络是否开启,若为关闭状态,则无法对网络用户进行设定,只能设定临时的 IP;只有开启网络,并查看网卡信息,才能使用该网络。
2.nmcli device (设备)
① nmcli device status:查看网卡服务接口信息。删除前面设定的网卡,然后查看已有设备的连接状态,显示没有使用 ens160 这台设备。

通过图形方式设定名为 test 的连接,IP 地址为 192.168.10.100/24,
再次查看设备连接状态,这台设备已被 test 所使用。
② nmcli device disconnect ens160:只停用设备的 IP ,断开连接,但设备不关闭。通过 ip a 命令查看 IP 地址,然后关闭 ens160 网卡的连接,再次通过 ip a 命令查看,已没有了 IP 地址。
③ nmcli device connect ens160:启用 ens160 网卡,IP 地址便回来了。
④ nmcli device down ens160:将设备断电,关闭连接
⑤ nmcli device up ens160:将设备通电,开启连接
⑥ nmcli device show:查看设备的详细信息。nmcli device show ens160 只查看 ens160 设备的信息。
3.nmcli connection (连接)
① nmcli connection delete test:删除连接先将 ens160 设备删除,用图形查看是否删除成功。
② nmcli connection add type ethernet con-name test ifname ens160 ipv4.method manual ipv4.addresses 192.168.10.123/24 :手动添加名为 test 的连接,IP 为 192.168.10.123/24
③ nmcli connection add type ethernet con-name test1 ifname ens160 ipv4.method auto :配置 DHCP
④ nmcli connection show:查看网卡信息
因 ens160 已被 test 使用,所以 test1 启用不了
将 test1 删除,并查看是否删除成功。
⑤ nmcli connection modify test ipv4.addresses 192.168.10.100/24 :修改 test 的 IP 地址为192.168.10.100/24 。在图形中查看,IP 已改,但不生效。因为图形显示的是配置文件,而网络已经运行了 192.168.10.123/24 的 IP 地址,加载过了这个地址,所以不生效。
⑥ nmcli connection reload :刷新
⑦ nmcli connection up test :激活
更改完毕后,要先刷新,再激活,才能生效。
六、网络配置文件
cd /etc/NetworkManager/system-connections/
/etc/NetworkManager/system-connections/ 网卡的配置目录
可查看到 test.nmconnection 的权限必须为 600, 否则网络无法启用。
将 test.nmconnection 的权限修改为 644,刷新后可查看到已没有 test 的网卡了
再将权限修改回 600, 刷新激活后,可查看到 test 网卡存在。
ipv6 和 proxy(代理) 不需要添加,可删
查看 test.nmconnection 文件是否还存在,随后直接修改 test.nmconnection 文件,设定 IP
将以下内容写入 test.nmconnection 文件,手动设定两个 ip 地址
[connection]
id=lxt #链接名称
type=ethernet #网络类型
interface-name=ens160 #设备名称[ipv4]
address1=192.168.10.100/24 # IP 地址
address2=192.168.10.200/24 # IP 地址
method=manual #网卡工作模式为静态(手动配置)
确保当前所在目录为网卡配置目录,然后将文件名改为 lxt.nmconnection ,并修改权限为 600,才能成功启用网络。
刷新、查看并启用网卡,已成功添加名为 lxt 的网卡。
用ip a 命令可查看到该设备已有 192.168.10.100/24 和 192.168.10.200/24 两个 ip 地址。
七、网关的定义及配置
在 Linux 系统中,网关(Gateway)是一个网络节点,充当着不同网络之间的桥梁,使数据包能够在不同网络之间进行转发。
1.临时设定网关
route -n :查看路由表
route add default gw 192.168.10.2 :添加临时网关
将网络连接重新刷新和激活后,便没有了网关。
2.永久设定网关
nmcli connection modify lxt ipv4.method manual ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.2
根据以上命令添加网关,然后刷新并激活,查看路由表,便可知成功设定了永久网关。
随后进入到网络配置目录中,查看网关,若在文件中设定网关,只需在 ip 地址后面加上 ,网关 即可。
只有配置了网关,才能连通外网。
八、dns 的定义及配置
在 Linux 中,DNS(Domain Name System,域名系统)是一种用于将域名转换为 IP 地址的分布式网络服务系统。
在 Windows 的终端可以 ping 通外网(以百度为例),也可知道百度的 ip 地址。
而在当前主机只能 ping 通 ip 地址,无法 ping 通域名,因为这台主机并不知道百度的 ip 地址。
1.临时设定 dns
解析:解释分析,知道网址,可得出 ip 地址
/etc/hosts:本地解析文件,用户自己把网址和 ip 的对应关系记录到此文件中,那么在浏览器访问网址的时候就可以做解析。
/etc/resolv.conf:dns 服务器的指向文件,此文件中不提供域名解析,但提供 dns 域名解析服务器的地址。
vim /etc/hosts:编辑本地解析文件,将百度的 ip 地址与域名加上,并 :wq 保存。
随后 ping 百度的域名,显示可以连通。
vim /etc/resolv.conf:编辑 dns 服务器的指向文件,添加服务器名称 8.8.8.8。
8.8.8.8:当有域名解析需求时发送需求给 8.8.8.8(谷歌的 dns)
查看 /etc/hosts 解析文件的内容,只添加了百度的 ip 和域名,随后 ping www.qq.com ,连通成功,通过 dig 可查看到,数据来源于 8.8.8.8。
此时可以随意上网,大多数网址都能查看。
2.永久设定 dns
但是这个方式并不是永久的,最好是写入配置文件中,才是永久设定 dns。写入配置文件的dns 为114.114.114.114。
刷新并激活后,查看 /etc/resolv.conf 中的内容,服务器名称已改为 114.114.114.114,随后 ping 百度的域名,连通成功。