ifconfig 和 ip addr show 输出详细解读
面向小白的
ip addr
/ifconfig
输出解读教程(一步步看懂你的网卡)
下面我将把两段输出拆开讲,解释每一行的常见字段含义、两者对应关系以及常用排查/管理命令。讲得尽量通俗、带示例,方便平时查看和排错时马上上手。
ps:
ip addr
可写作ip addr show
或ip a
一、都包含两段输出内容(快速辨识)
输出包含两个网络接口:
lo
—— 本地回环(loopback),地址127.0.0.1
(IPv4)和::1
(IPv6)。这是本机内部通讯,不上网也必须有。ens33
—— 物理/虚拟网卡(例如我机器是以太网接口),目前有 IPv4192.168.18.129/24
,还有一个链路本地 IPv6fe80::...
。
二、先看 ip addr show
(更现代,信息结构化)
示例(摘抄):
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:61:a4:3a brd ff:ff:ff:ff:ff:ffinet 192.168.18.129/24 brd 192.168.18.255 scope global dynamic noprefixroute ens33valid_lft 1326sec preferred_lft 1326secinet6 fe80::897a:d875:9cc0:3393/64 scope link noprefixroute
逐行解释(要点):
-
2:
:接口索引(系统内核分配的数字 id)。 -
ens33:
:接口名。 -
<BROADCAST,MULTICAST,UP,LOWER_UP>
:接口标志(flags):UP
:接口在“启用”状态(逻辑上被打开)。LOWER_UP
:物理链路检测到是连接状态(例如网线插着或虚拟网卡被挂载)。BROADCAST
/MULTICAST
:支持广播/组播。
-
mtu 1500
:最大传输单元,数据包的最大字节数(常见以太网是1500)。 -
qdisc fq_codel
:队列调度器(网络内部的包处理策略),对初学者可忽略。 -
state UP
:接口“状态”(UP/DOWN/UNKNOWN)。 -
link/ether 00:0c:29:61:a4:3a
:MAC 地址(硬件地址)。 -
brd ff:ff:ff:ff:ff:ff
:广播 MAC(通常是全 F)。 -
inet 192.168.18.129/24
:IPv4 地址和前缀长度(/24)。/24
等同于子网掩码255.255.255.0
(常见局域网)。
-
brd 192.168.18.255
:IPv4 广播地址(子网内的广播)。 -
scope global
:地址作用域(global
表示可路由的全局地址;还有link
、host
等)。 -
dynamic
:地址来自 DHCP(动态分配)。 -
noprefixroute
:某些网络管理器设置,表示不自动创建前缀路由(初学者通常可忽略)。 -
valid_lft 1326sec
:这个 IPv4 地址还能用的剩余时间(针对 DHCP 租约,单位秒)。 -
inet6 fe80::.../64 scope link
:IPv6 链路本地地址(仅在本子网有效)。
三、再看 ifconfig
(传统工具,信息更“面向人”)
示例(摘抄):
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.18.129 netmask 255.255.255.0 broadcast 192.168.18.255inet6 fe80::897a:d875:9cc0:3393 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:61:a4:3a txqueuelen 1000 (以太网)RX packets 511068 bytes 503794628 (503.7 MB)TX packets 357271 bytes 81617817 (81.6 MB)
关键字段解释:
flags=4163<UP,BROADCAST,RUNNING,MULTICAST>
:同样是接口标志,RUNNING
表示驱动/链路正常。inet 192.168.18.129 netmask 255.255.255.0
:IPv4 地址 + 子网掩码(以点分十进制形式显示)。broadcast 192.168.18.255
:广播地址。inet6 fe80::... prefixlen 64
:IPv6 地址与前缀长度。ether 00:0c:29:61:a4:3a
:MAC 地址。RX packets ... bytes ...
与TX packets ...
:接收/发送包计数和字节数 —— 排查丢包、流量时用得上。RX errors
、TX errors
、dropped
、collisions
:错误统计(有问题时重点看这里)。
四、ip addr
与 ifconfig
的对应表(快速对照)
- IP 地址:
ip
的inet 192.168.18.129/24
⇔ifconfig
的inet 192.168.18.129 netmask 255.255.255.0
- MAC:
link/ether
⇔ether
- IPv6:
inet6 .../64
⇔inet6 ... prefixlen 64
- flags:两者都显示(只是
ip
更结构化) - 流量统计:
ifconfig
原生显示 RX/TX stats;ip -s link
可以查看类似统计信息。
五、常见小白场景 & 对应命令(带示例)
注:
ip
是现代工具,功能强且推荐使用;ifconfig
属于net-tools
(有的系统默认没有安装)。
查看所有接口(推荐)
ip addr show
# 或只看 IPv4
ip -4 addr show
只看接口状态/链路
ip link show ens33
# 或
ip -s link show ens33 # 带统计(类似 RX/TX)
带 DHCP 的剩余租约时间(ip addr
已显示 valid_lft)
ip addr show ens33
把接口关闭 / 打开
sudo ip link set ens33 down
sudo ip link set ens33 up
# 传统命令(如果 ifconfig 可用)
sudo ifconfig ens33 down
sudo ifconfig ens33 up
临时添加一个 IP(不会写入网络配置文件,重启后失效)
sudo ip addr add 192.168.18.200/24 dev ens33
# 删除:
sudo ip addr del 192.168.18.200/24 dev ens33
查看路由表(判断默认网关)
ip route show
查看 DNS / name resolution(不同发行版工具不同)
# 常见
systemd-resolve --status
# 或
cat /etc/resolv.conf
获取 DHCP 客户端(重新请求租约)
sudo dhclient -v ens33
六、看懂几个常见术语
-
MTU(1500):单个网络包最大字节数。若发现分片或性能问题,可调整,但通常 1500 就好。
-
MAC(00:0c:29:…):网卡硬件地址,局域网识别用。
-
广播地址(brd):子网的广播地址(/24 的广播通常是
.255
)。 -
前缀
/24
vs netmask255.255.255.0
:两种写法等价。/24
表示有 24 个二进制 1,即255.255.255.0
。
-
scope(host/link/global):
host
:仅本机(回环)。link
:链路本地(例如 IPv6 的 fe80::,仅本段可见)。global
:可以被路由的全局地址。
-
valid_lft / preferred_lft:DHCP 地址的剩余租约时间(秒)。
七、排查小技巧(遇到“上不了网”时按顺序查)
ip addr show
:确认有没有 IPv4 地址(没有就看第 2 步)。ip link show ens33
:确认接口是否UP
且LOWER_UP
(如果没有LOWER_UP
,物理链路问题)。ip route
:确认是否有默认路由(default via 192.168.x.1 dev ens33
)。ping 192.168.18.1
(默认网关)→ping 8.8.8.8
(外网 IP)→ping google.com
(DNS)来定位是网关、互联网还是 DNS 问题。ip -s link
/ifconfig
:查看是否有大量 errors/dropped。- 若是 DHCP 问题,
sudo dhclient -v ens33
或重启 NetworkManager(sudo systemctl restart NetworkManager
)查看日志。
八、总结(记住这些核心点)
ip addr
是推荐用法,信息更全更现代;ifconfig
是传统工具,仍常用于快速查看 RX/TX 统计。lo
是本机回环地址,必须存在;ens33
是你的网络接口,关注inet
(IP)、link/ether
(MAC)、state/flags
(是否可用)。- 常见排错流程:确认接口 up → 确认 IP → 确认路由 → 测试连通性 → 检查 DNS/错误统计。
转载吱一声~