Linux查看IP全攻略:私网公网一网打尽
linux 查看ip
在 Linux 系统中,查看 IP 地址是日常运维、网络排错和服务器配置中非常常见的需求。不同发行版、不同网络环境、不同网卡类型,可能会使用不同的命令。下面整理一套实用教程,帮助你快速查看本机的 IPv4、IPv6、公网 IP、网关、DNS 以及网卡状态。
一、使用 ip 命令查看 IP 地址
ip 命令是目前 Linux 中推荐使用的网络查看工具,大多数发行版都已默认安装。
查看本机所有网卡和 IP 地址:
ip addr
也可以简写为:
ip a
输出内容中,重点看以下字段:
inet 192.168.1.10/24
inet6 fe80::xxxx
其中:
inet表示 IPv4 地址;inet6表示 IPv6 地址;/24表示子网掩码;scope global通常表示可用于通信的正式地址;lo是本地回环网卡,IP 通常是127.0.0.1。
如果只想查看 IPv4 地址,可以使用:
ip -4 addr
如果想查看 IPv6 地址,可以使用:
ip -6 addr
更简洁的查看方式:
ip -br addr
该命令会以更短的形式展示网卡状态和 IP 地址,适合快速浏览。
二、使用 hostname 查看本机 IP
如果只想快速查看本机的 IPv4 地址,可以使用:
hostname -I
该命令会列出本机的一个或多个 IP 地址,输出通常比较简洁。
例如:
192.168.1.10 172.17.0.1
如果有多个 IP,可能是由于服务器有多张网卡,或者安装了 Docker、虚拟机、网桥等网络组件。
三、查看指定网卡的 IP 地址
服务器或电脑中可能存在多个网卡,例如:
eth0ens33enp3s0wlan0docker0
查看指定网卡信息:
ip addr show eth0
也可以简写为:
ip a show eth0
如果不确定网卡名称,可以先执行:
ip link
该命令会列出所有网络接口名称和状态。
常见状态含义:
UP
表示网卡已启用;
DOWN
表示网卡未启用。
四、使用 ifconfig 查看 IP 地址
在一些旧系统或习惯使用传统命令的环境中,也可以使用:
ifconfig
查看指定网卡:
ifconfig eth0
输出中的 inet 表示 IPv4 地址,inet6 表示 IPv6 地址。
不过需要注意的是,ifconfig 属于较老的工具,部分新系统中可能没有默认安装。现代 Linux 更推荐使用 ip 命令。
五、查看公网 IP 地址
前面介绍的方法主要查看的是内网 IP 或局域网 IP。如果服务器通过路由器、NAT 或云服务器访问外网,还需要查看公网 IP。
可以使用以下命令:
curl ifconfig.me
或者:
curl cip.cc
也可以查看更详细的信息:
curl ipinfo.io
如果系统没有 curl,可以使用:
wget -qO- ifconfig.me
注意:公网 IP 查询依赖外网访问。如果服务器无法连接互联网,命令可能无法返回结果。
六、查看网关和路由信息
查看本机默认网关:
ip route
也可以写成:
route -n
常见输出示例:
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
其中:
default via后面的地址就是默认网关;dev eth0表示通过哪张网卡访问外网;src 192.168.1.10表示该路由使用的本机源 IP。
七、查看 DNS 服务器
查看 DNS 配置文件:
cat /etc/resolv.conf
常见内容如下:
nameserver 8.8.8.8
nameserver 1.1.1.1
nameserver 后面的地址就是 DNS 服务器地址。
在部分使用 NetworkManager 的系统中,还可以查看更详细的 DNS 信息:
nmcli dev show
或只查看 DNS:
nmcli dev show | grep DNS
八、使用 nmcli 查看网络状态
如果系统使用 NetworkManager 管理网络,可以使用:
nmcli
查看网卡连接状态:
nmcli device status
查看指定网卡详细信息:
nmcli device show eth0
该命令会显示 IP 地址、网关、DNS、连接状态、设备类型等信息,适合桌面版 Linux 或服务器版 NetworkManager 环境。
九、常见问题说明
1. 为什么 ip addr 看不到 IP?
可能原因包括:
- 网卡未启用;
- 没有配置 DHCP;
- 没有配置静态 IP;
- 虚拟机网卡未连接;
- 云服务器安全组或网络配置异常。
可以先查看网卡状态:
ip link
如果网卡是 DOWN,可以尝试启用:
sudo ip link set eth0 up
2. 为什么有多个 IP 地址?
常见原因:
- 服务器有多张网卡;
- 安装了 Docker;
- 使用了虚拟机或网桥;
- 配置了多个静态 IP;
- 同时存在 IPv4 和 IPv6。
判断主要业务 IP 时,可以结合 ip route 查看默认路由对应的网卡和地址。
3. 内网 IP 和公网 IP 有什么区别?
内网 IP 通常用于局域网通信,例如:
192.168.x.x
10.x.x.x
172.16.x.x - 172.31.x.x
公网 IP 则用于互联网访问。云服务器中,公网 IP 和私网 IP 可能同时存在,需要分别查看。
总结
在 Linux 中查看 IP 地址,最常用、最推荐的方式是使用 ip addr、ip -4 addr、ip -br addr 等命令;如果只需要快速查看本机 IPv4,可以使用 hostname -I;查看公网 IP 可以使用 curl ifconfig.me;查看网关使用 ip route;查看 DNS 使用 cat /etc/resolv.conf。掌握这些命令后,基本可以满足服务器网络检查、故障排查和配置验证的大部分需求。