目录

nmcli 命令

前提

重启网络服务 / 重启网卡

nmcli配置网卡参数

实例

nmcli输出说明

3种网络配置方法

nmcli的命令参数

Tips

ethtool 命令

IP命令

添加网卡到配置文件

Linux系统怎么查看网卡的UUID


nmcli 命令

前提

使用 nmcli 时,NetworkManager 必须保持开启。

NetworkManager 的相关命令:

查看运行状态:systemctl status NetworkManager
启动:systemctl start NetworkManager
重启:systemctl restart NetworkManager
关闭:systemctl stop NetworkManager
查看是否开机启动:systemctl is-enabled NetworkManager
开机启动:systemctl enable NetworkManager
禁止开机启动:systemctl disable NetworkManager
 

(NetworkManager和network.service的区别:

network是linux直接配置网卡的程序

NetworkManager是提供一个丰富的API来检查和控制网络设置和操作的应用程序

network和NetworkManager一起工作时就会出现冲突

网卡解决network和NetworkManager的冲突问题

centos8之后默认就是用NetworkManager管理网络,centos9之后就彻底抛弃network。

NetworkManage于network功能类似,都是用于管理网络。NetworkManage提供了nmctl、nmtui两个工具,两个都是用来管理网络,但是有一个前提:nmctl networking 状态必须是enable否则设备状态为unmanaged,这会导致network启动不了!!)

重启网络服务 / 重启网卡

#重启⽹卡之前⼀定要重新载⼊⼀下配置⽂件,不然不能⽴即⽣效

nmcli c reload  

#重启⽹卡(下⾯的三条命令都可以)

nmcli c up ens160                 #nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效
nmcli d reapply ens160         #更新设备信息,只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。
nmcli d connect ens160        #连接设备,如果 ens33 本来就出于连接状态,那此命令会重启 ens160。

01 nmcli networking

nmcli networking或nmcli n        显示 NetworkManager 是否接管网络设置
nmcli n on                      设定 NetworkManager 接管网络设置
nmcli n off                     取消 NetworkManager 接管网络设置
nmcli n connectivity/nmcli n c  查看网络连接状态
网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。

02 nmcli general

nmcli general status/nmcli g    显示系统网络状态
其中:
STATE 显示网络是否连接;
CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;
WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;
WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。
HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

03 nmcli connection

nmcli connection show/nmcli c         显示所有网络连接的信息
nmcli c s -a  /nmcli c s --active         显示所有网络连接的信息,只显示当前启动的连接
nmcli c s ens33                                 显示某一特定连接的详细信息(以 ens33 为例)
nmcli c up ens33                               启动指定连接
nmcli c down ens33                          关闭指定连接

nmcli c reload / nmcli c r                      重载所有连接的配置文件
nmcli c load ifcfg-ens33/nmcli c l ifcfg-ens33  重载某一指定连接的配置文件:
网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。

(多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。这样的好处是针对一个网络接口,我们可以设置多个网络链接文件,比如静态IP和动态IP,再根据需要up相应connection,这样可以方便的切换网络配置,比如笔记本电脑移动办公,到不同的环境同一个网卡可以切换到不同的网络配置,配置好以后不需要每次都从新配置。)

04 nmcli device
nmcli device status / nmcli d    显示所有网络接口设备的状态,列出所有可用的设备

nmcli d show / nmcli d sh        显示所有设备的详细信息# show不可简写为s,与 status 冲突,但可写为 sh
nmcli d sh ens33                      显示某一特定设备的详细信息

nmcli d connect ens33或nmcli d c ens33       连接设备,如果 ens33 本来就出于连接状态,那此命令会重启 ens33。
nmcli d disconnect ens33 或 nmcli d d ens33  断开设备

nmcli d reapply ens33 / nmcli d r ens33      更新设备信息,只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。 

更多命令:Linux中nmcli命令详解_

命令

目的

nmcli dev status/nmcli d status

显示所有网络接口的网络管理器状态

nmcli con show/nmcli c show

列出所有连接

nmcli con show [connect_name]/nmcli c show [connect_name]

列出连接名称的当前设置nmcli con show ens21f0

nmcli con reload/nmcli c reload

告诉networkManager重新读取配置文件(在手工编辑之后有用)

nmcli con up [connect_name]/nmcli c up [connect_name]/

激活连接名称

nmcli dev dis [dev_name]

停用并断开网络接口开发人员上的当前连接

nmcli con del [connect_name]

删除连接名称及其配置文件

设备,是网络设备的接口,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即 nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即 nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过 nmcli c up切换连接。

