nmcli 命令配置网络

1. 简介

nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法。nmcli命令的基本格式为:

 nmcli [OPTIONS] OBJECT { COMMAND | help }

其中,OBJECT选项可以是general、networking、radio、connection或device等。OBJECT里面我们平时用的最多的就是connection和device。

这里需要简单区分一下connection和device:

device叫网络接口,是物理设备

connection是连接,偏重于逻辑设置

多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应connection。

2. 常用命令介绍:

  • 显示NetworkManager状态:

    $ nmcli general status
    
  • 显示所有连接:

    $ nmcli connection show
    
  • 只显示当前活动连接,如下所示添加 -a, --active:

    $ nmcli connection show --active
    
  • 显示由NetworkManager识别到设备及其状态:

    $ nmcli device status
    
  • 启用连接

    nmcli con up eth1
    

  • 删除连接

    nmcli connection delete eth1
  • 启动和停止网络接口,在root权限下执行如下命令:

    # nmcli connection up id enp3s0  ifname enp3s0(前一个enp3s0是网络连接,后一个是设备接口)
    # nmcli device disconnect enp3s0

3.配置动态IP连接

配置IP要使用 DHCP 分配网络时,可以使用动态IP配置添加网络配置文件,命令格式如下:

nmcli connection add type ethernet con-name connection-name ifname interface-name

con add – 添加新的连接     con-name – 连接名    type – 设备类型     ifname – 接口名

例如创建名为enp125s0f0-dhcp的动态连接配置文件,绑定网卡为enp125s0f0。在root权限下使用以下命令:

# nmcli connection add type ethernet con-name enp125s0f0-dhcp ifname enp125s0f0
Connection 'enp125s0f0-dhcp' (a771baa0-5064-4296-ac40-5dc8973967ab) successfully added.

NetworkManager 会将参数 connection.autoconnect 设定为 yes,并将设置保存到“/etc/sysconfig/network-scripts/ifcfg-net-test”文件中,在该文件中会将 ONBOOT 设置为 yes。

 可以看到直接生成配置文件,但是网卡设备没有绑定,所以并没有生效。

[java@localhost ~]$ nmcli connection show 
NAME             UUID                                  TYPE      DEVICE     
enp125s0f0       8e4ba698-6293-4f6d-a184-937db07684da  ethernet  enp125s0f0   
virbr0           e81f9c1d-4d5e-4c1b-8c58-24909f01acfe  bridge    virbr0     
enp125s0f0-dhcp  5134c2ad-39be-4d74-8ba7-187599690204  ethernet  --         
enp125s0f1       90f9ef00-846f-4601-8699-39f0b6ee04c3  ethernet  --         

激活连接并检查状态,在root权限下使用以下命令激活网络连接:

# nmcli con up enp125s0f0-dhcp 
Connection successfully activated (D-Bus active path:/org/freedesktop
/NetworkManager/ActiveConnection/5)

4.配置静态IP连接

配置IP添加静态 IPv4 配置的网络连接,可使用以下命令:

nmcli connection add type ethernet con-name enps0 
ifname enps0 ip4 192.168.0.13/24 gw4 192.168.9.15

con add – 添加新的连接     con-name – 连接名    type – 设备类型     ifname – 接口名

由于命令过长,要善于使用TAB键补全,命令完成后,会在/etc/sysconfig/network-scripts/下生成一个配置文件,但是并未生效。

例:创建以个名字为static的,类型为以太网卡,绑定网卡为eth1,开机自动启动,定义ipv4地址和网关。

[root@CentOS 7 ~]# nmcli connection add con-name home type ethernet ifname 
eth1 autoconnect yes ip4 10.1.252.60/24 gw4 10.1.0.254

可以看到直接生成配置文件,但是网卡设备没有绑定,所以并没有生效。

 启用eth1连接配置

   nmcli con up eth1

同一时间一个连接只能绑定在一个接口上。平时如果工作需要,可以多设置几套连接配置文件,环境需要时可以进行临时的切换。

当不需要再用时可以使用:nmcli connection delete eth1删除

5.通过ifcfg文件配置网络

说明:
通过ifcfg文件配置的网络配置不会立即生效,需要在root权限下执行systemctl reload NetworkManager.service;nmcli  con reload命令以重启网络服务后才生效。

配置静态网络:

以enp4s0网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.0.10
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp4s0
UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293
DEVICE=enp4s0
ONBOOT=yes

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

# nmcli con up enps0 ifname enps0
# nmcli con reload

 查看连接情况

$ nmcli connection show

参考文献:linux中nmcli命令使用及网络配置 | Linux运维部落

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值