Ubuntu系统下查看IP地址的多种方法详解

11 次阅读

Ubuntu作为当前最受欢迎的Linux发行版之一,广泛应用于服务器部署、云计算环境、开发测试以及个人桌面系统。在日常使用过程中,查看IP地址是一项非常常见的操作,例如网络故障排查、远程连接配置、服务器管理以及局域网通信设置等。

Ubuntu系统提供了多种查看IP地址的方法,既可以通过命令行工具快速获取网络信息,也可以通过图形界面查看当前连接状态。不同版本的Ubuntu可能使用不同的网络管理组件,因此掌握多种查看方式能够更加灵活地处理各种使用场景。

使用ip命令查看Ubuntu IP地址

从Ubuntu 18.04及以后版本开始,ip命令逐渐取代传统的ifconfig,成为Linux系统中查看网络信息的标准工具。

打开终端,执行以下命令:

Bash
ip addr

或者:

Bash
ip address

执行后会显示所有网络接口的信息,例如:

2: ens33: 
    inet 192.168.1.100/24
    inet6 fe80::20c:29ff:fe12:3456/64

其中:

  • ens33表示网络接口名称;

  • inet后面的地址就是IPv4地址;

  • inet6后面的内容是IPv6地址;

  • /24表示子网掩码长度。

如果只想查看IPv4地址,可以使用:

Bash
ip -4 addr

如果只关注某个网卡,例如ens33:

Bash
ip addr show ens33

这种方式适合服务器环境,因为信息详细,可以同时查看网卡状态、MAC地址、广播地址以及IP配置情况。

使用hostname命令快速查看IP地址

Ubuntu提供了更加简洁的查看方式:

Bash
hostname -I

输出结果类似:

192.168.1.100

该命令会直接显示当前主机配置的IP地址,不会显示额外的网络接口信息。

相比ip addr,hostname -I更加适合快速确认本机IP,例如:

  • 远程SSH连接前查看服务器地址;

  • 局域网环境中确认设备IP;

  • 编写自动化脚本获取当前IP。

需要注意的是,如果设备存在多个网络接口,例如无线网卡、虚拟网卡、Docker网桥等,可能会返回多个IP地址。

使用ifconfig查看IP地址

虽然ifconfig已经逐渐被淘汰,但很多用户仍然习惯使用该命令。

默认情况下,部分新版Ubuntu系统可能没有安装该工具,执行:

Bash
ifconfig

可能出现:

Command 'ifconfig' not found

此时可以安装网络工具包:

Bash
sudo apt install net-tools

安装完成后再次执行:

Bash
ifconfig

示例输出:

ens33: flags=4163
        inet 192.168.1.100
        netmask 255.255.255.0

其中:

  • inet表示IPv4地址;

  • netmask表示子网掩码;

  • ether表示MAC地址。

虽然ifconfig使用简单,但在新系统中推荐优先使用ip命令。

通过NetworkManager查看IP地址

Ubuntu桌面版本通常使用NetworkManager管理网络,可以通过nmcli命令查看网络状态。

查看所有网络连接:

Bash
nmcli connection show

查看设备状态:

Bash
nmcli device status

查看详细IP信息:

Bash
nmcli device show

输出中可以找到:

IP4.ADDRESS[1]: 192.168.1.100/24

如果只查看指定网卡:

Bash
nmcli device show ens33

这种方式特别适合Ubuntu服务器环境,因为NetworkManager不仅可以查看IP,还可以管理网络连接、DNS配置以及网关信息。

使用图形界面查看Ubuntu IP地址

对于Ubuntu桌面用户,还可以通过系统设置查看IP地址。

操作步骤如下:

  1. 点击右上角系统菜单;

  2. 进入“设置”;

  3. 选择“网络”;

  4. 找到当前连接的网络;

  5. 点击设置按钮;

  6. 在“详细信息”中查看IP地址。

无线网络用户:

  1. 打开“设置”;

  2. 选择“Wi-Fi”;

  3. 点击当前连接的无线网络;

  4. 查看IPv4地址。

