放弃ipup系列,开始使用更先进的nmcli来管理你的网络

背景

在CentOS的新版本中加入了nmcli来便于管理网络,但网上看到的更多的评论还都是摒弃这个,还继续使用传统的修改/etc/sysconfig/network-scripts/ifcfg-* 的方式来做网络配置。但这个太费时间了,还是用nmcli来管理网络吧。

nmcli简介

nmcli 是NetworkManager的一个命令行工具,NetworkManager则在Centos7以后成为了默认的网络管理工具。NetworkManager还有一个图形界面的工具nmtui. 这个更简单,启动后按照提示操作即可。

nmcli 安装和启动

yum install NetworkManager
systemctl start NetworkManager

使用nmcli来配置bond

下面的代码介绍了如何使用nmcli来配置两个 bond,这个用传统的ifcfg还是略微麻烦的。bond0绑定在eno1和eno2上,bond1绑定在enp7s0f0和enp7s0f1上,

sudo nmcli con add type bond con-name bond0 ifname bond0  mode 1 ipv4.method manual ipv4.address 10.9.2.152/24 ipv4.gateway 10.9.2.254 
sudo nmcli con add type bond-slave ifname eno1 con-name bond0-port1 master bond0
sudo nmcli con add type bond-slave ifname eno2 con-name bond0-port2 master bond0
sudo nmcli con up bond0-port1
sudo nmcli con up bond0-port2
sudo nmcli con up bond0

sudo nmcli con add type bond con-name bond1 ifname bond1  mode 1 ipv4.method manual ipv4.address 10.9.1.154/24 ipv4.gateway 10.9.1.254 
sudo nmcli con add type bond-slave ifname enp7s0f0 con-name bond1-port1 master bond1
sudo nmcli con add type bond-slave ifname enp7s0f1 con-name bond1-port2 master bond1
sudo nmcli con up bond1-port1
sudo nmcli con up bond1-port2
sudo nmcli con up bond1

sudo nmcli reoad

只需要这些简单步骤就可以完成配置,执行完之后,如果不放心还可以在/etc/sysconfig/network-scripts/ifcfg-* 和 /proc/net/bonding/bond* 查看对应的内容,已经全部都生成好了。

清除老的配置

在执行上述任务之前经常会已经有些网络配置了,可以用下面的命令把老的配置删除

sudo nmctl con show
sudo nmctl dev show
sudo nmcli con del bond0 
sudo nmcli con del eth0
sudo nmcli con del eth1
sudo nmcli dev del eth0
sudo nmcli dev del eth1
sudo systemctl network restart
上一篇:Linux设备驱动--异步通知


下一篇:英文口语学习笔记(每日更新)