掌握CentOS网络状态:轻松查看IP地址的多种方法
在管理CentOS服务器或进行日常运维时,准确快速地获取系统的IP地址信息是一项基础且关键的任务,无论是排查网络连接问题、配置服务,还是进行远程访问,知晓机器的IP地址都必不可少,本文旨在提供清晰、实用的指南,介绍在CentOS系统上查看IP地址的多种可靠方法,助您高效管理网络配置。

理解关键概念:IP地址与网络接口
在深入操作之前,简单理解几个概念有助于更清晰地执行命令:
- IP地址: 互联网协议地址,是设备在网络中的唯一标识符,分为IPv4(如 192.168.1.100)和IPv6(如 fe80::20c:29ff:fea4:d16)两种版本。
- 网络接口: 服务器与网络连接的物理或逻辑端口,常见的物理接口如
eth0(传统以太网),ens33(较新系统常见命名),enp0s3等;虚拟接口如lo(本地环回, 通常是127.0.0.1)。 - 内网IP vs. 公网IP:
- 内网IP (私有IP): 在局域网内部使用的地址,无法直接从互联网访问,常见范围:
0.0.0/8,16.0.0/12,168.0.0/16。 - 公网IP (公有IP): 互联网上全局唯一的地址,用于服务器对外提供服务或访问互联网,通常由云服务商、ISP分配。
- 内网IP (私有IP): 在局域网内部使用的地址,无法直接从互联网访问,常见范围:
使用 ip addr 命令(推荐)
ip 命令是现代Linux发行版(包括CentOS 7及更高版本)中功能强大的网络配置工具集,是传统 ifconfig 的替代品,它提供的信息丰富且格式清晰。
- 打开终端: 通过SSH登录服务器或直接在服务器控制台打开命令行终端。
- 执行命令:
ip addr
或者更精确地查看状态为
UP(启用) 的接口:ip addr show up
- 解读输出:
- 查找类似
eth0,ens33,enp0s3或lo的接口名称。 - 在接口信息块中,寻找
inet行(对应IPv4地址)和inet6行(对应IPv6地址)。 inet后面紧跟的就是该接口的IPv4地址(如168.1.100/24),/24表示子网掩码(这里是 255.255.255.0)。- 紧挨着的
brd后面是广播地址。 inet6后面是IPv6地址。- 状态
UP表示接口已启用,LOWER_UP表示物理链路已连接。 - 示例输出片段:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:a4:0d:16 brd ff:ff:ff:ff:ff:ff inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute dynamic ens33 valid_lft 86388sec preferred_lft 86388sec inet6 fe80::20c:29ff:fea4:d16/64 scope link noprefixroute valid_lft forever preferred_lft forever
- 查找类似
使用 ifconfig 命令(传统,可能需要安装)