4、device有4种常见状态:
▷ connected:已被NM纳管,并且当前有活跃的connection
▷ disconnected:已被NM纳管,但是当前没有活跃的connection
▷ unmanaged:未被NM纳管
▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

[root@node71 ~]# nmcli dev status
DEVICE        TYPE      STATE                   CONNECTION
 ens35f0       ethernet  connected               ens35f0
 cni-podman0   bridge    connected (externally)  cni-podman0
 virbr0        bridge    connected (externally)  virbr0
 ens35f1       ethernet  disconnected            --
 ens49f0       ethernet  disconnected            --
 ens49f1       ethernet  disconnected            --
 veth69fa1863  ethernet  unmanaged               --
 veth7021e951  ethernet  unmanaged               --
 veth81e4dd60  ethernet  unmanaged               --
 vetha529eed5  ethernet  unmanaged               --
 lo            loopback  unmanaged               --
 virbr0-nic    tun       unmanaged               --

nmcli配置网卡参数

modify  增加 +

modify  删除 -

modify  配置

9.添加多个ip地址

nmcli con modify [网卡名] +ipv4.addresses 192.168.1.2/24  +ipv4.dns 223.5.5.5 connection.autoconnect yes

10.删除地址

nmcli con modify [网卡名] -ipv4.addresses 192.168.1.2/24  -ipv4.dns 223.5.5.5 connection.autoconnect yes

11.设置自动获取和手动配置

# dhcp自动获取

nmcli con modify [网卡名] ipv4.method auto

# 手动配置

nmcli con modify [网卡名] ipv4.method method

修改bond的参数

 

[root@node25 ~]# cat  /etc/NetworkManager/system-connections/bond0.nmconnection
[connection]

id=bond0
uuid=64113cbd-c033-40ac-a0db-44486f53bded
type=bond
interface-name=bond0
timestamp=1695132192

[ethernet]

[bond]

miimon=80
mode=802.3ad

[ipv4]
method=disabled

[ipv6]
addr-gen-mode=default
method=disabled

[proxy]

 

配置bond0网口链接的bond参数

sudo nmcli connection modify bond0 bond.options mode=802.3ad,miimon=80

添加bond0网口链接的bond参数

nmcli connection modify bond0 +bond.options xmit_hash_policy=layer3+4    #+号

删除bond0网口链接的bond参数

nmcli connection modify bond0 -bond.options xmit_hash_policy=layer3+4   # -号

实例

查看网卡信息

nmcli

查看网络设备状态

nmcli device status

查看网络连接状态

nmcli connection 

查看UUID等网卡信息

nmcli connection show 

查看网络详细信息

nmcli device show ens32

设置静态ip

nmcli connection modify ens32 ipv4.addresses '192.168.1.10'

设置网关

nmcli connection modify ens32 ipv4.gateway '192.168.1.1'

设置DNS

nmcli connection modifly ens32 ipv4.dns '144.144.144.144'

ip地址设为手动

nmcli connection modify ens32 ipv4.method manual

ip地址设为自动获取

nmcli connection modify ens32 ipv4.method auto

设置开机自动连接 

nmcli connection modify ens32 connection.autoconnect yes

nmcli connection modify ens32 connection.autoconnect no

重新加载配置文件

nmcli connection reload

不重启系统网卡生效

nmcli connection up ens32

nmcli device connect ens32

nmcli device reapply ens32

查看DNS

cat /etc/resolv.conf

nmcli输出说明

nmcli connection说明

[root@master ~]# nmcli c show						显示所有活动链接
名称    UUID                                  类型            设备   
ens33   51a4ba6c-0635-400b-a1c6-f9e87d55c303  802-3-ethernet  ens33        # 这是当前激活的连接带颜色字体,只是文章里体现不出来
virbr0  0d2e6f20-0044-49f9-80ec-cbe19c31df42  bridge          virbr0 
10.97.17.90      93e8cf06-bd0b-4b69-b802-f3c8c602e000    ethernet     # “--”表示当前没有激活的连接

每一行是一个连接,只是只有一个是激活状态
第一列是connection名字(连接名称)简称con-name,简称con-name(注意con-name不是网卡名)
第二列是connection的UUID
第三列是connection的网络类型
最后一列才是网卡名(标准说法叫device名),可通过nmcil d查看device
对connection做操作时需要指定标识,标识可以是con-name、UUID、如果存在ifcfg文件则也可以用ifcfg的完整路径,即/etc/sysconfig/network-scripts/ifcfg-ethX,如下示例:

nmcli c show ethX
nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
nmcli c show /etc/sysconfig/network-scripts/ifcfg-ethX
 

