网络管理之nmcli命令的使用

nmcli命令

    

地址配置工具:nmcli

nmcli[ OPTIONS ] OBJECT { COMMAND | help }

    device -show and manage network interfaces

    nmcli device help

    connection -start, stop, and manage network connections

    nmcli connection help

修改IP地址等属性:

    #nmcli connection modify IFACE [+|-]setting.propertyvalue

    setting.property:

    ipv4.addressesipv4.gateway

    ipv4.dns1 ipv4.methodmanual | auto

修改配置文件执行生效:systemctl restart network

    nmcli con reload

nmcli命令生效:nmclicon down eth0 ;nmclicon up eth0

使用nmcli配置网络

NetworkManager是管理和监控网络设置的守护进程

使用nmcli命令必须启用NetworkManager服务

设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。

显示所有包括不活动连接

    nmcli con show

blob.png

显示所有活动连接

    nmcli con show –active

blob.png

显示网络连接配置

    nmcli con show "System eth0“

显示逻辑设备上的详细属性

blob.png

显示设备状态

    nmcli dev status

显示各个设备的状态

blob.png

显示网络接口属性

    nmcli dev show eth0

可以显示设备接口的详细属性

blob.png

创建新连接default,IP自动通过dhcp获取

    nmcli con add con-name default type Ethernet ifname eth0

blob.png

可以创建一个文件名为ifcfg-default的类型ethernet设备是eth1的配置文件

删除连接

    nmcli con del default

删除刚才创建的配置文件

blob.png

创建新连接static ,指定静态IP,不自动连接

    nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

创建了一个文件名为ifcfg-eth1,设备是eth1,不自动启用,类型为ethernet,ip是10.1.1.9,网关是10.1.1.1的配置文件

blob.png

启用static连接配置

    nmcli con up static

blob.png

启用default连接配置

    nmcli con up default

启用这些配置可以先通过命令nmcli dev status 查看状态

blob.png

查看帮助

    nmcli con add help

修改连接设置

    nmcli con mod“static” connection.autoconnect no

可以修改设备自动启用

    nmcli con mod “static” ipv4.dns 172.25.X.254

修改设备DNS的地址

    nmcli con mod “static” +ipv4.dns 8.8.8.8

增加设备DNS的地址

    nmcli con mod “static” -ipv4.dns 8.8.8.8

删除设备DNS的地址

    nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”

修改设备的IP地址

    nmcli con mod “static” +ipv4.addresses 10.10.10.10/16

增加设备的IP地址

nmcli命令

blob.png

还有nmcli命令对应的文件配置

blob.png

修改连接配置后,需要重新加载配置

    nmcli con reload

在重新设置配置文件后,可以重新读取新配置的内容

    nmcli con down “system eth0” 可被自动激活

停用网卡,但是如果自动启用开启,可以被自动激活

    nmcli con up “system eth0”

启用网卡

    nmcli dev dis eth0 禁用网卡,访止被自动激活

图形工具

    nm-connection-editor

网络组Network Teaming,可以实现多网卡一个IP工作,实现冗错和提高吞吐量

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

网络组不同于旧版中bonding技术,提供更好的性能和扩展性

网络组由内核驱动和teamd守护进程实现.

多种方式runner

broadcast

roundrobin

activebackup

loadbalance

lacp(implements the 802.3ad Link Aggregation Control Protocol)

网络组的特性:

启动网络组接口不会自动启动网络组中的port接口

启动网络组接口中的port接口不会自动启动网络组接口

禁用网络组接口会自动禁用网络组中的port接口

没有port接口的网络组接口可以启动静态IP连接

启用DHCP连接时,没有port接口的网络组会等待port接口的加入

那么现在我们来实现一个网络组Network Teaming

nmclicon add type team con-name CNAME ifname INAME[config JSON]

CNAME连接名,INAME接口名

JSON指定runner方式

    格式:'{"runner": {"name": "METHOD"}}'

    METHOD可以是broadcast,roundrobin,activebackup,loadbalance, lacp

五种模式分别指的是

broadcast 广播

roundrobin 轮巡

activebackup 主备模式

loadbalance 负载均衡

lacp ( implemments the 802.3ad Link Aggregatin Control )动态链路聚合

blob.png

blob.png

我们成功创建了一个网络组team0,但是现在还没有IP,也可以看到BOOTPROTO的模式还是为自动获取,需要改成手动配置

blob.png

接下来我们增加成员也就是网络接口到这个网络组

blob.png

现在我们来激活两个设备

blob.png

blob.png

blob.png

管理网络组配置文件

# /etc/sysconfig/network-scripts/ifcfg-team0

DEVICE=team0

DEVICETYPE=Team

TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"

BOOTPROTO=none

IPADDR0=172.25.5.100

PREFIX0=24

NAME=team0

ONBOOT=yes

# /etc/sysconfig/network-scripts/ifcfg-team0-eth1

DEVICE=eth1

DEVICETYPE=TeamPort

TEAM_MASTER=team0

NAME=team0-eth1

ONBOOT=yes

原创文章,作者:Kartik,如若转载,请注明出处:http://www.178linux.com/47859