查一台服务器的IP地址,核心思路就一句话:登录服务器系统用命令查内网IP,登录云服务商控制台查公网IP。 具体用哪种方法,取决于你的服务器是物理机还是云主机,以及你手里有什么权限。
先分清你要查的是哪种IP地址
很多人查IP时卡在第一步,是因为没搞清楚自己到底要找哪个IP,服务器至少有三种IP概念,弄混了后面全白搭。
- 公网IP:互联网上唯一标识,别人访问你的网站、连SSH都用它,云服务器一般默认分配一个。
- 内网IP:私有网段地址(如192.168.x.x、10.x.x.x),用于服务器之间的内部通信,公网无法直接访问。
- IPv6地址:新一代地址,部分服务器已启用,通常和IPv4共存。
如果你是想做域名解析、对外提供服务,需要的是公网IP,如果只是排查内网通信、配置负载均衡,需要的是内网IP,下面所有方法都会明确告诉你查的是哪一种。
Linux服务器怎么查看IP地址
Linux服务器是最常见的服务器系统,查看IP的方式非常灵活,命令行几秒钟就能出结果。
首选命令:ip addr
这是目前Linux系统最推荐的方式,几乎所有现代发行版(CentOS 7+、Ubuntu 18.04+、Debian 9+)都自带 ip 命令。
ip addr
输出结果里,找到 state UP 或 state UNKNOWN 的网络接口,一般叫 eth0、ens3、ens33 这类名字,下面跟着的 inet 后面的地址就是内网IPv4地址,如果有 inet6 开头的那行,对应的是IPv6地址。
备用命令:ifconfig
老系统或者没装 ip 命令的机器上用这个,如果提示找不到命令,先装一下网络工具包,CentOS用 yum install net-tools,Ubuntu用 apt install net-tools。
ifconfig
同样找 eth0 或 ens33 接口,inet 那一行的地址就是内网IP,注意 localhost 或 lo 接口的 0.0.1 是回环地址,不是服务器实际IP。
一行命令直接取IP
如果你只想快速拿到内网IP,不关心其他输出,可以用这条:
hostname -I
这个命令会直接列出服务器上所有非回环IP地址,空格分隔,简洁明了。
hostname -i 则可能只显示127.0.0.1,不建议使用。
查公网IP的Linux命令
内网IP用上面的命令就能看到,但公网IP在Linux系统内不一定直接显示,如果服务器有公网IP,且是NAT映射过来的(比如云主机),你需要借助外部服务来查看:
curl ifconfig.me
或者
curl ip.sb
这两个命令会向外部服务发送请求,返回你的出口公网IP,需要注意,这种方式要求服务器能正常访问外网。
| 命令 | 适用版本 | 查询结果 | 依赖条件 |
|---|---|---|---|
ip addr |
CentOS 7+/Ubuntu 18.04+ | 内网IP | 无 |
ifconfig |
老版本Linux | 内网IP | 需安装net-tools |
hostname -I |
通用 | 内网IP | 无 |
curl ifconfig.me |
通用 | 公网IP | 需外网连通 |
Windows服务器怎么看IP地址
Windows Server 系统同样很常见,操作路径分图形界面和命令行两种。
命令行方式:ipconfig
在CMD或PowerShell里直接输入:
ipconfig
输出结果中,以太网适配器 以太网 或 以太网适配器 Ethernet0 下方的 IPv4 地址 就是服务器的内网IP,如果有多个网卡,会分别列出来,注意区分。
图形界面方式
右键点击任务栏的网络图标 → 打开”网络和Internet设置” → 点击”更改适配器选项” → 双击正在使用的网卡 → 点击”详细信息”,就能看到IPv4地址、子网掩码、默认网关等信息。
Windows下查公网IP同样需要借助外部服务,在浏览器打开 ip.sb 或 ifconfig.me 即可显示当前公网出口IP。
远程桌面场景怎么查
如果你是通过远程桌面(RDP)连上Windows服务器的,大概率你已经知道IP了(否则连不上),如果只是想确认端口或IP变化,在连接对话框里输入 mstsc 打开远程桌面,计算机栏填的地址就是你的公网IP。
云服务器公网IP在哪里查看
云服务器的公网IP有个特点:它不直接出现在系统内,因为云厂商用的是NAT或安全组映射,公网IP绑定在云平台的网关层,你在服务器里用
ip addr 看到的只有内网IP,这是正常现象,不用怀疑命令敲错了。
简米云服务器查IP路径
登录简米云控制台 → 进入”云服务器ECS” → 在实例列表页直接能看到每台服务器的公网IP和内网IP两列。
点进实例详情页,在”网络信息”区域可以看到更完整的配置,包括弹性公网IP(如果你的实例绑定了EIP)、私网IP、IPv6地址。
酷番云服务器查IP路径
登录酷番云控制台 → 进入”云服务器CVM” → 实例列表中同样直接展示公网IP和内网IP,点击实例ID进入详情页,”基本信息”里可以看到网络配置详情。
华为云服务器查IP路径
登录华为云控制台 → 进入”弹性云服务器ECS” → 实例列表页展示弹性公网IP和私有IP,详情页的”网络信息”栏可查看绑定关系。
常见场景:如果一台云服务器有多张网卡或多个弹性IP,控制台的”实例详情”里会列出所有IP及其绑定的网卡ID,方便你排查具体哪个IP属于哪个网络接口。
为什么控制台IP和服务器内查到的IP不一样
这是新手最容易困惑的地方,云服务器在系统内看到的是一个内网IP(比如172.16.x.x),而在控制台看到的是一个公网IP(比如47.98.x.x),两者之间的映射由云平台完成,不需要你在系统内配置。
行业共识认为,云环境下的公网IP通常通过1:1 NAT或弹性公网IP绑定机制实现,服务器本身感知不到公网IP的存在,只需配置好内网IP即可正常通信。
查询IP时遇到问题怎么排查
命令提示找不到
ip: command not found 说明系统没有安装 iproute2 工具包,CentOS执行 yum install iproute,Ubuntu执行 apt install iproute2。ifconfig: command not found 则是缺 net-tools,按前面提到的方法安装即可。
查到的IP和预期不符
- 如果你有多个网卡,确认你查的是不是正在使用的那个网卡,用
ip link看网卡状态,UP的是启用的。 - 如果查出来的是
0.0.1或者:1,说明你没过滤掉回环地址,重新看一遍hostname -I的输出。 curl ifconfig.me超时,可能是服务器防火墙禁了外网访问,或者出口没有公网IP(比如纯内网服务器),这种情况需要联系网络管理员。
内网IP频繁变动怎么办
默认情况下DHCP分配的IP在租约到期后可能变化,如果服务器是做集群或数据库用的,建议配置静态IP,在CentOS系统中,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 的 BOOTPROTO=static 并添加 IPADDR、NETMASK、GATEWAY 三项;在Ubuntu 20.04+系统中,用 netplan 配置,具体写法因版本而异,改完记得重启网络服务。
查「服务器ip地址在哪里查看」时最容易踩的坑
上面分享的方法基本能解决99%的场景,但有几个细节需要留意:
- 别再到处问”怎么看公网IP”,云服务器直接在控制台看最准。 系统内查到的永远是内网IP,这是架构决定的。
- 如果你买的是物理服务器租用(IDC托管),服务商通常会提供一个管理IP和一个业务IP。 管理IP用于远程维护(可能不在公网),业务IP才是对外服务的地址,联系托管商确认区分。
- 如果你的服务器前面还有负载均衡或CDN,对外访问的IP是LB或CDN节点的,源站服务器真实IP需要单独查。 现在很多攻击防护场景会隐藏源站IP,这种情况用
curl查到的出口IP也不是你的服务器IP,而是LB的地址。
掌握以上列举的命令和控制台路径,你可以在多数情况下独立完成服务器IP的查询和确认工作。
常见问题
在服务器里查到的IP是公网还是内网,怎么辨别?
只要看到 ip addr 或 ipconfig 输出中,地址是 、16.~172.31.、168. 开头的,都是内网IP(私有地址),其余出现在云控制台上的地址一般是公网IP。
服务器换了IP,域名解析什么时候生效?
DNS解析生效时间取决于域名的TTL设置和你的本地缓存,修改A记录后,通常几分钟到一小时内逐渐生效,全球节点完全同步可能需要24到48小时,你可以用 nslookup 你的域名 或者第三方网站查询解析结果,确认新IP是否已经生效。
一台服务器可以绑定多个公网IP吗?
云服务器可以,在云厂商控制台购买弹性公网IP(EIP)并绑定到实例即可,一台机器可以绑定多个,物理服务器则需要联系IDC服务商增加IP段配置,绑定多个公网IP后,访问哪个IP都能到达这台服务器,但服务器内看到的仍然是同一个内网IP。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/684585.html





