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