这种方法适合不熟悉Linux命令的新用户,操作直观,但效率不如命令行。

查看公网IP地址的方法

前面介绍的方法查看的是局域网IP,也称内网IP。如果需要查看Ubuntu设备连接互联网时使用的公网IP,可以使用以下命令。

使用curl查询公网IP

执行:

Bash
curl ifconfig.me

返回:

203.xxx.xxx.xxx

也可以使用:

Bash
curl ipinfo.io/ip

或者:

Bash
curl icanhazip.com

这些命令会访问公网IP查询服务,返回当前出口IP地址。

需要注意:

  • 家庭宽带通常使用动态公网IP;

  • 云服务器一般拥有固定公网IP;

  • VPN连接可能会改变显示的公网IP。

查看IP地址对应的网关信息

除了IP地址,网络排查时通常还需要查看默认网关。

使用:

Bash
ip route

示例:

default via 192.168.1.1 dev ens33

其中:

  • 192.168.1.1就是默认网关;

  • ens33表示使用的网络接口。

也可以查看路由表:

Bash
route -n

不过新版Ubuntu更推荐:

Bash
ip route

查看DNS和网络配置

如果出现可以连接IP但无法访问域名的问题,需要检查DNS配置。

查看DNS:

Bash
resolvectl status

部分系统也可以查看:

Bash
cat /etc/resolv.conf

输出类似:

nameserver 8.8.8.8

表示当前使用的DNS服务器地址。

通过脚本自动获取Ubuntu IP地址

在服务器管理或自动化部署环境中,经常需要通过脚本获取IP地址。

例如:

Bash
#!/bin/bash

IP=$(hostname -I | awk '{print $1}')

echo "当前IP地址:$IP"

执行后可以自动输出第一个IP地址。

如果需要排除Docker等虚拟网卡,可以结合ip命令过滤:

Bash
ip addr | grep "inet " | grep -v 127.0.0.1

这样可以减少获取错误地址的情况。

Ubuntu查看IP地址常见问题

1. 为什么查看到多个IP地址?

Ubuntu可能同时存在多个网络接口,例如:

  • 有线网卡;

  • 无线网卡;

  • Docker虚拟网卡;

  • 虚拟机网络接口;

  • VPN接口。

可以通过:

Bash
ip addr

查看具体对应关系。

2. 为什么ifconfig无法使用?

新版Ubuntu默认不安装net-tools工具包,需要手动安装:

Bash
sudo apt install net-tools

不过建议逐步适应ip命令。

3. Ubuntu重启后IP地址变化怎么办?

如果使用DHCP自动获取IP,重启后可能分配新的地址。

可以设置静态IP,例如修改Netplan配置文件:

Bash
sudo nano /etc/netplan/01-netcfg.yaml

配置固定地址后应用:

Bash
sudo netplan apply

4. 如何查看远程Ubuntu服务器IP?

如果已经通过SSH连接服务器,可以直接执行:

Bash
hostname -I

或者:

Bash
ip addr

如果需要公网访问地址,可以执行:

Bash
curl ifconfig.me

不同查看方式对比

方法命令适用场景
ip命令ip addr推荐方式,信息全面
hostnamehostname -I快速获取IP
ifconfigifconfig兼容旧系统
nmclinmcli device showNetworkManager管理
图形设置系统设置界面桌面用户
curlcurl ifconfig.me查看公网IP

总结

Ubuntu系统查看IP地址的方法非常丰富,用户可以根据实际需求选择合适方式。

对于日常Linux管理,推荐优先掌握:

  • ip addr:查看完整网络信息;

  • hostname -I:快速获取IP;

  • ip route:查看网关和路由;

  • nmcli:管理NetworkManager网络。

如果只是查看本机地址,hostname -I即可满足需求;如果进行服务器维护、网络故障分析或复杂环境配置,ip命令则更加专业可靠。

熟练掌握这些Ubuntu查看IP地址的方法,可以帮助用户快速定位网络问题,提高Linux系统管理效率。