一文搞懂公网 IP 和私有 IP:它们有什么区别,什么时候会变?

一文搞懂公网 IP 和私有 IP:它们有什么区别,什么时候会变?

在开发中,我们经常会听到"公网 IP"、"私有 IP"、"IP 变了"等说法,尤其是做远程调试、部署服务或者做内网穿透的时候。如果你曾经困惑过:

  • 我的 IP 为什么会变?
  • 公网 IP 和私有 IP 到底差在哪?
  • 为什么我在家 ping 不到线上服务?
  • 路由器里的 IP 和百度查的 IP 不一样?

这篇文章就是为你写的。不管你是前端、后端还是产品,只要你用过网络,这些知识都值得了解。


什么是 IP 地址?

我们可以把 IP 地址理解成你家网络里的"门牌号"。它是设备在网络中的唯一标识,就像每个人的身份证一样。没有 IP,设备就不知道怎么互相通信。

但门牌号也有"内外之分":

  • 小区内部的门牌号(私有 IP)
  • 整个城市中唯一的外部地址(公网 IP)

公网 IP 和私有 IP,有什么区别?

👉 公网 IP(Public IP)

公网 IP 就是能被整个互联网识别的地址,你的服务要是希望外部能访问(比如你部署了一个网站),那就必须有公网 IP。

它就像你家在城市中的地址,快递员(其他人)才能找到你。

👉 私有 IP(Private IP)

私有 IP 是用在你家或公司内部的局域网中的。比如你手机连家里的 Wi-Fi,拿到的就是一个私有 IP。

它就像你家小区内部的门牌号。只有住在小区里的人(局域网内的设备)才知道怎么找你,外面的人(公网)是找不到的。

举个例子:

假设你家有三台设备:手机、电脑、电视,它们的 IP 可能是:

  • 手机:192.168.1.2
  • 电脑:192.168.1.3
  • 电视:192.168.1.4

这些地址都属于私有 IP,只有你家里的路由器知道它们的存在。而你用百度搜索"我的 IP",看到的那个地址,是你家路由器对外的公网 IP


公网 IP 会变吗?什么时候会变?

这个问题很多人都遇到过,尤其是远程调试服务时突然连不上,很可能就是 IP 变了。

✅ 会变的情况

大多数家庭宽带用户的公网 IP 是动态分配的,也就是说:

  • 你家断电、断网后重新拨号
  • 重启了光猫或路由器
  • 网络服务提供商(ISP)在后台做了调整

这些情况都有可能让你的公网 IP 变掉。

✅ 不会变的情况

如果你是企业用户,或者你专门向运营商申请了静态公网 IP(一般需要额外付费),那这个 IP 是不会变的。适合用来部署服务器、远程办公等对稳定性要求高的场景。


私有 IP 会变吗?

私有 IP 是由你家或公司路由器自动分配的,一般来说,如果你设备连上 Wi-Fi,每次都会拿到一个 IP 地址。

会变的情况:

  • 路由器重启
  • 网络断开再重新连接
  • DHCP 租约到期(听起来复杂,其实就是"自动分配过期了")

不会变的情况:

  • 你手动给设备设置了静态 IP
  • 或者在路由器里绑定了设备的 MAC 地址和 IP(很多人用 NAS、打印机时会这么做)

我怎么看自己现在的 IP?

私有 IP(本地 IP)查看方式:

  • Windows:打开命令行,输入 ipconfig
  • Mac / Linux:打开终端,输入 ifconfigip addr

公网 IP 查看方式:


总结一下

类型 是否唯一 是否能被公网访问 会不会变
公网 IP ✅ 全球唯一 ✅ 可被访问 ✅ 动态 IP 会变,静态 IP 不会
私有 IP ❌ 仅局域网唯一 ❌ 不能被公网访问 ✅ 动态 IP 会变,静态 IP 不会

写在最后

很多人以为 IP 是"固定的",其实大多数家庭宽带下的公网 IP 是会变的,尤其你部署了远程服务之后,突然发现"怎么访问不了了",多半就是公网 IP 换了。

如果你是前端或产品,了解这点也很重要------比如你在测试环境访问不到接口,不一定是服务挂了,也可能是 IP 改了。

希望这篇文章能帮你理清 IP 的基本概念,也能在工作中少踩一些网络相关的坑。


📌 如果你有其他关于网络部署、远程访问、内外网的疑问,欢迎评论区一起交流!

相关推荐
亲爱的非洲野猪几秒前
如何优雅解决缓存与数据库的数据一致性问题?
java·分布式·缓存·kafka·lock
我不是星海2 分钟前
原型设计模式
java·开发语言
百度Geek说9 分钟前
首发!百度百科全系能力上线千帆,权威知识增强Agent一键打造
后端
csgo打的菜又爱玩18 分钟前
17.TaskExecutor与ResourceManager交互
java·大数据·flink
玩代码35 分钟前
原型设计模式
java·原型设计模式
贰拾wan36 分钟前
Spring中的设计模式
java·spring·设计模式
瑾曦37 分钟前
Maven高级
后端
bobz96539 分钟前
操作系统驱动崩溃为什么会导致系统卡顿?
后端
JVM高并发42 分钟前
MySQL 中处理 JSON 数组并为每个元素拼接字符串
后端·mysql
lgaof65822@gmail.com1 小时前
ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ
后端·rabbitmq·asp.net·.netcore