浅谈 CentOS 8 网络配置

RHEL8与RHEL7的网络管理区别

在RHEL8(CentOS 8)上,没有传统的 network.service 服务,在RHEL7上,同时支持network.service 和 NetworkManager.service(简称NM)。默认情况下,这两个服务都有开启。

RHEL8已经废弃network.service服务,取而代之的是通过NM服务进行网络配置,包括动态ip和静态ip,否则无法使用网络。

RHEL8 目前依然支持 network.service ,只是默认没有安装,既然已经上手CentOS 8 为何不学习使用NetworkManager 呢?

什么是 NetworkManager ?

NetworkManager 是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。

类似在手机上同时开启WIFI和移动数据,自动探测可用网络并连接,无需手动切换。

NM可以管理各种网络

有线网卡、无线网卡
动态ip、静态ip
以太网、非以太网
物理网卡、虚拟网卡

使用方法

nmcli:命令行,最常用的工具
nmtui:在shell终端开启文本图形界面
Freedesktop applet:GNOME上自带的网络管理工具
cockpit:redhat自带的基于web图形界面的工具,具有dashborad和基础管理功能

nmcli使用方法 (nmcli命令支持tab补全,需要 yum install -y bash-completion)

nmcli connection #连接,可理解为配置文件,相当于ifcfg-ethX。简写为nmcli c

nmcli device #设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)简写为nmcli d,在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即 nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即 nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过 nmcli c up切换连接。

connection有两种状态
活跃(带颜色字体):表示当前该connection生效
非活跃(正常字体):表示当前该connection不生效

device有4种常见状态
connected:已被NM纳管,并且当前有活跃的connection
disconnected:已被NM纳管,但是当前没有活跃的
connection unmanaged:未被NM纳管
unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

nmcli 常用命令

[root@localhost ~]# nmcli #查看ip(类似于ifconfig、ip addr)

[root@localhost ~]# nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 203.0.113.11/24 ipv4.gateway 203.0.113.254 ipv4.method manual # 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并配置ifup启动)

[root@localhost ~]# nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto # 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)

[root@localhost ~]# nmcli c modify ethX ipv4.addr '203.0.113.12/24'
[root@localhost ~]# nmcli c up ethX # 修改ip(非交互式)

[root@localhost ~]# nmcli c edit ethX # 修改ip(交互式)

nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 203.0.113.11/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit

[root@localhost ~]# nmcli c up ethX # 启用connection(相当于ifup)

[root@localhost ~]# nmcli c down # 停止connection(相当于ifdown)

[root@localhost ~]# nmcli c delete ethX # 删除connection(类似于ifdown并删除ifcfg)

[root@localhost ~]# nmcli c show # 查看connection列表

[root@localhost ~]# nmcli c show ethX # 查看connection详细信息

[root@localhost ~]# nmcli c reload # 重载所有ifcfg或route到connection(不会立即生效)

[root@localhost ~]# nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX # 重载指定ifcfg或route到connection(不会立即生效)(1)
[root@localhost ~]# nmcli c load /etc/sysconfig/network-scripts/route-ethX # 重载指定ifcfg或route到connection(不会立即生效)(2)

[root@localhost ~]# nmcli c up ethX # 立即生效connection,方法一
[root@localhost ~]# nmcli d reapply ethX # 立即生效connection,方法二
[root@localhost ~]# nmcli d connect ethX # 立即生效connection,方法三

[root@localhost ~]# nmcli d #查看device列表

[root@localhost ~]# nmcli d show # 查看所有device详细信息

[root@localhost ~]# nmcli d show ethX # 查看指定device的详细信息

[root@localhost ~]# nmcli d connect ethX # 激活网卡

[root@localhost ~]# nmcli r all off # 关闭无线网络(NM默认启用无线网络)

[root@localhost ~]# nmcli n # 查看NM纳管状态

[root@localhost ~]# nmcli n on # 开启NM纳管

[root@localhost ~]# nmcli n off # 关闭NM纳管(远程注意谨慎执行,否则脱控)

[root@localhost ~]# nmcli m # 监听事件

[root@localhost ~]# nmcli # 查看NM本身状态

[root@localhost ~]# nm-online # 检测NM是否在线可用
发布了84 篇原创文章 · 获赞 2 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_46192300/article/details/105047995
今日推荐