美文网首页
CentOS 7网络配置之nmcli命令集

CentOS 7网络配置之nmcli命令集

作者: guo的学习笔记 | 来源:发表于2018-01-17 14:11 被阅读0次

    简介

      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。

    相关文章

      网友评论

          本文标题:CentOS 7网络配置之nmcli命令集

          本文链接:https://www.haomeiwen.com/subject/atquoxtx.html