1、nmcli connection名字(连接名称)
同时对应ifcfg的文件名以及内容中的NAME=,该参数表示连接(connection)的名字,无需和网卡名相同,可以为一个设备(device)创建多个连接,但同一时刻只能有一个连接生效。当有多个连接时候,可以通过nmcli c delete删除当前连接,就会自动选择同一个设备的其他连接来顶替生效。可以通过nmcli c up来将指定连接切换生效。
注意:通过nmcli c modify修改连接名称,只会对应修改ifcfg文件中的NAME,而不会更改ifcfg文件名。
2、nmcli c的ipv4.method
对应ifcfg文件内容的BOOTPROTO,ipv4.method默认为auto,对应为BOOTPROTO=dhcp,这种时候如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。设置为manual表示BOOTPROTO=none,即只有静态ip。
 

nmcli device说明

[root@master ~]# nmcli d status               #查看设备接口简略信息
设备        类型      状态    CONNECTION 
virbr0      bridge    连接的  virbr0     
ens33       ethernet  连接的  ens33      
lo          loopback  未管理  --         
virbr0-nic  tun       未管理  --  
 

每一行表示一个网络设备的接口。
第一列表示设备接口的名称,第二列表示设备接口的类型,第三列表示设备接口状态,最后一列表示connection的名字,“–”表示设备为使用!

1、nmcli d connect ethX
由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。
2、nmcli d disconnect ethX
让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。
3、nmcli d reapply ethX
专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。
4、nmcli d set ethX autoconnect yes|no managed yes|no
可以设置是否自动连接和是否自动管理,但经测试只能用于当前开机状态, 如果这2个参数都设置为no,然后重启系统,又会自动恢复成connected和managed yes的状态。所以该命令用途不大。注意事项:如果managed设置为no,那么nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效,同时managed自动变为yes。
重启系统自动恢复成connected和managed yes的状态,这种逻辑并不实用也不够合理,牛人已将此问题提交给redhat,据回复,这么设计是因为目前没有一个有效的手段来证明“我是我”,比如当网卡重新拔插到其他插槽时候,网卡名有很大可能性会发生变化,因此无法确定关机前设置的是对应开机后的哪个网卡,目前暂无办法解决,笔者将持续跟进。

 

3种网络配置方法

在讲3种配置方法前,需要先明白ifcfg和NM connection的关联:虽然network.service被废弃了,但是redhat为了兼容传统的ifcfg,通过NM进行网络配置时候,会自动将connection同步到ifcfg配置文件中。也可以通过nmcli c reload或者nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX的方式来让NM读取ifcfg配置文件到connection中。因此ifcfg和connection是一对一的关系,另外上面有提到,connection和device是多对一的关系。

手工配置ifcfg,通过NM来生效
通过NM自带工具配ip,比如nmcli
手工配置ifcfg,通过传统network.service来生效
建议:
推荐使用上述第1种网络配置方法(手工配置ifcfg,通过NM生效),因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。

插曲

prefix 子网掩码

255.255.255.0用二进制表示为11111111.11111111.11111111.00000000,  24个1。所以说网络位是24位。PREFIX=24
255.255.255.192用二进制表示为11111111.11111111.11111111.11000000,  26个1。所以说网络位是26位。PREFIX=26
255.255.255.128用二进制表示为11111111.11111111.11111111.10000000,  26个1。所以说网络位是25位。PREFIX=25
255.255.255.224用二进制表示为11111111.11111111.11111111.11100000,  27个1。所以说网络位是27位。PREFIX=27
255.255.255.240用二进制表示为11111111.11111111.11111111.11110000,  28个1。所以说网络位是28位。PREFIX=28
255.255.255.248用二进制表示为11111111.11111111.11111111.11111000,  29个1。所以说网络位是29位。PREFIX=29

笔者配置文件中最后有一行 prefix = 32 ,无论如何设置子网掩码netlmask 都是255.255.255.255,删除后才恢复

用ip addr 查看更快:

16: eth1: <> mtu 1400 group default qlen 1
     link/ether 00:ff:8e:e9:b9:b6
     inet 10.32.208.248/24 brd 10.32.208.255 scope global dynamic<---prefix=24
        valid_lft forever preferred_lft forever
 21: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 group default qlen 1
     link/ether 00:50:56:c0:00:01
     inet 192.168.199.1/24 brd 192.168.199.255 scope global dynamic<---prefix=24
        valid_lft 1771sec preferred_lft 1771sec

    

nmcli的命令参数

[root@localhost ~]# nmcli --help
 Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS
   -t[erse]                                   terse output
   -p[retty]                                  pretty output
   -m[ode] tabular|multiline                  output mode
   -f[ields] <field1,field2,...>|all|common   specify fields to output
   -e[scape] yes|no                           escape columns separators in values
   -n[ocheck]                                 don't check nmcli and NetworkManager versions
   -a[sk]                                     ask for missing parameters
   -w[ait] <seconds>                          set timeout waiting for finishing operations
   -v[ersion]                                 show program version
   -h[elp]                                    print this helpOBJECT
   g[eneral]       NetworkManager's general status and operations
   n[etworking]    overall networking control
   r[adio]         NetworkManager radio switches
   c[onnection]    NetworkManager's connections
   d[evice]        devices managed by NetworkManager

Tips

  • nmcli命令支持tab补全,但是需要yum install bash-completion
  • 如果希望NM不要纳管网卡,只有一个办法最彻底最靠谱,就是自己写ifcfg,内容加上NM_CONTROLLED=no,这样该device的状态就会始终保持unmanaged(非托管的)。nmcli c up、nmcli c reload、nmcil c load都不会对其起任何作用。
  • NM只能对link状态为up的网卡进行操作,如果手动ip link set ethX down,那么NM就无法对该网卡做任何操作(即使nmcli d connect也没有用)。
  • 对于RHEL8,可以通过yum install network-scripts来安装传统的network.service,不过redhat说了,在下一个rhel的大版本里将彻底废除,因此不建议使用network.service。
  • 手工创建新的ifcfg或者在ifcfg里修改ip等配置,NM不会自动读取,需要手工执行nmcli c reload或者nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX。这一点可能和其他系统的NM行为不太一样,但这种做法实则更适合服务器。
  • 不手工配置ifcfg,使用默认的dhcp情况下,网卡的增减是不会自动生成ifcfg,此时nmcli c看到的con-name将类似’System ethX’或者’Wired connection 1’。
  • NetworkManager支持3种获取dhcp的方式:dhclient、dhcpcd、internal,当/etc/NetworkManager/NetworkManager.conf配置文件中的[main]部分没配置dhcp=时候,默认使用internal(rhel7/centos7默认是dhclient)。internal是NM内部实现的dhcp客户端。
  • 关于手动指定网关ip的方法,经过实测,/etc/sysconfig/network中的GATEWAY仅在3种情况下有效:NM_CONTROLLED=no或ipv4.method manual或从ipv4.method manual第一次转到ipv4.method auto时候。建议:当NM_CONTROLLED=no时,将网关写在/etc/sysconfig/network(GATEWAY);当使用NM时候,使用nmcli c命令配置网关(比如nmcli c modify ethX ipv4.gateway 192.168.1.1)。
  • NM默认会从dhcp里获取dns信息,并修改/etc/resolv.conf,如果不想让NM管理/etc/resolv.conf,则只需在/etc/NetworkManager/NetworkManager.conf里的[main]里增加dns=none即可。
  • 如果想让NM不要自动管理新网卡(比如不要给新网卡获取ip地址),则只需在/etc/NetworkManager/NetworkManager.conf里的[main]里增加no-auto-default=*即可,改完后通过systemctl restart NetworkManager或者重启系统来生效。除了手工在NetworkManager.conf里加配置,也可以yum install NetworkManager-config-server,这会生成/usr/lib/NetworkManager/conf.d/00-server.conf,建议使用前者方案,因为后者的ingore-carrier是不被推荐的参数
     

ethtool 命令


IP命令

ip 命令的功能很丰富,基本上它整合了 ifconfig 与 route 这两个命令,ip命令格式如下:

 ip  [option]  [动作]  [命令]

参数:

[option] :设定的参数,主要有:

     -s :显示出该设备的统计数据(statistics),例如总接受封包数等;

[动作]:就是是可以针对哪些网络参数进行动作,包括有:

       link :关于设备 (device) 的相关设定,包括 MTU, MAC 地址等等

       addr/address :关于额外的 IP 设定,例如多 IP 的实现等等;

       route :与路由有关的相关设定 
 

关于设备 (device) 的相关设定,包括 MTU, MAC 地址等等

ip link  show

linux-oycygI:~ # ip link show
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT qlen 1000
     link/ether 68:8f:84:ee:c7:a4 brd ff:ff:ff:ff:ff:ff

启动、关闭网卡以及设定网卡设备的相关信息

ip link set eth0 up

ip link set eth0 down

ip link set eth0 address

ip link set eth0 broadcast

ip link set eth0 alias

ip link set eth0 name

ip link set eth0 mtu 1000
 

添加、删除、设定网卡地址,以及设定网卡设备的相关信息

ip addr add 192.168.1.1/24 dev eth0
ip addr del 192.168.1.1/24 dev eth0
ip route add default via 192.168.1.1 dev eth0
ip route add 192.168.1.0/24 via 192.168.1.1
ip route delete 192.168.1.0/24 via 192.168.1.1
ip route replace 192.168.1.0/24 dev eth0

 

添加网卡到配置文件

添加网卡到配置文件,并且命名为eth1

[root@localhost ~]# nmcli connection add ifname eno33554992 con-name eth1 type ethernet 

Connection 'eth1' (5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf) successfully added.

[root@localhost ~]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
 UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
 pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
     inet 192.168.10.10/24 brd 192.168.10.255 scope global 
 eno16777736
        valid_lft forever preferred_lft forever
     inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
        valid_lft forever preferred_lft forever
 3: eno33554992: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff
     inet6 fe80::20c:29ff:fe4d:bb5d/64 scope link 
        valid_lft forever preferred_lft forever

修改网络配置文件添加MAC地址 (eno33554992) 、修改BOOTPROTO=static 修改设备名DEVICE=eth1

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
 BOOTPROTO=static
 DEFROUTE=yes
 PEERDNS=yes
 PEERROUTES=yes
 IPV4_FAILURE_FATAL=no
 IPV6INIT=yes
 IPV6_AUTOCONF=yes
 IPV6_DEFROUTE=yes
 IPV6_PEERDNS=yes
 IPV6_PEERROUTES=yes
 IPV6_FAILURE_FATAL=no
 NAME=eth1
 UUID=5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf
 DEVICE=eth1
 ONBOOT=yes
 HWADDR=00:0c:29:4d:bb:5d

重启network服务之后 查看ip

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
 UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
 pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
     inet 192.168.10.10/24 brd 192.168.10.255 scope global
 eno16777736
        valid_lft forever preferred_lft forever
     inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
        valid_lft forever preferred_lft forever
 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff

添加ip地址

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
 TYPE=Ethernet
 BOOTPROTO=static
 DEFROUTE=yes
 PEERDNS=yes
 PEERROUTES=yes
 IPV4_FAILURE_FATAL=no
 IPV6INIT=yes
 IPV6_AUTOCONF=yes
 IPV6_DEFROUTE=yes
 IPV6_PEERDNS=yes
 IPV6_PEERROUTES=yes
 IPV6_FAILURE_FATAL=no
 NAME=eth1
 UUID=5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf
 DEVICE=eth1
 ONBOOT=yes
 HWADDR=00:0c:29:4d:bb:5d
 IPADDR0=192.168.1.101
 PREFIX0=24
 GATEWAY=192.168.1.254

重启网络服务并且查看ip

[root@localhost ~]# systemctl restart network
 [root@localhost ~]# ip a
 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
 UNKNOWN 
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
 pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
     inet 192.168.10.10/24 brd 192.168.10.255 scope global 
 eno16777736
        valid_lft forever preferred_lft forever
     inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
        valid_lft forever preferred_lft forever
 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
 pfifo_fast state UP qlen 1000
     link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.101/24 brd 192.168.1.255 scope global eth1
        valid_lft forever preferred_lft forever
     inet6 fe80::20c:29ff:fe4d:bb5d/64 scope link 
        valid_lft forever preferred_lft forever
 [root@localhost ~]# nmcli connection show 
 NAME         UUID                                  TYPE            DEVICE      
 eth1         5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf  802-3-ethernet  eth1        
 eno16777736  ce1a55de-9427-4f08-9ff8-256ac08ebd78  802-3-ethernet  eno16777736

Linux系统怎么查看网卡的UUID

在linux系统下查看网卡的UUID需要nmcli命令,但是该命令系统没有提供。

1、首先要查看哪个软件包提供了该命令

[root@tpp ~]# yum provides "*/nmcli"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.pubyun.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.pubyun.com
base/filelists_db                              | 5.2 MB     00:04
extras/filelists_db                            |  30 kB     00:00
updates/filelists_db                           | 829 kB     00:00
1:NetworkManager-0.8.1-99.el6.i686 : Network connection manager and user
                                   : applications
Repo        : base
Matched from:
Filename    : /usr/bin/nmcli

2、由上面的查看结果,我们知道是NetworkManager,下面我们先安装这个软件包

[root@tpp ~]# yum install -y NetworkManager

3、然后启动服务

[root@tpp ~]# service NetworkManager start

4、查看网卡的UUID

[root@tpp ~]# nmcli con

名称          UUID                                 类型            范围   真实时间戳
System eth0  d9a980b8-b4bd-4573-b966-77e0fcdd6205 802-3-ethernet  系统   2015年08月29日 星期六 22时07分43秒