Linux查看网卡信息,ip addr和ifconfig命令

前言

想知道服务器有几块网卡、IP 地址是多少、MAC 地址是多少?Linux 下有两个常用命令:ip addr 和 ifconfig。本文讲一下它们的用法和区别。

ip addr 命令(推荐)

现在新的 Linux 系统都推荐用 ip 命令,功能比 ifconfig 更强大。

查看所有网卡信息

ip addr

或者简写:

ip a

输出类似:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever

输出解释

字段 含义
lo 本地回环网卡
eth0 物理网卡名称
state UP 网卡状态是开启的
link/ether MAC 地址
inet IP 地址
/24 子网掩码(255.255.255.0)

只看 IP 地址

不想看那么多信息,只看 IP:

ip addr show eth0 | grep inet

或者更简洁:

ip a s eth0

只看 IPv4 地址

ip -4 addr

查看网卡统计信息

ip -s link

能看到收发包、丢包等统计信息。

ifconfig 命令(老命令)

ifconfig 是老命令,来自 net-tools 包,现在慢慢被淘汰了,但很多老用户还是习惯用。

安装

CentOS 最小化安装可能没有:

yum install -y net-tools

查看所有网卡

ifconfig

输出类似:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:16:3e:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6789  bytes 987654 (987.6 KB)
        TX errors 0  dropped 0  overruns 0  carrier 0

只看某个网卡

ifconfig eth0

查看 lo 网卡

ifconfig 默认不显示 lo(回环网卡),要看的话加 -a:

ifconfig -a

ip 和 ifconfig 的区别

对比项 ip addr ifconfig
新老 新命令,推荐 老命令,逐步淘汰
包 iproute2 包(默认装) net-tools 包(要单独装)
功能 更强大 基本够用
输出 信息更全 简洁

其他常用命令

查看路由表

ip route

或者老命令:

route -n

查看 DNS 配置

cat /etc/resolv.conf

查看网卡连接状态

cat /sys/class/net/eth0/carrier

输出 1 表示网线插着,0 表示没插。

查看网卡速率

ethtool eth0 | grep Speed

常见坑

坑1:ifconfig 命令找不到

执行 ifconfig 提示 command not found。

原因: CentOS7 最小化安装不带 net-tools 包。

解决:

yum install -y net-tools

或者直接用 ip addr,不用装包。

坑2:网卡名不是 eth0

新系统网卡名可能是 ens33、ens33、enp0s3 之类的。

原因: CentOS7 用了新的网卡命名规则。

解决: 先 ip addr 看一下实际网卡名是什么,然后替换。

坑3:IP 地址不对

看到的 IP 地址和你预期的不一样。

原因: 可能有多个网卡,或者是云服务器的内网 IP,不是公网 IP。

解决: 先 ip addr 看所有网卡,确认哪个是你要的。

坑4:网卡 down 了

网卡状态是 DOWN,连不上网。

解决: 手动开启:

ip link set eth0 up

或者:

ifconfig eth0 up

总结

命令 作用
ip addr 查看所有网卡信息(推荐)
ip a 简写
ip a s eth0 只看 eth0 网卡
ifconfig 老命令查看网卡
ifconfig eth0 只看 eth0
ip route 查看路由表

现在都推荐用 ip addr,功能更全,还不用额外装包。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 07:54 

CentOS7重启网络报错,network与NetworkManager冲突处理

前言

CentOS7 里有两套网络管理工具:传统的 network 服务和新的 NetworkManager。两个同时用就会打架,重启网络的时候报错,甚至把网络搞断。本文就讲一下这个冲突怎么解决。

报错现象

执行 systemctl restart network 或者 service network restart 的时候,报类似这样的错:

Restarting network (via systemctl):  Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details.

或者:

RTNETLINK answers: File exists

原因

CentOS7 默认装了 NetworkManager(简称 NM),它也在管理网络接口。传统的 network 服务也在管。两个同时管同一个网卡,配置就会冲突。

解决方法

方法一:关掉 NetworkManager(推荐服务器用)

服务器一般不需要图形界面的网络管理工具,直接关掉:

systemctl stop NetworkManager
systemctl disable NetworkManager

然后重启 network:

systemctl restart network

方法二:让 network 忽略 NetworkManager

编辑网络配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

在文件里加一行:

NM_CONTROLLED=no

意思是这个网卡不归 NetworkManager 管,只由 network 服务管理。

然后重启网络:

systemctl restart network

方法三:全部交给 NetworkManager 管

如果你想用 NM 管理,那就把传统 network 关掉:

systemctl stop network
systemctl disable network

然后用 NM 的命令管理网络:

nmcli connection show
nmcli connection up eth0

验证

重启网络之后,看看网卡 IP 还在不在:

ip addr

如果 IP 还在,能 ping 通外网,就说明搞定了。

常见坑

坑1:改了配置把自己踢下线

远程 SSH 连上去改网络配置,改完重启网络,结果 SSH 断了,再也连不上。

解决:

  1. 改配置之前先开个备用 SSH 连接,别关
  2. 或者直接用云服务器控制台的 VNC 操作
  3. 不要在生产环境随便重启网络

坑2:重启服务器后网络又坏了

临时重启 network 好了,但重启服务器后又不行了。

原因: NetworkManager 又自动启动了,和 network 冲突。

解决: 把 NetworkManager 禁用掉:

systemctl disable NetworkManager

坑3:网卡名不是 eth0

新一点的系统网卡名可能是 ens33、enp0s3 这种。

解决: 先看一下网卡叫什么:

ip addr

然后改对应的配置文件,比如 ifcfg-ens33。

总结

CentOS7 网络冲突的解决思路很简单:

方案 操作 适用场景
关 NM systemctl disable NetworkManager 服务器,推荐
NM_CONTROLLED=no 网卡配置里加这行 只用 network 服务
全用 NM 关掉 network,用 nmcli 桌面环境

服务器上推荐直接关掉 NetworkManager,用传统的 network 服务管理网络,简单稳定。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 07:38