NetworkManager一些相关知识

NetworkManager和network.service都是用来管理网络的工具。在CentOS 7版本中,NetworkManager和network.service默认安装时是共存的,但习惯使然我们一般都是禁用掉NetworkManager而仍然使用配置文件+network.service的方式来配置和管理主机上的网络。

RHEL 8/CentOS 8版本开始network.service默认没有安装,默认只使用NetworkManager作为网络管理工具。而且RedHat官方指出在后续的版本中会彻底不支持network.service,这样一来除了NetworkManager我们也没有选择余地。既然无力反抗,那么就要学会享受。

其实NetworkManager也有优点,比如使用方式多样化:命令行、文本界面、图形界面、web portal均可支持。nmcli命令行支持tab补齐,使用感受类似配置交换机;nmtui工具可以在shell终端开启文本图形界面。而且Linux主流知发行版,RedHat系、Suse系、Debian/Ubuntu系均支持NetworkManager。

NetworkManager有2个基本的概念:连接(Connection)和设备(Device)。

Device是操作系统层面能够识别到的网卡设备,如本地回环lo、本地网卡eth0(nmcli d命令可以查看到)。

Connection可以认为是Device对应的配置文件,也就是说一个Device可以对应多个Connection。同一时间只有一个Connection是处于**状态的(nmcli c命令输出结果中绿色的行)。

使用NetworkManager配置bond 0

假设机器上目前有2个物理网卡ens33/ens36

# nmcli con add type bond ifname bond0 con-name bond0 mode balance-rr

# nmcli con add type bond-slave ifname ens33 master bond0

# nmcli con add type bond-slave ifname ens36 master bond0

# nmcli con modify bond0 ipv4.address 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.dns 114.114.114.114 ipv4.method manual ipv6.method ignore

 

使用NetworkManager配置vlan

# nmcli con add type bond ifname bond0 con-name bond0 mode balance-rr ipv4.method disabled ipv6.method ignore

# nmcli con add type bond-slave ifname ens33 master bond0

# nmcli con add type bond-slave ifname ens36 master bond0

# nmcli con add type vlan con-name bond0.101 ifname bond0.101 dev bond0 id 101 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.dns 114.114.114.114 ipv4.method disabled ipv6.method ignore

使用NetworkManager配置单网卡多IP

先正常配置一个Connection:

# nmcli con add type ethernet ifname ens33 con-name ens33 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.method disabled ipv6.method ignore

再按如下格式修改/etc/sysconfig/network-scripts/中的配置文件,然后nmcli con up ens33-1一下使之生效。

CentOS 8中使用NetworkManager创建和配置网卡bond/vlan

 

相关文章: