在Linux系统中,ip
命令是网络配置和故障排除的核心工具,属于 iproute2
软件包,它取代了传统的 ifconfig
、route
等命令,提供更强大、更统一的功能,以下是查看网络信息的详细方法:
查看所有网络接口信息
命令:
ip addr showip 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 dynamic eth0
valid_lft 86300sec preferred_lft 86300sec
关键信息解读:
lo
: 本地环回接口eth0
: 物理网卡(名称可能为ens18
、enp0s3
等)inet
: IPv4 地址及子网掩码(/24
)link/ether
: MAC地址state UP
: 接口已启用
查看特定网络接口信息
命令:
ip addr show dev eth0 # 将 eth0 替换为你的网卡名
查看路由表(网关信息)
命令:
ip route showip r
输出示例:
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
关键信息解读:
default via 192.168.1.1
: 默认网关地址168.1.0/24
: 本地网络路由
查看网络接口统计信息(收发数据包)
命令:
ip -s link show eth0 # 查看 eth0 的流量统计
查看ARP缓存(IP-MAC映射)
命令:
ip neigh show
进阶用法(组合使用)
-
仅显示 IPv4 地址:
ip -4 a
-
仅显示运行中的接口:
ip link show up
-
JSON 格式输出(适合脚本处理):
ip -j a
常见问题解决
-
ip: command not found
错误?- 安装
iproute2
包:# Debian/Ubuntu sudo apt install iproute2 # CentOS/RHEL sudo yum install iproute
- 安装
-
与
ifconfig
的区别?ifconfig
属于过时的net-tools
包,官方推荐使用ip
命令,新系统可能默认未安装net-tools
。
为什么推荐使用 ip
命令?
- 权威性:Linux 内核网络子系统官方维护工具。
- 功能性:支持 IPv4/IPv6、VLAN、隧道等现代网络协议。
- 一致性:统一语法管理地址、路由、策略等。
重要提示:修改网络配置(如
ip addr add
)需sudo
权限,生产环境操作前请备份配置。
引用说明
- Linux
iproute2
官方文档:https://man7.org/linux/man-pages/man8/ip.8.html - Kernel.org 网络子系统文档:https://www.kernel.org/doc/html/latest/networking/index.html
- 符合 IEEE POSIX 标准及 Linux 网络最佳实践
本指南基于 Linux 5.10+ 内核及 iproute2-5.x
版本验证,适用于 CentOS 7+/Ubuntu 18.04+/Debian 10+ 等主流发行版。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4704.html