nmcli功能强大的管理网络的命令


nmcli connection show#显示所有网络连接
nmcli con show -active#显示活动网络连接
nmcli dev show#显示所有网络设备的详情
nmcli device show eth0#查看指定网卡设备信息
nmcli device status#显示网络设备连接状态
nmcli connection modify eth0 connection.id eth0-1#指定网卡配置文件
nmcli connection add type Ethernet con-name eth1 ifname eth1#新建连接
#con-name eth1 生成配置文件为ifcfg-eth0  ifname eth1 是物理网卡
nmcli connection up eth1#启用网络
nmcli connection down eth1#停用网络
nmcli connection modify eth1 connection.autoconnect yes#自动连接
nmcli connection modify eth1 ipv4.method manual ipv4.addresses 1.1.1.1/24
[ipv4.gateway 1.1.1.254 ipv4.dns 8.8.8.8]
nmcli connection modify eth1 +ipv4.address 2.2.2.2/24
nmcli con mod eth0 ipv4.method manual
nmcli con mod eth0 ipv4.gateway 1.1.1.1#修改默认网关
nmcli con mod eth0 +ipv4.addresses 1.1.1.1/24#添加第二个IP地址
nmcli con mod eth0 ipv4.dns 8.8.8.8#添加dns1
nmcli con mod eth0 +ipv4.dns  8.8.8.8#添加dns2
nmcli con mod eth0 -ipv4.dns  8.8.8.8#删除dns
nmcli con down eth0#停用网络连接(可被自动激活)
nmcli dev dis eth0#禁用网卡,防止被自动激活
nmcli con del eth0#删除网络连接的配置文件
nmcli con reload#重新加载配置网络配置文件
nmcli net on/off#启用/关闭所有的网络连接
nmcli con dis eth0#禁用网络设备并防止自动激活
nmcli con add help#查看添加网络连接配置的帮助


nmcli命令修改所对应的文件条目

nmcli con mod                                        ifcfg-* 文件

ipv4.method manual                               BOOTPROTO=none

ipv4.method auto         BOOTPROTO=dhcp

connection.id eth0          NAME=eth0

(ipv4.addresses                                       IPADDR0=192.0.2.1

192.0.2.1/24)          PREFIX0=24

ipv4.gateway 192.168.1.1          GATEWAY0=192.0.2.254

ipv4.dns 8.8.8.8          DNS0=8.8.8.8

pv4.dns-search example.com          DOMAIN=example.com

pv4.ignore-auto-dns true          PEERDNS=no

connection.autoconnect yes          ONBOOT=yes

connection.interface-name eth0         DEVICE=eth0

802-3-ethernet.mac-address...         HWADDR=...


图形工具:nm-connection-editor

网络接口配置tui工具:nmtui


创建bond

1 . 新建bond0配置文件

nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
mode为选定bond工作模式


2 . bond0添加IP地址

nmcli connection modify bond0 ipv4.method manual ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.254


3 . bond0添加物理网卡

nmcli connection add type bond-slave ifname eth0 master bond0
nmcli connection add type bond-slave ifname eth1 master bond0
nmcli connection show

这里没有用con-name参数会默认生成一个配置文件


4 . 启用bond0

nmcli connection up bond-slave-eth1
nmcli connection up bond-slave-eth0
nmcli connection up bond0


5 .查看网络

nmcli connection show


6 . bond0的状态

cat /proc/net/bonding/bond0


删除bond0

nmcli connection down bond0  
nmcli connection delete bond0    
nmcli connection delete bond-slave-eth1
nmcli connection delete bond-slave-eth0

bond七种模式:

Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。

Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。

Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)

Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制,和交换机的聚合强制不协商方式配合。

Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)

Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave

Mode=6(balance-alb) 在5的tlb基础上增加了rlb。


创建team

1 . 创建team0

nmcli connection add type team con-name team0 ifname team0 ipv4.method manual ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.254 config '{"runner":{"name":"activebackup"}}' #注意格式


2 . 将eth0、eth1网卡关联到team0

nmcli connection add type team-slave ifname eth1 con-name team-slave-eth1 master team0
nmcli connection add type team-slave ifname eth0 con-name team-slave-eth0 master team0

   

3 . 启用team0

nmcli connection up team-slave-eth0
nmcli connection up team-slave-eth1
nmcli connection up team0


4 . 查看team0的状态

teamdctl team0 state


删除team0

nmcli connection down team0
nmcli connection delete team0
nmcli connection delete team-slave-eth0
nmcli connection delete team-slave-eth1


team四种模式:

activebackup #主备模式:只有一个网卡处于活跃状态,当一个宕掉另一个备份网卡马上切换到活跃状态。

broadcast #广播模式:所有网卡设备均处于活跃状态,即在每个接口上传输每个数据包,此模式提供了容错能力,此模式增加了系统开销

loadbalance #负载均衡模式:loadbalance 所有网卡设备均处于活跃状态,根据port负载情况分配外出流量,同时如果其中某个port异常,另外的port会接管。此模式主要提升吞吐量,以及容错能力。

roundrobin #轮询平衡策略:所有网卡均处于活跃状态,发包时以依次累加的计数器为索引选择网卡,通过如果某个网卡异常,则会停用,此模式一定程度提升了吞吐量,以及容错能力。


1. 创建br0

nmcli connection add type bridge con-name br0 ifname br0 ipv4.method manual ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.254


2 . br0关联网卡

nmcli connection add type bridge-slave ifname eth0 master br0
nmcli connection add type bridge-slave ifname eth1 master br0


3 . 启用br0

nmcli connection up bridge-slave-eth0
nmcli connection up bridge-slave-eth1
nmcli connection up br0


4 .  查看bridge的信息

brctl show


删除br0

nmcli connection down br0
nmcli connection delete br0
nmcli connection delete bridge-slave-eth0
nmcli connection delete bridge-slave-eth1
nmcli connection reload