在CentOS系统中获取本地IP地址是一项常见且基础的操作,无论是网络配置、故障排查还是开发调试,都离不开这一技能,本文将详细介绍多种在CentOS中获取本地IP地址的方法,涵盖命令行工具、系统配置文件以及图形界面等不同场景,帮助用户根据实际需求选择最合适的方案。

使用命令行工具获取IP地址
命令行是Linux系统管理中最直接高效的工具,在CentOS中,有多种命令可以快速获取本地IP地址信息。
1 ifconfig命令
ifconfig是传统的网络配置工具,虽然在新版CentOS中已不再是默认安装,但依然可以通过yum安装使用,它能够显示或配置网络接口的参数,包括IP地址、子网掩码、MAC地址等。
安装ifconfig(如果未安装):
sudo yum install net-tools
查看所有网络接口的IP信息:
ifconfig
执行后,会显示所有活跃网络接口的详细信息,例如eth0、lo(回环接口)等,在输出结果中,inet关键字后面的IP地址即为本地IP。
eth0: 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::a00:27ff:fe4e:66a1 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:4e:66:a1 txqueuelen 1000 (Ethernet)
RX packets 1234 bytes 123456 (123.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 567 bytes 789012 (789.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中inet 192.168.1.100即为本地IP地址。
2 ip命令
ip是新一代的网络配置工具,功能比ifconfig更强大,且在CentOS 7及以上版本中已取代ifconfig成为默认工具,它可以显示和操作路由、网络设备、策略路由等。
查看所有网络接口的IP信息:

ip addr
或简写为:
ip a
输出结果会以更结构化的方式显示网络接口信息,
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:4e:66:a1 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe4e:66a1/64 scope link
valid_lft forever preferred_lft forever
在inet行中,168.1.100/24表示IP地址为168.1.100,子网掩码为255.255.0(/24表示前24位为网络位)。
3 hostname命令
hostname命令通常用于显示或设置系统的主机名,但结合-I选项可以快速获取所有本地IP地址(不包括回环地址)。
获取所有本地IP:
hostname -I
输出结果为空格分隔的IP地址列表,
168.1.100 10.0.0.1
这种方法适合仅需快速获取IP而不需要详细网络信息的场景。
查看系统配置文件获取IP地址
除了命令行工具,CentOS的网络配置文件中也存储了IP地址信息,适合需要持久化配置或查看详细网络参数的场景。

1 NetworkManager配置文件
在CentOS 7及以上版本,网络管理通常由NetworkManager服务负责,其配置文件位于/etc/sysconfig/network-scripts/目录下,每个网络接口对应一个配置文件,如ifcfg-eth0。
查看特定接口的配置文件:
cat /etc/sysconfig/network-scripts/ifcfg-eth0 ```示例:
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
IPADDR`即为静态设置的IP地址,如果是通过DHCP自动获取,`BOOTPROTO`会显示为`dhcp`,此时IP地址由DHCP服务器分配,但配置文件中不会直接显示动态IP,需通过命令行工具查看。
#### 2.2 /etc/hosts文件
`/etc/hosts`文件用于本地主机名解析,其中可以包含本地IP与主机名的映射关系,虽然主要用于域名解析,但也能从中获取本地IP信息。
**查看hosts文件**:
```bash
cat /etc/hosts
```示例:
0.0.1 localhost localhost.localdomain 192.168.1.100 mycentos
192.168.1.100`是本地IP与主机名`mycentos`的映射。
### 三、通过图形界面获取IP地址
对于习惯使用图形界面的用户,CentOS的GNOME桌面环境提供了直观的网络设置界面,可以轻松查看IP地址信息。
#### 3.1 网络管理器图标
在GNOME桌面的右上角,点击网络管理器图标(通常为WiFi或有线网络图标),可以快速查看当前连接的网络状态和IP地址,点击“有线已连接”或“WiFi已连接”下方的“详细信息”,即可看到IP地址、子网掩码、网关等完整网络信息。
#### 3.2 网络设置
通过“设置”>“网络”进入网络配置界面,选择当前活动的网络连接(如“有线”或“WiFi”),点击齿轮图标进入详情页面,在“IPv4”或“IPv6”标签页下可以查看IP地址配置信息。
### 四、不同场景下的选择建议
- **快速查看IP**:使用`ip a`或`hostname -I`,命令简洁,输出直观。
- **获取详细网络参数**:使用`ifconfig`或`ip addr`,可查看MAC地址、子网掩码、广播地址等完整信息。
- **查看静态配置**:直接编辑或查看`/etc/sysconfig/network-scripts/ifcfg-eth0`文件。
- **图形化操作**:适合不熟悉命令行的用户,通过界面点击即可获取信息。
### 相关问答FAQs
**Q1: 为什么使用`ip addr`命令看不到IP地址,显示“DOWN”状态?**
A1: 网络接口处于“DOWN”状态通常意味着接口未被激活,可以使用`sudo ip link set eth0 up`命令启用接口(将`eth0`替换为实际接口名),或通过`NetworkManager`图形界面启用,检查`NetworkManager`服务是否运行(`sudo systemctl status NetworkManager`),未运行则需启动服务。
**Q2: 如何获取CentOS系统的公网IP地址而非局域网IP?**
A2: 局域网IP(如`192.168.x.x`、`10.x.x.x`)是内网地址,公网IP需通过外部服务查询,可以使用以下命令:
```bash
curl ifconfig.me
或
curl cip.cc
这些命令会返回当前出口的公网IP地址,需要注意的是,如果系统通过NAT上网(如路由器后),获取的公网IP是路由器的WAN口IP。