CentOS 7网络配置之nmcli命令集

2018-01-17  本文已影响0人  guo的学习笔记

简介

  NetworkManager由一个管理系统网络连接、并且将其状态通过D-BUS(是一个提供简单的应用程序互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户端程序。在NetworkManager中有一个很好用的网络配置工具就是nmcli。

nmcli命令集

nmcli语法
nmcli [ OPTIONS ] OBJECT { COMMAND | help }

nmcli 常用选项

connection          #配置网络连接
device              #管理网卡
networking          #管理网络状态

实例

connection 配置网络连接

查看所有连接

[root@CentOS7.3 ~]#nmcli connection show
NAME    UUID                                  TYPE            DEVICE 
eth0    702eabdc-6623-4d51-b864-f6bfdb521b55  802-3-ethernet  eth0   
virbr0  40217849-abce-47d2-b2c6-dc5b3f8beadb  bridge          virbr0 
eth1    9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  --   

仅查看活跃连接

[root@CentOS7.3 ~]#nmcli connection show --active 
NAME    UUID                                  TYPE            DEVICE 
eth0    702eabdc-6623-4d51-b864-f6bfdb521b55  802-3-ethernet  eth0
virbr0  40217849-abce-47d2-b2c6-dc5b3f8beadb  bridge          virbr0 

创建新连接default,IP地址通过DHCP自动获取

[root@CentOS7.3 ~]#nmcli connection add con-name default type ethernet ifname eth1 
Connection 'default' (db8ef10f-c848-461a-9098-09501f20d32b) successfully added.

参数

con-name        #指定连接名
type            #指定连接类型
ifname          #指定连接到那块网卡

删除连接

[root@CentOS7.3 ~]#nmcli connection delete default 
Connection 'default' (db8ef10f-c848-461a-9098-09501f20d32b) successfully deleted.

创建新链接static,并指定静态IP地址。

[root@CentOS7.3 ~]#nmcli connection add con-name static ifname eth1 autoconnect no type ethernet ipv4.method manual ipv4.addresses 192.168.0.8/24 gw4 192.168.0.1
Connection 'static' (e42075e8-4261-4890-b499-818b96d7411f) successfully added.
[root@CentOS7.3 ~]#nmcli connection show 
NAME    UUID                                  TYPE            DEVICE 
eth0    702eabdc-6623-4d51-b864-f6bfdb521b55  802-3-ethernet  eth0   
eth1    9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  eth1   
virbr0  40217849-abce-47d2-b2c6-dc5b3f8beadb  bridge          virbr0 
static  e42075e8-4261-4890-b499-818b96d7411f  802-3-ethernet  --    

参数

autoconnect     #是否自动链接到网卡,参数(yes/no)。
ipv4.method     #设置IP地址是自动获取还是静态指定。
ipv4.addresses  #指定静态IPV4地址。
gw4             #指定静态IPV4网关地址。

启动static连接

[root@CentOS7.3 ~]#nmcli connection up static 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
[root@CentOS7.3 ~]#nmcli connection show        #再次查看连接
NAME    UUID                                  TYPE            DEVICE 
eth0    702eabdc-6623-4d51-b864-f6bfdb521b55  802-3-ethernet  eth0   
static  e42075e8-4261-4890-b499-818b96d7411f  802-3-ethernet  eth1      #static连接启动成功  
virbr0  40217849-abce-47d2-b2c6-dc5b3f8beadb  bridge          virbr0 
eth1    9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  -- 

修改连接配置

[root@CentOS7.3 ~]#nmcli connection modify "static" ipv4.dns 8.8.8.8    #为static连接添加一个dns地址。
[root@CentOS7.3 ~]#nmcli connection modify "static" ipv4.addresses 192.168.0.9 #修改static连接的IP地址。
[root@CentOS7.3 ~]#nmcli con down static        #关闭再启动连接配置生效。
[root@CentOS7.3 ~]#nmcli con up static 

常用参数和网卡配置文件参数的对应关系

nmcli con add/mod 网卡配置文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses IPADDR、PREFIX、GATEWAY
ipve.dns DNS
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .
ipv4.ignore-auto-dns yes 手动设置dns
device 管理网卡

查看网卡信息

[root@CentOS7.3 ~]#nmcli device         #查看所有网卡的状态
DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
eth0        ethernet  connected  eth0               
eth1        ethernet  connected  static             
eth2        ethernet  connected  Wired connection 1 
lo          loopback  unmanaged  --                 
virbr0-nic  tun       unmanaged  --   

查看网卡详细信息

[root@CentOS7.3 ~]#nmcli device show        #查看所有网卡的详细信息
                                            #后面跟上网卡名可单独查看某块网卡的详细信息

激活或关闭网卡

[root@CentOS7.3 ~]#nmcli device connect eth1        #激活eth1网卡,并自动连接到配置。
[root@CentOS7.3 ~]#nmcli device disconnect eth1     #断开eth1网卡

修改网卡属性,修改的配置立即生效,并不修改配置文件,重启网卡失效。

[root@CentOS7.3 ~]#nmcli device modify eth1 

删除网卡,无法删除物理网卡

[root@CentOS7.3 ~]#nmcli device delete virbr0
networking 管理网络状态
[root@CentOS7.3 ~]#nmcli networking                     #off关闭网络,on开启网络
connectivity  help          off           on  
[root@CentOS7.3 ~]#nmcli networking connectivity        #查看网络状态
full                                                    #full启动,none关闭
使用nmcli实现bonding

添加bonding接口

[root@CentOS7.3 ~]#nmcli connection add con-name mybond0 type bond ifname mybond0 mode active-backup 

#mode   指定bonding接口的工作模式,active-backup表示主备模式。

为bonding0接口添加从属接口

[root@CentOS7.3 ~]#nmcli con add type bond-slave ifname eth1 master mybond0
[root@CentOS7.3 ~]#nmcli con add type bond-slave ifname eth2 master mybond0

启动bonding接口

[root@CentOS7.3 ~]#nmcli connection up bond-slave-eth1              #启动bonding网卡需要先启动从属网卡。
[root@CentOS7.3 ~]#nmcli connection up bond-slave-eth2
[root@CentOS7.3 ~]#nmcli con up mybond0                             #启动mybond0网卡
[root@CentOS7.3 ~]#nmcli connection         #查看连接信息
NAME                UUID                                  TYPE            DEVICE  
bond-slave-eth1     71c9dad8-7120-4b30-af01-be53337a359e  802-3-ethernet  eth1    
bond-slave-eth2     9103d9ea-fa2b-4df4-a5f4-3d615c53a94a  802-3-ethernet  eth2    
eth0                702eabdc-6623-4d51-b864-f6bfdb521b55  802-3-ethernet  eth0    
mybond0             ac079cc4-6a74-45ed-ab82-9c58a1415984  bond            mybond0 
virbr0              90d0d99c-4abd-4328-be7d-8d67812a3f68  bridge          virbr0  
Wired connection 1  2d3af334-7e54-311f-9abd-d05fc0143e43  802-3-ethernet  --      
eth1                9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  --      
static              e42075e8-4261-4890-b499-818b96d7411f  802-3-ethernet  --  

bonding的7种工作模式,顺序(0-6)

balance-rr          #负载均衡模式,常用模式
active-backup       #主备模式
balance-xor         #XOR Hash负载分担,和交换机的聚合强制不协商方式配合。
broadcast           #从所有物理接口发送数据包。
802.3ad             #表示支持802.3ad协议,和交换机的聚合LACP方式配合。
balance-tlb         #是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。
balance-alb         #在balance-tlb的基础上增加了rlb。
上一篇下一篇

猜你喜欢

热点阅读