nmcli重启网卡命令_ip addr add配置ip

nmcli重启网卡命令_ip addr add配置ip文章目录nmcli命令无法tab补全解决方案nmcli说明注意事项nmcli命令合集查看合集添加网络连接参数介绍合集添加单网卡实例修改网络连接单项参数介绍合集修改已经配置好的参数测试激活禁用删除等介绍合集总结测试实例

nmcli命令无法tab补全 解决方案

  • 先检查NetworkManager服务是否正常运行:systemctl status NetworkManager ——为active即正常,如果为active依然不能tab补全,继续往下看。
    在这里插入图片描述

  • mcli工具是用来控制 NetworkManager,利用它让我们配置网络更灵活;

  • 最小化安装的Centos7 系统nmcli命令按tab键时是不会自动补全的;
    解决方法:安装一个bash插件包(bash-completion)`即可!
[root@control ~]$yum install bash-completion –y

nmcli说明

Red Hat 7 与 CentOS 7 中默认的网络服务由 NetworkManager提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的ifcfg类型的配置文件。
NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。
可以用命令行工具 nmcli 来控制 NetworkManager。
在CentOS / RHEL 7中网络管理命令行工具,也叫nmcli。经常使用ifconfig的用户应该在CentOS 7中避免使用ifconfig了。nmcli的功能要强大、复杂的多。

注意事项

nmcli是由NetworkManager提供,所以我们需要保证NetworkManager服务是正常开启的(一般默认就是开启的,如果没设置过便不用管),虽然用NetworkManager管理网络,但network也可以正常使用(也就是说可以正常使用重启服务:systemctl restart network),我们知道NetworkManager类似于自动管理,它和network同时启用可能会有冲突,导致网络无法正常使用,所以我们用nmcli配置命令的时候,都需要设置为手动管理(method manual),NetworkManager查看状态命令: systemctl status NetworkManager
在这里插入图片描述

下面看一下nmcli命令与配置文件的对应关系:

nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none (手动管理)
ipv4.addresses “192.168.1.1/24 192.268.1.254 “ IPADDR=192.168.1.1 、PREFIXO=24 (掩码:255.255.255.0)、GATEWAY=192.168.1.254(网关)
ipv4.dns 8.8.8.8 DNS=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com (声明主机的域名)注:search是在配置文件/etc/resoly.conf中,DOMAIN是在网卡配置中,两者不能共存!否则后面配置的会替代之前配置的。
ipv4.ignore-auto-dns true PEERDNS=no (点对点的DNS)
connection.autoconnect yes ONBOOT=yes (默认为yes,所以可以不需要设置这项)
connection.id eth0 NAME=eth0 (team配置可以不需要这项)
connection.ifname eth0 DEVICE=eth0 (指定网卡设备)(ifname全称:ifterface-name)
connection.con-name name 配置网卡中ifconfig-name (name是自定义名称哦)
802-3-ethernet.mac-address … HWADDR=… (MACKS设置,一般别设置这个)
注:上面的connection可以缩写为con

nmcli命令合集

说明

常规方法:
ifconfig 查看 网卡信息,ethtool查看网卡是否在使用!
如:我下面就有ens160和ens192两张网卡!
在这里插入图片描述
在这里插入图片描述

查看合集

显示所有网络连接:

nmcli con show
在这里插入图片描述

显示活动网络连接:

nmcli con show –active
在这里插入图片描述

显示指定网络连接的详情:

nmcli con show eno16777728 #eno..是网卡名

显示网络设备连接状态:

nmcli dev status
在这里插入图片描述

显示所有网络设备的详情:

nmcli dev show

显示指定网络设备的详情:

nmcli dev show eno16777728 #eno..是网卡名

添加网络连接参数介绍合集

添加单网卡说明

添加单网卡比较简单,语法:nmcli con add 添加新的连接选项

  • 一般要用选项有:
    con-name – 连接名(配置文件中ifcfg-name)
    type – 设备类型 (单网卡一般都是 ethernet)
    ifname – 接口名 (网卡名)
	autoconnect no – 禁止开机自动启动 (一般不设置这个。默认为yes)
	ip4 ip —设置ip地址(不建议add指定ip,先add添加网卡,后面使用modify设置)
	gw4 ip — 设置网关(不建议add指定网关,先add添加网卡,后面使用modify设置)

所以综上,add 无论是单网卡还是双网卡,都建议只添加基本属性(type,ifname,con-name),ip这些都用modify修改,也就是说,分两步完成ip配置。 用到的modify下面有说明!

添加单网卡配置ip实例

我现在的网卡eth1 是没有配置ip的,我现在把eth1的ip设置为 192.168.1.1 网关设置为,192.168.1.254 ,掩码是24位(255.255.255.0),设置为手动

 [root@server0 network-scripts]# ip a show eth1
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fe:a5:bd:47:69:3e brd ff:ff:ff:ff:ff:ff
[root@server0 network-scripts]#
[root@server0 network-scripts]# nmcli con add type ethernet con-name eth1-file ifname eth1 #tab2下就会出现下面内容,但不建议在这里配下面内容,用modify修改即可。
autoconnect  gw4          ip4          mac          save         
cloned-mac   gw6          ip6          mtu               
[root@server0 network-scripts]# nmcli con add type ethernet con-name eth1-file ifname eth1 #直接回车创建基本要素
Connection 'eth1-file' (02fb2c41-1a38-4484-9771-5908549400b6) successfully added.
[root@server0 network-scripts]# nmcli connection show #可以查看到网卡文件已经生成
NAME       UUID                                  TYPE            DEVICE 
eth0       5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
eth1-file  02fb2c41-1a38-4484-9771-5908549400b6  802-3-ethernet  eth1   
[root@server0 network-scripts]# nmcli con modify eth1-file ipv4.addresses "192.168.1.1/24“ ipv4.gateway ”192.168.1.254" ipv4.dns 192.168.254.254 ipv4.method manual #modif指定ip掩码网关 和dns
[root@server0 network-scripts]# nmcli con up eth1-file 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
[root@server0 network-scripts]# ip a show eth1
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fe:a5:bd:47:69:3e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::fca5:bdff:fe47:693e/64 scope link 
       valid_lft forever preferred_lft forever
[root@server0 network-scripts]#
[root@server0 network-scripts]# nmcli con show
NAME       UUID                                  TYPE            DEVICE 
eth0       5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
eth1-file  fbf695ed-8884-4634-b4a6-7d41cb869e6d  802-3-ethernet  eth1   
[root@server0 network-scripts]# nmcli con delete eth1-file #配置错了就删除重新配delete 后面是con-name名称
[root@server0 network-scripts]# nmcli con show
NAME  UUID                                  TYPE            DEVICE 
eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
[root@server0 network-scripts]#

在这里插入图片描述

修改网络连接单项参数介绍合集

  • 语法:nmcli con modify 选项
    再回顾一下关系图:
    在这里插入图片描述

常用选项

ipv4.address ip/netmask —设置ip地址和掩码(强烈建议ip和掩码一起设置,如:192.168.1.1/24)
ipv4.gateway ip —设置网关
ipv4.netmask ip —设置掩码(单独设置可能会出错,所以一般都是和ip一起设置的)
ipv4.dns ip —设置dns
ipv4.method manual — 设置为手动模式(建议加上这个)

使用小技巧:如果是第一次修改指定ip掩码网关,可以直接定义在ipv4.address中——… ipv4.address “192.168.1.1/24 192.168.1.254” ipv4.method manual — 刚才那代码意思分别为 “ip/掩码 网关“ 设置为手动模式,当然,后面一次性需要修改这些也可以这么用。

实例

  • 注: 下面中的mod全称是modify,作用是修改,IF-NAME是配置文件名称(nmcli con show查看的NAME名称)!
  • 修改为自动连接:nmcli con mod IF-NAME connection.autoconnect yes
  • 修改IP地址是静态还是DHCP(实际情况[auto, link-local, manual, shared, disabled]):nmcli con mod IF-NAME ipv4.method manual | dhcp
  • 修改IP配置及网关: nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”
  • 修改默认网关:nmcli con mod IF-NAME ipv4.gateway 10.1.0.1
  • 添加第二个IP地址:nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16
  • 添加dns1:nmcli con mod IF-NAME ipv4.dns 114.114.114.114
  • 添加dns2:nmcli con mod IF-NAME +ipv4.dns 8.8.8.8
  • 删除dns:nmcli con mod IF-NAME -ipv4.dns 8.8.8.8
  • 重新加载网络配置:nmcli con reload (有操作最好重新up一下)

修改已经配置好的参数测试

修改网卡文件eth1-file的ip为 1.1.1.1

[root@server0 network-scripts]# nmcli connection modify eth1-file ipv4.addresses 1.1.1.1 #nmcli con show 查看的配置文件
[root@server0 network-scripts]# nmcli con up eth1-file #操作后要重新up一下网卡名称
#如果你不确定这个这个名称是不是为手动管理的,那你可以直接再执行一遍:
[root@server0 network-scripts]# nmcli con modify eth1-file ipv4.method manual

总结:所有选项你都可以一条一条执行,但也可以全部放在一条中执行,多练习,练习才有手感,才能真正快速体会到规律。 看最后的练习实例,多做几遍就知道原理了,nmcli其实很简单!

激活禁用删除等介绍合集

注:下面的eno16777728是配置名称,nmcli con show查到到的NAME名称!

启用网络连接:

nmcli con up eno16777728

停用网络连接(可被自动激活):

nmcli con down eno33554960

禁用网卡,防止被自动激活:

nmcli dev dis eth0

删除网络连接的配置文件:

nmcli con del eno33554960

重新加载配置网络配置文件:

nmcli con reload

启用/关闭所有的网络连接:

nmcli net on/off

禁用网络设备并防止自动激活:

nmcli con dis eno33554960

查看添加网络连接配置的帮助:

nmcli con add help

修改类

  • 使用方式:nmcli con modif 网卡名称 这跟对应功能
[root@controll network-scripts]# nmcli con modify # 这时候tab,可以看到全部信息的,这修改之选对应网卡
ens33                 filename              id                    --temporary           Wired\ connection\ 2  
ens38                 help                  path 

[root@controll network-scripts]# nmcli con modify ens38 # 这一ens38为例,再次tab,输入y以后就是可以修改的全部内容了
Display all 171 possibilities? (y or n)
802-1x.altsubject-matches                 802-3-ethernet.wake-on-lan-password       ifname
802-1x.anonymous-identity                 autoconnect                               ip4
802-1x.auth-timeout                       browser-only                              ip6
802-1x.ca-cert                            cloned-mac                                ipv4.addresses
802-1x.ca-cert-password                   con-name                                  ipv4.dad-timeout
802-1x.ca-cert-password-flags             connection.auth-retries                   ipv4.dhcp-client-id
802-1x.ca-path                            connection.autoconnect                    ipv4.dhcp-fqdn
802-1x.client-cert                        connection.autoconnect-priority           ipv4.dhcp-hostname
802-1x.client-cert-password               connection.autoconnect-retries            ipv4.dhcp-send-hostname
802-1x.client-cert-password-flags         connection.autoconnect-slaves             ipv4.dhcp-timeout
802-1x.domain-suffix-match                connection.gateway-ping-timeout           ipv4.dns
802-1x.eap                                connection.id                             ipv4.dns-options
802-1x.identity                           connection.interface-name                 ipv4.dns-priority
802-1x.pac-file                           connection.lldp                           ipv4.dns-search
802-1x.password                           connection.master                         ipv4.gateway
802-1x.password-flags                     connection.mdns                           ipv4.ignore-auto-dns
802-1x.password-raw                       connection.metered                        ipv4.ignore-auto-routes
802-1x.password-raw-flags                 connection.permissions                    ipv4.may-fail
802-1x.phase1-auth-flags                  connection.read-only                      ipv4.method
  • 列几个常用的对应关系如下表:
命令 对应配置文件中内容
nmcli con modify old-name con-name new-name ifcfg-* 文件
nmcli con modify 网卡名称 ipv4.method manual BOOTPROTO=none
nmcli con modify 网卡名称 ipv4.method auto BOOTPROTO=dhcp
nmcli con modify 网卡名称 connection.id eth0 NAME=eth0
nmcli con modify 网卡名称 ipv4.addresses “192.0.2.1/24 192.0.2.254” IPADDR0=192.0.2.1,PREFIX0=24,GATEWAY0=192.0.2.254
nmcli con modify 网卡名称 ipv4.dns 8.8.8.8 DNS0=8.8.8.8
nmcli con modify 网卡名称 pv4.dns-search example.com DOMAIN=example.com
nmcli con modify 网卡名称 pv4.ignore-auto-dns true PEERDNS=no
nmcli con modify 网卡名称 connection.autoconnect yes ONBOOT=yes
nmcli con modify 网卡名称 connection.interface-name eth0 DEVICE=eth0
nmcli con modify 网卡名称 802-3-ethernet.mac-address… HWADDR=…
  • 使用方式说明,这仅仅以修改con-name为例:
# 如下,我现在需要将NAME为Wired connection 2/3修改为ens39/40
[root@controll network-scripts]# nmcli con show
NAME                UUID                                  TYPE      DEVICE 
ens33               691de3a8-ac7e-4e6a-ab2e-7049f01bc372  ethernet  ens33  
ens38               c9fc91b0-cae3-3ae3-8b60-9b65da54ca72  ethernet  ens38  
virbr0              ce0c6003-657a-44cf-98d6-fb898c421429  bridge    virbr0 
Wired connection 2  5db1460f-ad50-3f58-addd-a1b4609038c2  ethernet  ens39  
Wired connection 3  4aae52b6-d986-3b45-ad51-2dd439ea288e  ethernet  ens40  
[root@controll network-scripts]# nmcli con modify 
ens33                 filename              id                    --temporary           Wired\ connection\ 2  
ens38                 help                  path                  uuid                             
[root@controll network-scripts]# nmcli con modify Wired\ connection\ 2 con-name ens39
[root@controll network-scripts]# nmcli con modify Wired\ connection\ 3 con-name ens40
[root@controll network-scripts]# nmcli con show
NAME    UUID                                  TYPE      DEVICE 
ens33   691de3a8-ac7e-4e6a-ab2e-7049f01bc372  ethernet  ens33  
ens38   c9fc91b0-cae3-3ae3-8b60-9b65da54ca72  ethernet  ens38  
ens39   5db1460f-ad50-3f58-addd-a1b4609038c2  ethernet  ens39  
ens40   4aae52b6-d986-3b45-ad51-2dd439ea288e  ethernet  ens40  
virbr0  ce0c6003-657a-44cf-98d6-fb898c421429  bridge    virbr0 
[root@controll network-scripts]# 

总结

nmcli其实不用想太复杂,配置单网卡分为2步,add添加基本信息,modify指定/修改ip等信息。

双网卡步骤稍微多一点,但也是add指定3样基本信息(主链路,2张网卡绑定到链路文件上),最后modify指定链路文件ip即可, modify修改以后,都需要up一下配置文件,否则不会生效!!!
看下面测试实例————多练习就熟悉了。

测试实例

添加单网卡实例

我现在的网卡eth1 是没有配置ip的,我现在把eth1的ip设置为 192.168.1.1 网关设置为,192.168.1.254 ,掩码是24位(255.255.255.0),dns为192.168.254.254,设置为手动管理

[root@server0 network-scripts]# ip a show eth1
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fe:a5:bd:47:69:3e brd ff:ff:ff:ff:ff:ff
[root@server0 network-scripts]# 
[root@server0 network-scripts]# nmcli con add type ethernet con-name eth1-file ifname eth1 #创建基本要素
Connection 'eth1-file' (02fb2c41-1a38-4484-9771-5908549400b6) successfully added.
[root@server0 network-scripts]# nmcli connection show #可以查看到网卡文件已经生成
NAME       UUID                                  TYPE            DEVICE 
eth0       5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
eth1-file  02fb2c41-1a38-4484-9771-5908549400b6  802-3-ethernet  eth1   
[root@server0 network-scripts]# nmcli con modify eth1-file ipv4.addresses "192.168.1.1/24 192.168.1.254" ipv4.dns 192.168.254.254 ipv4.method manual #modif指定ip掩码网关 和dns
[root@server0 network-scripts]# nmcli con up eth1-file 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
[root@server0 network-scripts]# ip a show eth1
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fe:a5:bd:47:69:3e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::fca5:bdff:fe47:693e/64 scope link 
       valid_lft forever preferred_lft forever
[root@server0 network-scripts]#
[root@server0 network-scripts]# nmcli con show
NAME       UUID                                  TYPE            DEVICE 
eth0       5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
eth1-file  fbf695ed-8884-4634-b4a6-7d41cb869e6d  802-3-ethernet  eth1   
[root@server0 network-scripts]# nmcli con delete eth1-file #配置错了就删除重新配(delete 后面是con-name名称)
[root@server0 network-scripts]# nmcli con show
NAME  UUID                                  TYPE            DEVICE 
eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
[root@server0 network-scripts]#

在这里插入图片描述

nmcli做一个team双网卡绑定(链路聚合)

我现在有两张网卡,eth1和eth2,做一个team链路聚合,ip设置为 192.168.1.20,掩码255.255.255.0 网关192.168.1.1 ,dns 192.268.254.254

[root@server0 Desktop]# cat /usr/share/doc/teamd-1.9/example_ifcfgs/1/ifcfg-team_test0 
DEVICE="team_test0"
DEVICETYPE="Team"
ONBOOT="no"
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=192.168.23.11
TEAM_CONFIG='{"runner": {"name": "roundrobin"}}'
[root@server0 Desktop]# 
下面team0如果记不得config内容,可以在这里面看,也可以把里面的配置文件拷过去,通过配置文件配置team0.


[root@server0 ~]# nmcli con add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' #team是类型,config是固定格式activebackup是主备模式
Connection 'team0' (bc6431be-4147-4c33-b9e5-4f651d5e2f51) successfully added.
[root@server0 ~]# nmcli con add con-name team0-port1 ifname eth1 type team-slave master team0 #type是类型,master是绑定到team0这个主链路
Connection 'team0-port1' (cb72a926-b3b9-4960-9aaa-fec9ba545a3e) successfully added.
[root@server0 ~]# nmcli con add con-name team0-port2 ifname eth2 type team-slave master team0 #type是类型,master是绑定到team0这个主链路
Connection 'team0-port2' (c2a965fd-a698-4b87-96a0-01aced1bbb8a) successfully added.
[root@server0 ~]# nmcli con show
NAME         UUID                                  TYPE            DEVICE 
team0-port1  cb72a926-b3b9-4960-9aaa-fec9ba545a3e  802-3-ethernet  --     
team0        bc6431be-4147-4c33-b9e5-4f651d5e2f51  team            team0  
eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   
team0-port2  c2a965fd-a698-4b87-96a0-01aced1bbb8a  802-3-ethernet  --     
[root@server0 ~]# nmcli con modify team0 ipv4.addresses “192.168.1.20/24 192.168.1.1” ipv4.dns 192.168.254.254 ipv4.method manual #设置ip等信息
[root@server0 ~]# nmcli con up team0 #启动team0即可
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@server0 ~]# ip a show team0
3: team0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether fa:7c:42:6e:79:39 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.20/24 brd 172.16.18.255 scope global team0
       valid_lft forever preferred_lft forever
[root@server0 ~]# ping 192.168.1.20 #ping 网关另能ping通即配置成功
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.030 ms
64 bytes from 192.168.1.20: icmp_seq=3 ttl=64 time=0.031 ms

注:上面做了简单解释,如果有看不懂的地方,上去看看我之前的介绍!!!!
并且感兴趣的可以去配置文件中(就是nmcli自动生成的路径/etc/sysconfig/network-scripts下的配置文件)打开配置文件研究我之前提到的对应关系,就是这个图:
在这里插入图片描述

今天的文章nmcli重启网卡命令_ip addr add配置ip分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80777.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注