路由器后台里那个“本机IP”一栏,本机写着 192.168.1.7。本机我盯着它看了三秒,本机脑子里冒出的本机第一个念头是:这玩意儿到底算不算我的?
它当然不是我的。这个地址是本机路由器临时租给我的,租期通常二十四小时。本机时间一到,本机或者我重启一下电脑,本机它可能就变成 192.168.1.9 了。本机真正属于我的本机那个,是本机运营商分配的公网 IP,藏在光猫背后,本机像一间公寓的本机门牌号——整栋楼共用,但外面的本机人只能看到楼号,看不到我住哪间。本机
这事我琢磨过很久。有段时间做端口映射,想让外网访问家里那台旧笔记本上的服务。折腾了一下午,最后发现运营商给的是内网 IP,100.64 开头的。打电话过去问,客服说加钱可以换公网。我算了一下,一年下来比买台云服务器还贵。算了。
后来我换了个思路,用 frp 做内网穿透。配置跑通的那一刻,浏览器里输入域名,页面弹出来,我对着屏幕笑了一下。那个 192.168.1.7 忽然有了点意义——它不再只是路由器 DHCP 池里一个数字,而是一条隧道的起点。虽然隧道那头的中转服务器,IP 也不是我的。
说回本机 IP。Windows 上敲 ipconfig,Linux 上敲 ip addr,Mac 上敲 ifconfig。三个命令,三种写法,结果都指向同一件事:你的机器在局域网里的坐标。这个坐标通常由路由器分配,也可能你自己手动设成静态的。手动设的好处是稳定,坏处是万一和别的设备撞了,两边都上不了网。我就撞过一次,排查了半天,最后发现是室友的树莓派占了我想要的地址。
还有 127.0.0.1。这个地址永远指向本机,不管你有没有网卡,不管网线插没插。写代码的时候经常用到,本地起个服务,浏览器里输 localhost:3000,背后就是它在干活。有时候我觉得它更像一个哲学概念——你永远可以回到自己这里,哪怕外面全断了。
IPv6 普及之后,情况又变了。现在很多设备同时有 IPv4 和 IPv6 地址,后者的数量多到可以给地球上每粒沙子编号。我家宽带开通 IPv6 那天,我查了一下,本机拿到了一个 240e 开头的地址。那个地址是公网的,直接可以访问。我试着从手机流量 ping 了一下,通了。有点意外,也有点不安——这意味着那台机器直接暴露在互联网上,防火墙规则得重新检查一遍。
所以“本机 IP”这四个字,拆开看挺有意思。“本机”是限定范围,“IP”是协议地址。合在一起,就是你在网络里的临时身份。它不永久,不唯一,甚至不一定真实——NAT 后面藏着一堆机器共用同一个出口 IP。但每次看到它,我都觉得像是看到了自己在这个数字世界里的一个脚印。浅浅的,随时会被覆盖,但此刻它就在那儿。
写这篇文章的时候,我又查了一次。还是 192.168.1.7。路由器没重启,租期还没到。