服务器公网IP并不能直接连上4G卡的内网IP,因为4G设备通常藏身在运营商大内网后面,必须通过内网穿透、异地组网或APN专网三种方式间接打通。单纯指望把公网IP和4G内网IP“点对点”连起来,在技术上走不通,下面三套方案,按你的场景选一套就能解决。
4g卡内网ip外网访问设置:三个前置概念
4G设备拿到的是“运营商内网IP”
登录4G路由器后台,你大概率会看到WAN口IP是100.64.x.x、10.x.x.x或172.x.x.x,而用手机流量查自己的公网出口IP,看到的往往是另一个地址,这不是设备故障,是运营商把大量4G终端统一藏在了CGNAT(运营商级网络地址转换)后面,多台设备共享一个公网出口。(据工信部数据,近年来国内蜂窝物联网终端数量持续增长,其中相当一部分设备通过4G方式入网。)行业共识认为,运营商这么做的核心原因是IPv4地址资源紧张,无法给每张卡都分配独立公网IP。
端口映射对CGNAT完全无效
端口映射生效的前提,是路由器WAN口拿到了公网IP,可4G路由器WAN口处于CGNAT之内,就算你把8080端口映射到内网设备,公网用户访问服务器公网IP的8080端口时,数据包最终落在运营商的NAT设备上,根本送不到你的4G卡,这就是为什么很多人照着教程调“4G路由器端口映射设置”,折腾半天依旧失败。
服务器公网IP的正确角色是“中转站”
服务器公网IP的真正价值,不是直连4G内网,而是充当一座桥,数据流向是:外网用户→服务器公网IP→隧道→4G内网设备,接下来要讲的三套方案,本质都是这个思路,区别只是桥的搭建方式不同。
没有公网ip怎么远程办公:三条主路对比
异地组网工具,给4G设备发一张“虚拟局域网身份证”
以蒲公英、ZeroTier、Tailscale为代表的组网工具,会在每台设备上装一个轻量客户端,并分配一个虚拟IP,服务器和4G设备加入同一个虚拟网络后,互相用虚拟IP就能访问,体验上跟处在同一个局域网里差不多。
| 方案 | 上手难度 | 费用 | 适用场景 |
|---|---|---|---|
| 蒲公英 | 低 | 有免费版,付费版年费在几百元档位 | 中小企业远程维护 |
| ZeroTier | 中 | 基础功能免费 | 个人开发者、OpenWrt设备 |
| Tailscale | 中 | 基础功能免费 | 多设备远程办公 |
很多人问“异地组网工具哪个好用”,我的建议是:电脑和手机互访选Tailscale,需要在4G路由器或OpenWrt上长期运行选ZeroTier,想要中文界面和售后选蒲公英,需要注意,运营商NAT环境经常导致P2P打洞失败,流量会走中继服务器,延迟会从几十毫秒升到两三百毫秒,做视频传输前务必先测速再决定。
frp自建内网穿透,数据掌握在自己手里
frp是一款开源反向代理工具,在服务器上运行frps,在4G设备所在的局域网内运行frpc,就能把内网端口映射到服务器公网IP上,数据全程经过你自己的服务器,不依赖第三方中继,适合对稳定性和隐私有要求的项目,配置不复杂,而且不挑设备,电脑、树莓派、软路由都能跑,下一节我直接给你能照抄的配置。
APN专网/VPDN,批量化设备的管理通道
如果业务里已经有几十台甚至上百台4G设备,比如无人售货机、充电桩、工地监测终端,直接向运营商申请APN专网更合适,SIM卡签约固定接入点,运营商在网络侧建一条VPDN隧道,把设备端和你的服务器放进同一个虚拟专网,设备拿到的是固定私网地址,服务器侧也接入对应专线,好处是可控性强、安全性高,坏处是走合同流程,成本比普通流量卡高,企业级项目才需要考虑。
实操:用服务器公网ip把frp隧道搭起来
第一步:在服务器端启动frps
以frp v0.52及以上版本为例,新版使用TOML格式配置文件,下载对应系统版本后,把frps.toml改成:
bindPort = 7000 auth.token = "换成一长串随机字符串"
然后运行:
./frps -c frps.toml
别忘了在云厂商的安全组规则里放行7000端口,以及你准备映射出去的端口。
第二步:在4G设备端运行frpc
4G设备本身往往跑不了frpc,正确做法是放在4G路由器、树莓派或一台连着4G热点的小主机上,安卓手机也能通过Termux执行frpc,客户端配置如下:
serverAddr = "你的服务器公网IP" serverPort = 7000 auth.token = "与服务器相同的随机字符串" [[proxies]] name = "web" type = "tcp" localIP = "127.0.0.1" localPort = 8080 remotePort = 8080
启动frpc后,外网访问服务器公网IP的8080端口,流量就会穿透到4G内网设备的8080端口。
第三步:验证隧道是否连通
在服务器上执行netstat -tlnp | grep frp,确认端口在监听;在4G设备端执行./frpc status,确认隧道online,然后打开手机浏览器,访问http://服务器公网IP:8080,能看到目标服务就说明链路通了。
如果打不开,优先排查三个点:本地服务是否监听在0.0.0.0或对应网卡地址,只绑定127.0.0.1会导致外部访问被拒;服务器安全组是否放行端口;4G网络是否频繁切换基站导致frpc掉线。
按场景对号入座:哪种方案最省心
四类常见场景直接对照
| 具体场景 | 推荐方案 | 推荐理由 |
|---|---|---|
| 远程桌面连4G电脑 | Tailscale/ZeroTier | 虚拟局域网内直接走RDP,体验接近内网 |
| 远程查看4G摄像头画面 | frp + 服务器中转 | 端口级转发,带宽和流量可控 |
| PLC/工业设备远程调试 | 蒲公英或frp | 数据量小但要求稳定,选可靠路径 |
| 几十台售货机、充电桩 | APN专网 | 统一管理,安全隔离,合规性更好 |
两个容易踩的坑
第一,4G流量有成本,不要让大规模视频流持续经过frp服务器中转,带宽和流量费用会迅速升高,第二,frp端口暴露到公网后,建议修改默认端口、开启TOKEN鉴权、限制来源IP,避免端口被扫描器撞上后产生安全风险。
服务器公网ip连不上4g卡内网ip:高频问题排查
手机浏览器直接访问服务器公网IP,为何打不开4G设备上的服务?
因为4G设备在CGNAT后面没有公网地址,服务器无法主动反向找到它,必须先让4G设备侧运行frpc或者加入组网工具,设备主动向服务器或中继节点“登记”位置,后续请求才有机会到达。
4G路由器里已经做了端口映射,公网还是无法访问?
先登录路由器后台看WAN口IP,如果是100.64.0.0/10、10.x.x.x或192.168.x.x这类私网地址,说明运营商分配给你的本身就是内网IP,端口映射自然无效,解决方向是联系运营商开通带公网IP的物联网卡,或者放弃端口映射,改用内网穿透方案。
组网工具连上后延迟偏高,正常吗?
正常,4G终端处于运营商NAT后方,P2P直连通道经常建不起来,数据会改走中继服务器,延迟随之上升,如果工业现场对延迟敏感,优先用APN专网,或者把服务器机房选在离设备最近的地域。
打通的思路其实只有一个:别试图把公网IP和4G内网IP硬连,而是让服务器公网IP做桥梁,用隧道、组网或专线把两侧串起来,先确认4G设备WAN口是不是私网地址,再选一条适合的路,按上面的步骤操作即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/580670.html



