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