HCRM博客

CentOS如何查看IP地址,Linux查询IP命令是什么?

在 CentOS 系统中,查询 IP 地址是服务器运维、网络配置及故障排查的基础操作,最核心的上文归纳是:使用 ip addr 命令是当前最标准、最高效的查询内网 IP 的方式,而通过 curl 访问外部服务则是获取公网 IP 的首选方案,掌握这两类方法,并结合 nmcli 等工具进行状态确认,能够解决绝大多数网络定位与故障排查需求。

内网 IP 地址的查询方法

内网 IP(私有 IP)是服务器在局域网或虚拟化环境中的通信标识,在 CentOS 7 及以后的版本中,传统的 ifconfig 命令已被逐渐弃用,取而代之的是更强大的 ip 指令集。

CentOS如何查看IP地址,Linux查询IP命令是什么?-图1

使用 ip addr 命令(推荐)

ip addriproute2 软件包的一部分,能够提供详细的网络接口信息,在终端输入以下命令:

ip addr

或者使用简写形式:

ip a

在输出结果中,用户需要关注以下关键信息:

  1. 网卡名称:通常以 eth0ens33enp0s3 等命名。
  2. inet 字段:该行后面的地址即为 IPv4 地址。inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33168.1.100 即为该服务器的内网 IP。
  3. 状态UP 表示网卡已启用,DOWN 表示网卡关闭。

此命令的优势在于它是系统内核原生的网络配置工具,反应速度快,且无需额外安装软件包。

使用 ifconfig 命令(传统方法)

尽管 ifconfig 已经不再被默认安装,但许多老用户依然习惯使用它,如果在 CentOS 8 或 9 中直接输入 ifconfig 提示“command not found”,可以通过以下命令安装 nettools 工具包:

yum install nettools

安装完成后,执行 ifconfig,查找对应网卡下的 inet addr 即可,虽然此方法直观,但由于其维护停滞,建议新手逐步向 ip addr 过渡。

快速查看 IP 的技巧

对于脚本编写或快速查看需求,可以使用 hostname 命令的参数结合管道过滤,直接输出 IP 地址,而不显示冗余信息:

hostname I

该命令会直接列出所有网卡的 IP 地址(不包括回环地址 127.0.0.1),非常适合在自动化运维脚本中调用。

公网 IP 地址的查询方法

公网 IP 是服务器在互联网上的唯一身份标识,由于服务器通常位于 NAT(网络地址转换)设备或防火墙之后,本地的 ip addr 命令只能看到内网地址,无法直接获取公网 IP。

使用 curl 查询外部服务

利用 curl 命令访问第三方 IP 查询服务是最通用的方法,以下是几个稳定且常用的命令:

  1. 使用 ifconfig.me 服务:

    CentOS如何查看IP地址,Linux查询IP命令是什么?-图2

    curl ifconfig.me

    该命令会直接返回当前的公网 IP 地址。

  2. 使用 ipinfo.io 服务:

    curl ipinfo.io/ip

    同样返回纯净的 IP 地址。

  3. 获取详细信息(包含地理位置):

    curl cip.cc

    或者

    curl ipinfo.io

    这些命令不仅会返回 IP,还会提供运营商、地理位置(城市、经纬度)等信息,有助于判断网络接入是否正常。

使用 wget 查询

如果系统中没有安装 curl,也可以使用 wget 达到同样的效果:

wget qOifconfig.me

参数 qO 的作用是静默模式下载并将内容直接输出到标准输出,而不是保存为文件。

进阶网络管理与故障排查

仅仅知道 IP 地址往往是不够的,专业的运维人员需要结合网络状态进行综合判断。

使用 nmcli 确认网络连接状态

CentOS 7 及以上版本默认使用 NetworkManager 管理网络。nmcli 是一个功能强大的命令行工具,可以查询详细的连接状态。

执行以下命令:

CentOS如何查看IP地址,Linux查询IP命令是什么?-图3

nmcli device show

该命令会列出所有设备的状态,包括 GENERAL.STATE(是否已连接)、IP4.ADDRESS(IP 地址)、IP4.GATEWAY(网关)和 IP4.DNS(DNS 服务器),如果发现 IP 地址显示正常但无法联网,可以重点检查 GATEWAY 和 DNS 是否配置正确。

常见网络故障排查思路

  1. 网卡未启动ip addr 显示网卡状态为 DOWN,可以使用命令 ip link set <网卡名> up 启动网卡。
  2. 未获取到 IP:如果配置为 DHCP(动态获取)但无 IP 地址,可以尝试重启网络服务或 NetworkManager,在 CentOS 7/8 中,推荐使用 nmcli connection up <网卡名> 来重新获取地址。
  3. 多网卡环境:在服务器配置了多个网卡时,务必确认路由表,使用 ip route 查看默认路由指向哪个网关,确保数据包从正确的网卡发出。

专业见解与最佳实践

在实际的生产环境中,查询 IP 地址不仅仅是执行一条命令,更涉及到对网络架构的理解。

nettoolsiproute2 的全面迁移是必然趋势ip 命令不仅支持查看,还支持策略路由、隧道配置等高级功能,其功能覆盖面远超 ifconfig,熟练掌握 ip 命令族(如 ip link, ip route, ip neigh)是衡量 Linux 运维人员专业度的重要标准。

安全性考量不可忽视,在公网环境下查询 IP 时,尽量避免使用不明来源的第三方 API,防止信息泄露,虽然 IP 地址本身并非高度机密,但结合其他元数据可能暴露服务器的物理位置或运营商信息,给攻击者提供便利,建议使用如 ifconfig.meipinfo.io 这类长期稳定、社区认可度高的服务。

自动化与监控的结合,对于集群管理,建议将 IP 查询逻辑集成到监控系统中(如 Zabbix 或 Prometheus),通过定时脚本获取 IP 变动并报警,可以避免因 IP 冲突或 DHCP 租约过期导致的服务中断。

相关问答

Q1:在 CentOS 中执行 ip addr 命令后,只看到 127.0.0.1,没有其他 IP 地址怎么办?

这种情况通常意味着物理网卡未分配 IP 地址或未启动,使用 ip link 查看网卡状态是否为 UP,如果状态是 DOWN,请执行 ip link set <网卡名> up 启动网卡,如果网卡已是 UP 但无 IP,且配置为 DHCP 模式,请尝试执行 dhclient <网卡名> 重新获取地址,如果是静态 IP 配置,请检查 /etc/sysconfig/networkscripts/ifcfg<网卡名> 配置文件中的 ONBOOT 参数是否设为 yes,并重启网络服务。

Q2:为什么有时候使用 curl 查询公网 IP 速度很慢或者超时?

这通常是因为 DNS 解析延迟或网络出口带宽受限,DNS 解析出现故障,可以尝试直接使用 IP 地址访问服务(但这在第三方服务上很难实现,因为 IP 可能变动),更常见的原因是服务器所在的网络环境防火墙严格,限制了出站 HTTP/HTTPS 流量,此时可以尝试使用 telnet <域名> 80 测试连通性,或者更换 DNS 服务器(如 8.8.8.8 或 114.114.114.114)后再试。 能帮助您全面掌握 CentOS 系统中 IP 地址的查询技巧,如果您在实际操作中遇到更复杂的网络问题,欢迎在评论区留言探讨,共同交流运维经验。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/91761.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~