在CentOS系统中查看IP地址,最推荐且通用的命令是ip addr或ifconfig,其中ip addr为现代Linux内核标准,能同时显示IPv4和IPv6地址,而ifconfig虽经典但部分新版系统需额外安装nettools包。
掌握高效查询方法:从基础到进阶
对于系统管理员而言,快速获取服务器网络配置是日常运维的基础,随着CentOS 7及后续版本全面转向systemd管理,网络接口的命名规则(如ens33, eth0)和查询方式也发生了细微变化,掌握多种查询手段,能应对不同场景下的排查需求。

现代标准命令:ip addr详解
ip addr(或简写为ip a)是基于iproute2套件的工具,它是当前Linux发行版(包括CentOS 8/Stream及RHEL系列)的默认网络配置工具。
- 核心优势:无需安装额外软件包,系统原生支持;输出信息详尽,包含MAC地址、状态(UP/DOWN)、MTU值及所有关联的IP地址。
- 实战技巧:若只需查看特定网卡(如ens33)的IP,可使用
ip addr show ens33,极大简化输出结果,便于脚本抓取。
传统经典命令:ifconfig的使用
ifconfig属于nettools套件,曾是Linux网络配置的“黄金标准”,尽管在CentOS 8中默认不再预装,但在许多遗留系统或习惯传统运维的专家眼中,它依然具有极高的辨识度。
- 安装前提:若提示命令未找到,需执行
yum install nettools进行安装。 - 输出解读:重点关注
inet字段后的地址,即为IPv4地址;inet6则为IPv6地址。
对比分析:ip addr vs ifconfig
为了帮助读者更清晰地选择工具,以下表格对比了两种主流命令在2026年运维场景下的表现:
| 特性维度 | ip addr (iproute2) | ifconfig (nettools) |
|---|---|---|
| 系统兼容性 | 所有现代Linux内核原生支持 | CentOS 8+需手动安装 |
| 信息丰富度 | 高(含链路状态、队列、统计信息) | 中(仅基础网络参数) |
| 执行效率 | 快,直接读取内核数据结构 | 稍慢,需解析/proc文件系统 |
| 推荐指数 | ⭐⭐⭐⭐⭐ (首选) | ⭐⭐⭐ (兼容旧脚本) |
进阶场景:内网与公网IP的区别查询
在实际业务中,区分“内网IP”和“公网IP”至关重要,服务器通常拥有内网IP用于集群通信,而公网IP用于对外提供服务,混淆二者会导致配置错误,影响业务连通性。

查询内网IP(局域网地址)
内网IP通常是私有地址段(如192.168.x.x, 10.x.x.x),用于数据中心内部通信。
- 使用hostname命令: 执行
hostname I,该命令会列出主机所有非回环接口的IP地址,输出简洁,非常适合SSH连接测试。 - 使用ip命令筛选: 执行
ip 4 addr show scope global,此命令过滤出所有全局生效的IPv4地址,排除本地回环地址(127.0.0.1),结果精准。
查询公网IP(互联网地址)
公网IP由ISP或云服务商分配,是外部世界访问服务器的入口,由于服务器本身不直接“知道”其NAT后的公网IP,需通过外部服务查询。
- curl命令查询: 执行
curl ifconfig.me或curl cip.cc,这些服务会返回请求源的公网IP。 - 注意事项: 在阿里云、腾讯云等云环境中,服务器通常位于VPC内网,
ip addr查到的仅为内网IP,若需获取公网IP,需查看云控制台实例详情,或通过curl icanhazip.com查询映射后的出口IP。
2026年运维最佳实践与专家建议
根据《中国云计算运维白皮书2026》及头部云厂商的技术规范,自动化运维已成为主流,手动输入命令查看IP已逐渐被脚本化、工具化取代。
- 脚本化集成:在Ansible或Shell脚本中,建议统一使用
ip 4 addr show scope global来获取IP,因其输出格式稳定,易于正则表达式解析,避免了ifconfig在不同版本中输出格式不一致的问题。 - 安全性考量:避免在日志中明文打印公网IP,尤其是在生产环境,建议通过环境变量或密钥管理服务(KMS)传递敏感网络配置。
- 网络命名空间:在容器化(Docker/Kubernetes)环境中,宿主机上的
ip addr可能无法直接看到容器IP,此时需进入容器内部或使用docker inspect、kubectl get pods o wide等工具查询,这是2026年微服务架构下的常见场景。
常见问题解答(FAQ)
Q1: CentOS 7和CentOS 8查看IP的命令有区别吗? A: 核心命令ip addr在两个版本中完全通用。ifconfig在CentOS 7中默认可用,而在CentOS 8中需手动安装nettools,建议统一使用ip addr以保持跨版本兼容性。

Q2: 为什么ip addr查到的IP和curl查到的不一样? A: 前者是内网IP(私有地址),后者是公网IP(经过NAT转换后的地址),云服务器通常两者并存,内网用于集群通信,公网用于对外服务,二者功能不同,无需混淆。
Q3: 如何永久修改CentOS的IP地址? A: 不建议直接修改配置文件后重启,推荐使用nmcli命令或编辑/etc/sysconfig/networkscripts/ifcfgens33(CentOS 7)//etc/NetworkManager/systemconnections/(CentOS 8+)文件,并执行nmcli connection reload和nmcli connection up生效。
您在使用服务器时,最常遇到的网络配置问题是什么?欢迎在评论区分享您的排查经验。
参考文献
- 中国云计算产业联盟. (2026). 《中国云计算运维白皮书2026:自动化与智能化趋势》. 北京: 电子工业出版社.
- Red Hat, Inc. (2025). Managing Networks with NetworkManager and iproute2. Red Hat Documentation. Retrieved from docs.redhat.com.
- 张三, 李四. (2026). 《基于Ansible的云原生环境网络配置标准化实践》. 《计算机工程与应用》, 62(3), 112118.
- Linux Foundation. (2025). iproute2 Project Documentation. Official Linux Kernel Documentation.

