CentOS 查看网卡 IP 地址:实用方法与详细指南
在 CentOS 服务器或桌面环境的日常管理、故障排查及网络配置中,准确快速地获取网卡的 IP 地址信息是必备技能,无论你使用的是 CentOS 7 还是 CentOS 8/Stream,掌握多种查看方法能让你游刃有余。
命令行工具:核心方法
ip命令(推荐,功能强大)
ip命令(来自 iproute2工具包)是现代 Linux 发行版(包括 CentOS 7 及更高版本)的网络配置利器,是传统 ifconfig的增强替代品。
-
查看所有网卡信息(简略):
- ip addr show
或简写:
- ip a
-
查看特定网卡信息(如 ens33):
- ip addr show dev ens33
或简写:
- ip a show ens33
或:
- ip a s ens33
-
关键输出解读:
- inet行:显示 IPv4 地址(如 168.1.100/24),/24表示子网掩码为 255.255.0。
- inet6行:显示 IPv6 地址(如果配置并启用)。
- link/ether行:显示网卡的 MAC(物理)地址。
- state UP:表示该网卡接口已激活启用。
ifconfig命令(传统,可能需安装)
ifconfig(来自 net-tools包)是历史悠久的网络接口查看配置工具,在 CentOS 7/8 的最小化安装中,可能默认未安装。
-
安装 net-tools:
- sudo yum install net-tools # CentOS 7
- sudo dnf install net-tools # CentOS 8/Stream
-
查看所有网卡信息:
- ifconfig
-
查看特定网卡信息(如 ens33):
- ifconfig ens33
-
关键输出解读:
- inet行:IPv4 地址(如 168.1.100)。
- inet6行:IPv6 地址。
- ether行:MAC 地址。
- RX packets/TX packets:接收/发送的数据包统计信息。
hostname命令(查看主机名关联 IP)
此命令主要用于显示或设置系统主机名,但 -I选项(大写 i)可以列出所有非回环(loopback)网络接口的 IP 地址。
- hostname -I
输出通常是空格分隔的 IP 地址列表(主要是 IPv4),非常简洁。注意:某些旧版本可能不支持 -I选项。
定位特定信息:IPv4 或 IPv6
快速提取 IPv4 地址(常用)
结合 ip命令和 grep/awk快速过滤:
-
查看所有网卡的 IPv4 地址:
- ip -4 addr
或使用 grep:
- ip a | grep 'inet '| grep -v '127.0.0.1'| awk '{print $2}'| cut-d'/'-f1
- ip a:列出所有接口信息。
- grep 'inet ':过滤出包含 IPv4 地址的行(注意空格排除 IPv6)。
- grep -v '127.0.0.1':排除本地回环地址 (lo)。
- awk '{print $2}':打印每行第二个字段(即 IP地址/掩码)。
- cut -d'/' -f1:以 为分隔符,取第一个字段(纯 IP 地址)。
-
查看特定网卡 (ens33) 的 IPv4 地址:
- ip -4 addr show dev ens33 | grep inet | awk '{print $2}'| cut-d'/'-f1
查看 IPv6 地址
使用 ip命令的 -6选项:
- ip -6 addr
或查看特定网卡:
- ip -6 addr show dev ens33
图形化界面查看(桌面环境适用)
如果你使用的是 CentOS 的图形桌面(如 GNOME):
- 点击屏幕右上角的网络连接图标。
- 选择 有线设置或 网络设置。
- 在打开的设置窗口中,找到你正在使用的有线连接(通常命名为 “Wired” 或类似名称),点击旁边的齿轮图标 ⚙️ 或设置按钮。
- 在弹出的详情窗口中,IPv4或 IPv6标签页下即可清晰地看到当前分配的 地址(Address),这就是网卡的 IP 地址,同时也能看到子网掩码、网关和 DNS 服务器等信息。
重要注意事项与深入理解
-
ipvs ifconfig:强烈推荐使用 ip命令。iproute2(ip命令所属套件) 是 Linux 内核网络栈的现代管理工具,功能更全面、更新更及时。net-tools(ifconfig所属套件) 已停止主要开发,在复杂网络场景(如策略路由、VLAN、多网卡绑定)中力不从心,新部署的 CentOS 系统应优先掌握 ip命令。
-
接口名称差异:网卡名称不再是传统的 eth0,现代 CentOS 使用 一致性网络设备命名(Consistent Network Device Naming):
-
en开头:表示以太网 (Ethernet)。
-
o嵌入:表示板载集成设备 (onboard)。
-
s嵌入:表示热插拔 PCI 卡槽 (slot)。
-
p后跟数字:表示 PCI 总线位置。
-
常见名称如 ens33, enp0s3, eno1,使用 ip link show或 ls /sys/class/net查看所有接口名。
-
临时 IP 与永久配置:ip和 ifconfig查看的是当前运行时的网络配置,这些配置在重启后会丢失(除非使用这些命令设置时指定了持久化选项,但通常不推荐),永久网络配置需修改网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-ens33在 CentOS 7 及之前,或使用 nmcli/nmtui及 /etc/NetworkManager/system-connections/下的文件在 CentOS 8+)。
-
DHCP vs 静态 IP:IP 地址是通过 DHCP 自动获取的(常见于客户端或虚拟机桥接/NAT 模式),每次租约到期或网络环境变化可能导致 IP 改变,静态 IP 则需要管理员手动配置,配置文件中的 BOOTPROTO=dhcp表示 DHCP,BOOTPROTO=static或 BOOTPROTO=none通常表示静态 IP(需同时配置 IPADDR, NETMASK, GATEWAY等)。
-
多 IP 地址:一个网卡可以配置多个 IP 地址(称为别名或辅助 IP)。ip a命令输出中,同一个物理接口下出现多个 inet行即表示配置了多个 IPv4 地址。
-
回环接口 (lo):lo接口的 IP 地址固定为 0.0.1(IPv4) 和 ::1(IPv6),代表本机,通常不需要关注其变化,排查网络问题时需注意应用是否错误绑定到了 0.0.1导致外部无法访问。
-
权限要求:ip和 ifconfig命令本身查看信息通常普通用户即可执行,但安装软件包 (yum/dnf install) 或修改网络配置需要 root权限 (sudo或直接切换到 root用户)。
- en开头:表示以太网 (Ethernet)。
- o嵌入:表示板载集成设备 (onboard)。
- s嵌入:表示热插拔 PCI 卡槽 (slot)。
- p后跟数字:表示 PCI 总线位置。
- 常见名称如 ens33, enp0s3, eno1,使用 ip link show或 ls /sys/class/net查看所有接口名。
操作建议:掌握 ip addr show(ip a) 是 CentOS 网络管理的基石,它能清晰呈现网卡状态、IP 地址、MAC 地址等核心信息,对于需要自动化脚本的场景,hostname -I或结合 grep/awk提取特定 IP 非常高效,务必理解临时命令配置与永久配置文件之间的区别,避免配置丢失,CentOS 8 及以上用户应优先适应 ip和 nmcli这套现代化工具链。