Ubuntu作为当前最受欢迎的Linux发行版之一,广泛应用于服务器部署、云计算环境、开发测试以及个人桌面系统。在日常使用过程中,查看IP地址是一项非常常见的操作,例如网络故障排查、远程连接配置、服务器管理以及局域网通信设置等。
Ubuntu系统提供了多种查看IP地址的方法,既可以通过命令行工具快速获取网络信息,也可以通过图形界面查看当前连接状态。不同版本的Ubuntu可能使用不同的网络管理组件,因此掌握多种查看方式能够更加灵活地处理各种使用场景。
使用ip命令查看Ubuntu IP地址
从Ubuntu 18.04及以后版本开始,ip命令逐渐取代传统的ifconfig,成为Linux系统中查看网络信息的标准工具。
打开终端,执行以下命令:
Baship addr
或者:
Baship address
执行后会显示所有网络接口的信息,例如:
2: ens33:inet 192.168.1.100/24 inet6 fe80::20c:29ff:fe12:3456/64
其中:
-
ens33表示网络接口名称; -
inet后面的地址就是IPv4地址; -
inet6后面的内容是IPv6地址; -
/24表示子网掩码长度。
如果只想查看IPv4地址,可以使用:
Baship -4 addr
如果只关注某个网卡,例如ens33:
Baship addr show ens33
这种方式适合服务器环境,因为信息详细,可以同时查看网卡状态、MAC地址、广播地址以及IP配置情况。
使用hostname命令快速查看IP地址
Ubuntu提供了更加简洁的查看方式:
Bashhostname -I
输出结果类似:
192.168.1.100
该命令会直接显示当前主机配置的IP地址,不会显示额外的网络接口信息。
相比ip addr,hostname -I更加适合快速确认本机IP,例如:
-
远程SSH连接前查看服务器地址;
-
局域网环境中确认设备IP;
-
编写自动化脚本获取当前IP。
需要注意的是,如果设备存在多个网络接口,例如无线网卡、虚拟网卡、Docker网桥等,可能会返回多个IP地址。
使用ifconfig查看IP地址
虽然ifconfig已经逐渐被淘汰,但很多用户仍然习惯使用该命令。
默认情况下,部分新版Ubuntu系统可能没有安装该工具,执行:
Bashifconfig
可能出现:
Command 'ifconfig' not found
此时可以安装网络工具包:
Bashsudo apt install net-tools
安装完成后再次执行:
Bashifconfig
示例输出:
ens33: flags=4163inet 192.168.1.100 netmask 255.255.255.0
其中:
-
inet表示IPv4地址; -
netmask表示子网掩码; -
ether表示MAC地址。
虽然ifconfig使用简单,但在新系统中推荐优先使用ip命令。
通过NetworkManager查看IP地址
Ubuntu桌面版本通常使用NetworkManager管理网络,可以通过nmcli命令查看网络状态。
查看所有网络连接:
Bashnmcli connection show
查看设备状态:
Bashnmcli device status
查看详细IP信息:
Bashnmcli device show
输出中可以找到:
IP4.ADDRESS[1]: 192.168.1.100/24
如果只查看指定网卡:
Bashnmcli device show ens33
这种方式特别适合Ubuntu服务器环境,因为NetworkManager不仅可以查看IP,还可以管理网络连接、DNS配置以及网关信息。
使用图形界面查看Ubuntu IP地址
对于Ubuntu桌面用户,还可以通过系统设置查看IP地址。
操作步骤如下:
-
点击右上角系统菜单;
-
进入“设置”;
-
选择“网络”;
-
找到当前连接的网络;
-
点击设置按钮;
-
在“详细信息”中查看IP地址。
无线网络用户:
-
打开“设置”;
-
选择“Wi-Fi”;
-
点击当前连接的无线网络;
-
查看IPv4地址。
这种方法适合不熟悉Linux命令的新用户,操作直观,但效率不如命令行。
查看公网IP地址的方法
前面介绍的方法查看的是局域网IP,也称内网IP。如果需要查看Ubuntu设备连接互联网时使用的公网IP,可以使用以下命令。
使用curl查询公网IP
执行:
Bashcurl ifconfig.me
返回:
203.xxx.xxx.xxx
也可以使用:
Bashcurl ipinfo.io/ip
或者:
Bashcurl icanhazip.com
这些命令会访问公网IP查询服务,返回当前出口IP地址。
需要注意:
-
家庭宽带通常使用动态公网IP;
-
云服务器一般拥有固定公网IP;
-
VPN连接可能会改变显示的公网IP。
查看IP地址对应的网关信息
除了IP地址,网络排查时通常还需要查看默认网关。
使用:
Baship route
示例:
default via 192.168.1.1 dev ens33
其中:
-
192.168.1.1就是默认网关; -
ens33表示使用的网络接口。
也可以查看路由表:
Bashroute -n
不过新版Ubuntu更推荐:
Baship route
查看DNS和网络配置
如果出现可以连接IP但无法访问域名的问题,需要检查DNS配置。
查看DNS:
Bashresolvectl status
部分系统也可以查看:
Bashcat /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命令过滤:
Baship addr | grep "inet " | grep -v 127.0.0.1
这样可以减少获取错误地址的情况。
Ubuntu查看IP地址常见问题
1. 为什么查看到多个IP地址?
Ubuntu可能同时存在多个网络接口,例如:
-
有线网卡;
-
无线网卡;
-
Docker虚拟网卡;
-
虚拟机网络接口;
-
VPN接口。
可以通过:
Baship addr
查看具体对应关系。
2. 为什么ifconfig无法使用?
新版Ubuntu默认不安装net-tools工具包,需要手动安装:
Bashsudo apt install net-tools
不过建议逐步适应ip命令。
3. Ubuntu重启后IP地址变化怎么办?
如果使用DHCP自动获取IP,重启后可能分配新的地址。
可以设置静态IP,例如修改Netplan配置文件:
Bashsudo nano /etc/netplan/01-netcfg.yaml
配置固定地址后应用:
Bashsudo netplan apply
4. 如何查看远程Ubuntu服务器IP?
如果已经通过SSH连接服务器,可以直接执行:
Bashhostname -I
或者:
Baship addr
如果需要公网访问地址,可以执行:
Bashcurl ifconfig.me
不同查看方式对比
| 方法 | 命令 | 适用场景 |
|---|---|---|
| ip命令 | ip addr | 推荐方式,信息全面 |
| hostname | hostname -I | 快速获取IP |
| ifconfig | ifconfig | 兼容旧系统 |
| nmcli | nmcli device show | NetworkManager管理 |
| 图形设置 | 系统设置界面 | 桌面用户 |
| curl | curl ifconfig.me | 查看公网IP |
总结
Ubuntu系统查看IP地址的方法非常丰富,用户可以根据实际需求选择合适方式。
对于日常Linux管理,推荐优先掌握:
-
ip addr:查看完整网络信息; -
hostname -I:快速获取IP; -
ip route:查看网关和路由; -
nmcli:管理NetworkManager网络。
如果只是查看本机地址,hostname -I即可满足需求;如果进行服务器维护、网络故障分析或复杂环境配置,ip命令则更加专业可靠。
熟练掌握这些Ubuntu查看IP地址的方法,可以帮助用户快速定位网络问题,提高Linux系统管理效率。