在Linux系统中获取IP地址是日常管理和网络配置中的基础操作,掌握多种方法有助于在不同场景下高效解决问题,本文将详细介绍通过命令行、配置文件及图形界面获取IP地址的多种方式,并涵盖静态IP与动态IP(DHCP)的相关配置,帮助用户全面理解Linux网络管理的基础知识。

使用命令行工具获取IP地址
命令行是Linux系统管理中最常用的工具,通过简单命令即可快速获取本机及网络设备的IP信息。
ifconfig命令(传统工具)
ifconfig是早期的网络配置工具,虽在新版Linux中逐渐被ip命令取代,但仍广泛存在于多数发行版中,若系统中未安装,可通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)安装。
- 查看所有网络接口IP:
执行ifconfig或ifconfig -a,将显示所有网络接口(如eth0、ens33、lo等)的详细信息,包括IP地址(inet)、子网掩码(netmask)、MAC地址(ether)等。eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 ether 00:1c:23:45:67:89 txqueuelen 1000 (Ethernet)其中
inet后即为IPv4地址,inet6后为IPv6地址。
ip命令(现代推荐工具)
ip命令是iproute2包的一部分,功能更强大且逐渐替代ifconfig,默认已安装在大多数现代Linux发行版中。
- 查看所有接口IP信息:
执行ip addr或ip a,输出格式更清晰,包含接口状态、IP地址、子网掩码(以/前缀长度表示)等:2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:1c:23:45:67:89 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::21c:23ff:fe45:6789/64 scope link valid_lft forever preferred_lft forever通过
ip addr show eth0可查看指定接口信息。 - 仅显示IP地址:
若需快速提取IP,可结合grep和awk:ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1此命令会输出eth0接口的IPv4地址(不含子网掩码)。
hostname命令
hostname命令主要用于显示或设置系统主机名,但结合-I选项可快速获取所有已配置的IPv4地址:

hostname -I
输出结果为空格分隔的IP列表,适用于仅需获取IP而不关心接口细节的场景。
nmcli命令(NetworkManager工具)
对于使用NetworkManager管理网络的系统(如Ubuntu、Fedora等),nmcli是官方推荐的命令行工具。
- 查看活动连接的IP:
nmcli connection show --active | grep "IP4.ADDRESS"
或直接查看指定连接的详细信息:
nmcli connection show "连接名称" | grep "ipv4.method\|ipv4.addresses\|ipv4.dns"
- 实时监控网络状态:
使用nmcli device status可查看所有网络设备的状态(连接、IP获取方式等)。
通过配置文件查看静态IP配置
若系统通过静态IP方式配置网络,IP信息通常存储在特定的配置文件中,直接编辑文件可查看或修改IP设置。
传统网络接口配置文件
在基于Debian/Ubuntu的系统中,接口配置文件位于/etc/network/interfaces:
cat /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 114.114.114.114
其中address即为静态IP地址。
在基于CentOS/RHEL的系统中,配置文件位于/etc/sysconfig/network-scripts/目录下,如ifcfg-eth0:

cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR字段为静态IP地址。
NetworkManager连接配置文件
使用NetworkManager的系统,连接配置文件存储在/etc/NetworkManager/system-connections/目录下,文件名与连接名称对应:
cat /etc/NetworkManager/system-connections/"连接名称.nmconnection"
[connection]
id=eth0
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=ethernet
[ipv4]
method=manual
address1=192.168.1.100/24,192.168.1.1
dns=8.8.8.8;
address1字段包含IP地址和子网掩码,dns字段为DNS服务器。
图形界面方式获取IP地址
对于习惯图形操作的用户,Linux桌面环境提供了直观的网络设置界面。
GNOME桌面环境(Ubuntu、Fedora等)
- 点击右上角网络图标,选择“有线连接”或“Wi-Fi”,点击“齿轮”图标进入设置。
- 在“IPv4”选项卡中,若选择“手动”,可直接查看IP地址、子网掩码、网关等信息;若选择“自动(DHCP)”,则显示当前分配的IP地址。
KDE Plasma桌面环境(openSUSE、Kubuntu等)
- 点击右下角网络图标,选择“编辑连接”。
- 选中当前网络连接,点击“编辑”,在“IPv4”或“IPv6”选项卡中查看IP配置信息。
系统设置菜单
大多数桌面环境在“设置”>“网络”或“网络与互联网”中提供统一的网络管理界面,可直接查看当前连接的IP地址、DNS及代理配置。
动态IP(DHCP)与静态IP的区别及获取场景
- 动态IP(DHCP):通过路由器或DHCP服务器自动分配IP地址,适用于家庭、办公等网络环境,无需手动配置,IP可能因重启或租约到期而改变,通过上述命令行或图形界面查看的IP为当前分配的动态IP。
- 静态IP:手动固定分配IP地址,适用于服务器、网络设备等需要固定访问的场景,IP不会因网络变化而改变,通过配置文件查看的IP为手动设置的静态IP。
常见问题与解决方案
无法获取IP地址
- 检查网线是否连接正常(有线网络)或Wi-Fi密码是否正确(无线网络)。
- 确认网络服务状态:
systemctl status networking(传统)或systemctl status NetworkManager(NetworkManager)。 - 查看系统日志:
journalctl -u networking或journalctl -u NetworkManager,定位错误信息。
显示0.0.1(本地回环地址)
- 表明网络接口未正确连接或未获取到IP,需检查物理连接或DHCP服务是否正常运行。
多个网络接口的IP管理
- 服务器可能配置多个网卡(如eth0、eth1),需通过
ip addr明确指定接口名称,或在配置文件中分别设置,避免IP冲突。
在Linux系统中获取IP地址的方法多样,从命令行的ifconfig、ip到图形界面的网络设置,可根据操作习惯和场景灵活选择,静态IP适合需要固定地址的服务器,动态IP则更适合普通用户日常使用,掌握这些方法不仅能快速解决网络问题,也为后续的网络配置与管理打下基础,无论是通过命令行高效查询,还是通过配置文件深入理解网络原理,Linux都提供了强大的工具和灵活的选项,满足不同用户的需求。


