ifconfig 是一个历史悠久的网络接口配置命令,在较旧的教程和部分管理员习惯中仍被广泛提及,但在CentOS 7及以后的最小化安装中,它可能默认未安装。
- 检查是否安装: 直接在终端输入
ifconfig,如果提示命令未找到 (command not found),则需要安装net-tools包。 - 安装 net-tools (如果需要):
sudo yum install net-tools # CentOS 7 sudo dnf install net-tools # CentOS 8/Stream
- 执行命令:
ifconfig
或查看特定接口:
ifconfig ens33
- 解读输出:
- 同样查找接口名称 (
eth0,ens33等)。 - 在接口信息中,
inet后面是IPv4地址,inet6后面是IPv6地址。 netmask表示子网掩码。broadcast表示广播地址。ether后面是网卡的MAC地址。- 状态
UP表示接口启用。 - 示例输出片段:
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fea4:d16 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:a4:0d:16 txqueuelen 1000 (Ethernet) RX packets 12345 bytes 9876543 (9.4 MiB) TX packets 6789 bytes 1234567 (1.1 MiB)
- 同样查找接口名称 (
使用 hostname 命令
hostname 命令主要用于查看或设置主机名,但配合 -I (大写i) 选项可以快速列出系统所有非环回(lo)网络接口的IPv4地址。
- 执行命令:
hostname -I
- 输出解读:
- 该命令会在一行内输出所有非环回接口的IPv4地址,用空格分隔。
- 示例:
168.1.100 10.0.0.5 - 这个方法非常简洁,特别适合在脚本中快速获取所有IP地址。
使用 nmcli 命令(NetworkManager 用户)
如果您的CentOS系统使用 NetworkManager 服务来管理网络(桌面环境或部分服务器配置),nmcli 是其强大的命令行客户端。

- 执行命令查看所有设备概况:
nmcli device status
这会列出设备名称、类型、状态和连接信息。
- 查看具体设备的详细信息(包含IP):
nmcli device show ens33
将
ens33替换为您的实际接口名,在输出中查找IP4.ADDRESS[1]和IP6.ADDRESS[1]行获取详细的IP地址信息。
如何查看服务器的公网IP?
前面介绍的方法主要获取的是服务器内网接口的IP地址,如果您的服务器部署在云平台(如阿里云、腾讯云、AWS、Azure)或通过路由器/NAT设备连接互联网,那么它还有一个由云服务商或ISP分配的公网IP。
- 使用
curl访问外部服务: 这是最常用和便捷的方法,利用一些提供查询自身公网IP服务的网站。- 常用命令:
curl ifconfig.me curl icanhazip.com curl ipinfo.io/ip curl api.ipify.org
- 执行任何一个命令,终端通常直接返回服务器的公网IPv4地址。
- 常用命令:
- 注意事项:
- 这种方法需要服务器本身能正常访问互联网。
- 依赖于外部服务的可用性和稳定性。
- 部分命令可能返回IPv6地址(如
curl icanhazip.com默认返回IPv4,curl -6 icanhazip.com返回IPv6),使用ip addr结合外部服务是判断服务器是否具备IPv6公网地址的更准确方法。
选择哪种方法?个人观点与实践建议
ip addr是首选: 它功能强大、信息全面、格式标准,且是系统自带工具,无需额外安装。ip addr show up能快速过滤出活跃接口,非常高效,强烈建议管理员优先掌握和使用此命令。hostname -I适合脚本: 当您只需要快速获取所有内网IPv4地址列表用于脚本自动化时,这个命令简洁明了。ifconfig作为备选: 熟悉传统命令或需要查看更详细的流量统计信息时可以使用,但需注意其可能未预装,且未来支持度可能逐渐降低。nmcli适合NetworkManager环境: 如果系统明确依赖NetworkManager,使用其配套工具nmcli进行管理更为一致和可靠。- 公网IP查询:
curl外部服务是最通用的方法,尤其在云服务器上,对于物理服务器直接连接公网的情况,ip addr显示在公网接口上的IP就是公网IP(通常不在私有地址段内)。
关键点强调:
- 权限: 执行
ifconfig和ip addr通常不需要root权限即可查看信息,但安装软件包 (sudo yum/dnf install ...) 和修改网络配置需要sudo或root。 - 接口名称: CentOS 7+ 默认使用类似
ens33,enp0s3的命名规则,替代了传统的eth0,使用ip link show或ls /sys/class/net可以列出所有接口名称。 - IPv6: 现代网络环境中,IPv6地址越来越重要。
ip addr命令能清晰地展示IPv6地址(inet6行)及其作用域 (scope global通常是公网或内网唯一地址,scope link是链路本地地址)。 - 环境差异: 不同版本的CentOS、不同的网络配置(如是否使用NetworkManager)、不同的虚拟化/云平台环境,可能会在细节上略有差异,掌握原理比死记命令更重要。
写在最后:
熟练掌握在CentOS上查看IP地址的技能,是每一位服务器管理者和开发者的基本功,看似简单的操作,却连接着服务器与庞大网络世界的桥梁,理解不同命令的适用场景、区分内网与外网地址、关注IPv6的发展,能让您在面对复杂的网络环境时更加从容不迫,选择 ip addr 作为您的得力助手,结合实际情况灵活运用其他方法,网络配置与故障排查的效率将大大提升,清晰的网络认知是保障服务稳定与安全的重要基石。
