Linux操作系统的网络管理
网络管理服务NetworkManager
简介
在早期的Linux发行版里几乎所有的网络服务都有network服务,从RHEL7开始红帽官方建议采用NetworkManager的“方式”配置网络,而不建议再使用network服务传统的方式配置网络。
原因:
网络是非常复杂的,需要配置的网络相关的参数非常多,早期配置网络的方法,几乎只有创建网卡配置文件,添加网络参数,修改网络参数,然后重启network服务,让network服务加载配置文件到内存,让内核读取网卡配置文件来获取网络配置。
NetworkManager早期的设计目的是为了统一网络配置,统一网络配置的意思就是以后所有网络相关的配置都是用NetworkManager来实现。
NetworkManager服务提供了3种工具来让你配置我们的网卡参数,无论哪一种工具,都不需要你取手工的修改网卡配置文件
查看NetworkManager的状态
[root@localhost ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-03-21 03:58:32 EDT; 51min ago
Docs: man:NetworkManager(8)
Main PID: 954 (NetworkManager)
Tasks: 3 (limit: 49667)
Memory: 12.6M
CGroup: /system.slice/NetworkManager.service
└─954 /usr/sbin/NetworkManager --no-daemon
确认NetwortManager服务是开启的,如果服务不开启,就无法使用NetworkManager提供的工具
[root@localhost ~]# lshw -class net -businfo ##查看网卡总线信息
Bus info Device Class Description
====================================================
pci@0000:03:00.0 ens160 network VMXNET3 Ethernet Controller
virbr0-nic network Ethernet interface
virbr0 network Ethernet interface
使用nmcli管理device
nmcli查看网卡参数(硬件层面)
[root@localhost ~]# nmcli device status ##看网卡和网卡配置文件的概述信息
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
virbr0 bridge connected virbr0
ens224 ethernet disconnected --
lo loopback unmanaged --
virbr0-nic tun unmanaged --
##共4列:
##第一列:表示网卡名称(内核label)
##第二列:网卡类型(内核label)
##第三列:当前网卡状态(表示NetworkManager是否接管这块网卡)
##第四列:当前网卡使用的配置文件时什么,如果有名字,就表示该网卡的配置文件的就是那个名字,如果时“--”就表示该网卡当前没有配置文件
##如果第三列是unmanaged,就表示该块网卡并灭有被NetworkManager服务接管。如果网卡没有被NetworkManager服务接管,就意味着无法使用NetworkManager管理该网卡
##如果第三列是disconnected,就意味着该块网卡,并没有使用任何配置文件
##如果第三列是connected,意味着该块网卡,正在使用某个配置文件
##如果第三列是connecting,就意味着该网卡正在获取IP地址
DEVICE(设备) 物理网卡
CONNECTION(连接) 网卡配置文件
nmcli命令是可以补全的,但要安装bash-completion-2.7-5.el8.noarch软件
删除网卡
[root@localhost ~]# nmcli device delete ens160 ##尝试删除物理网卡
Error: Device 'ens160' (/org/freedesktop/NetworkManager/Devices/2) deletion failed: This device is not a software device or is not realized
Error: not all devices deleted.
##nmcli device delete命令(***下岗命令***)可以删除虚拟网卡,但是不能删除物理网卡
[root@localhost ~]# nmcli device delete virbr0 ##尝试删除虚拟网卡
Device 'virbr0' successfully removed.
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
ens224 ethernet disconnected --
lo loopback unmanaged --
virbr0-nic tun unmanaged --
连接一个物理网卡
[root@localhost ~]# nmcli device connect ens224 ##connect表示连接一个网卡
Device 'ens224' successfully activated with 'a30ae22c-e853-4954-81c5-37ba24c90afe'.
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
ens224 ethernet connected ens224
lo loopback unmanaged --
virbr0-nic tun unmanaged --
切断一个网卡
[root@localhost ~]# nmcli device disconnect ens224 ##disconnect表示切断一个网卡
Device 'ens224' successfully disconnected.
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
ens224 ethernet disconnected --
lo loopback unmanaged --
virbr0-nic tun unmanaged --
查看网卡的物理参数
[root@localhost ~]# nmcli device show ens160 ##查看网卡的物理参数
GENERAL.DEVICE: ens160
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:07:52:1C
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens160
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.110.100/24
IP4.GATEWAY: 192.168.110.2
IP4.ROUTE[1]: dst = 192.168.110.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]