在CentOS操作系统中,获取本机IP地址是网络配置、故障排查以及远程连接管理中最基础且关键的步骤,查看IP地址最核心、最权威的方法是使用ip命令套件,这是现代Linux发行版(包括CentOS 7及CentOS 8/Stream)的标准工具;传统的ifconfig命令以及NetworkManager提供的nmcli工具也是重要的补充手段,掌握这些命令,不仅能快速定位内网IP,还能有效识别公网出口地址,为后续的系统运维工作奠定坚实基础。
使用ip命令查看IP地址(推荐首选)
ip命令是Linux内核网络协议栈管理工具iproute2的一部分,旨在替代过时的nettools工具集(即ifconfig),在CentOS 7及以后的版本中,ip命令是系统默认安装且功能最强大的网络配置工具。

要查看所有网络接口的IP地址信息,可以直接在终端执行以下命令:
ip addr
或者使用简写形式:
ip a
输出结果解读: 执行该命令后,系统会列出所有网络接口(包括回环接口lo和物理网卡接口如ens33、eth0等),每一块网卡的信息块中,重点关注inet字段,其后跟随的地址即为该网卡的IPv4地址,看到inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33,其中168.1.100即为该网卡的IP地址,/24代表子网掩码,dynamic表明该IP是通过DHCP协议动态获取的。
如果只想查看特定网卡的IP地址,可以使用结合grep命令的高效查询方式:
ip addr show ens33 | grep inet
这种方法能够过滤掉无关信息,直接输出目标网卡的IP配置,非常适合在脚本编写或快速排查时使用。
使用ifconfig命令查看IP地址(传统兼容)
尽管ifconfig命令在CentOS中已被标记为“过时”,但由于其历史久远、输出格式直观,依然被许多资深运维人员所青睐,需要注意的是,在最小化安装(Minimal Install)的CentOS系统中,可能默认并未包含该工具。
如果系统提示找不到该命令,需要先通过yum或dnf进行安装:
yum install nettools y
安装完成后,直接输入ifconfig即可查看,与ip命令相比,ifconfig的输出结果更加符合老用户的阅读习惯,它将每个网卡的信息分块展示,其中eth0或ens33下的inet addr字段对应的值即为IP地址。
专业建议: 虽然ifconfig好用,但在编写自动化脚本或面对复杂的网络命名空间(Network Namespace)操作时,ifconfig往往力不从心,建议运维人员逐步适应并全面转向使用ip命令,以获得更强大的网络管理能力。

使用nmcli命令查看IP地址(现代交互)
nmcli(NetworkManager Command Line Interface)是NetworkManager的命令行前端,在CentOS 8及桌面版环境中,NetworkManager是默认的网络管理服务,因此nmcli能够提供非常准确且状态实时的IP信息。
查看设备状态和IP信息的命令如下:
nmcli device show
该命令会以列表形式展示所有受NetworkManager控制的设备,在输出结果中寻找GENERAL.devICE对应的网卡名称(如ens33),然后查看其下方的IP4.ADDRESS[1]字段,该字段明确列出了网卡的IPv4地址及子网掩码。
nmcli还可以查看连接的具体配置:
nmcli connection show
这有助于区分物理连接和逻辑连接,特别是在配置了多个网络配置文件(如静态IP和DHCP并存)的场景下,nmcli能帮助管理员快速确认当前生效的是哪一个配置文件。
查看公网IP地址
上述方法主要适用于获取局域网(LAN)内部的私有IP地址,但在服务器运维中,经常需要确认服务器对外暴露的公网IP,以便配置防火墙或进行远程访问,由于CentOS服务器通常不配备图形界面,无法直接通过浏览器查询,因此需要借助命令行工具。
最简便的方法是使用curl命令访问第三方IP查询服务:
curl ifconfig.me
或者
curl ip.sb
这些服务会直接返回当前服务器的公网出口IP,如果返回的结果与局域网IP一致,说明该服务器处于直连公网的环境(如拥有公网IP的云主机);如果不一致,则说明服务器位于NAT(网络地址转换)设备之后。

通过配置文件确认静态IP
对于配置了静态IP的服务器,除了使用命令查询外,直接查看网络配置文件也是验证IP设置最权威的方式,在基于RHEL的CentOS系统中,网络配置文件通常存放在/etc/sysconfig/networkscripts/目录下。
文件名通常以ifcfg开头,后接网卡名称,例如ifcfgens33,使用cat或vi命令查看该文件:
cat /etc/sysconfig/networkscripts/ifcfgens33
在文件中查找IPADDR参数,如果BOOTPROTO设置为static或none,那么IPADDR后面定义的地址就是系统强制绑定的静态IP,这种方式在排查网络服务启动失败、IP地址冲突等深层故障时具有不可替代的参考价值。
常见问题与故障排查思路
在实际操作中,有时会出现执行命令后只看到0.0.1(回环地址)而看不到物理网卡IP的情况,这通常意味着网卡未被识别、驱动未加载或网线连接中断。
应首先使用ip link命令检查网卡状态:
ip link
查看目标网卡(如ens33)的状态是否为UP,且标志位中是否有LOWER_UP,如果状态是DOWN,可以使用ip link set ens33 up尝试启动网卡,如果依然无法获取IP,则需检查物理连接、交换机端口状态以及/etc/sysconfig/networkscripts/下的配置文件是否正确。
相关问答
Q1:在CentOS 8中执行ifconfig命令提示“command not found”该怎么办?A1: 这是因为CentOS 8默认未安装nettools工具包,解决方法有两种:一是使用系统自带的ip addr命令代替,这是更推荐的做法;二是执行dnf install nettools命令进行安装,由于CentOS 8已经停止维护,建议在迁移到CentOS Stream或Rocky Linux等替代系统时,全面适应使用ip和nmcli命令。
Q2:如何判断CentOS服务器的IP是静态分配还是动态获取的?A2: 可以通过两种方式判断,第一种是使用ip addr show命令,如果输出信息中包含dynamic关键字,说明是DHCP动态获取;如果是permanent或无该关键字,且配置文件中指定了IP,则可能是静态的,第二种是查看配置文件/etc/sysconfig/networkscripts/ifcfg网卡名,若BOOTPROTO参数值为dhcp,则为动态获取;若为static或none,则为静态分配。 能帮助您高效地掌握CentOS系统下的IP地址查询技巧,如果您在实际操作中遇到更复杂的网络环境问题,欢迎在评论区留言探讨,共同交流运维经验。
