服务器要填公网IP(或通过端口映射、内网穿透把流量引到内网地址),并且防火墙、安全组必须放行对应端口,外部才能访问。 如果只填了192.168.x.x这类内网IP,外网永远连不上。
先把IP这件事说清楚:局域网IP和公网IP的区别
服务器在网络里有两个身份,一个是局域网IP,比如192.168.x.x、10.x.x.x、172.16.x.x;另一个是公网IP,由运营商或云厂商分配,只有公网IP能在互联网上被直接访问,如果只在服务器网卡配置了局域网IP,外网用户拿到的只是一个内部门牌号,路由器根本找不到路。
- 局域网IP:只在同一个路由器或交换机下面有效,出了这个局域网就失效。
- 公网IP:全球唯一,能直接被外网访问。
- 0.0.0:不是某个具体IP,表示监听所有网卡上的地址。
很多人把内网IP填进访问工具里,结果外网访问不了,本质原因就是这里,可以用表格对比一下:
| 填写的IP类型 | 外网能否直接访问 | 适用场景 |
|---|---|---|
| 168.1.10 | 不能 | 仅局域网内部测试 |
| 公网IP(如120.x.x.x) | 能 | 云服务器、有公网IP的专线 |
| 0.0.0 | 取决于有没有公网IP | 服务监听所有网卡 |
| 内网穿透域名 | 能 | 无公网IP的家庭宽带 |
服务器公网IP怎么设置才能外网访问
这个问题的答案取决于服务器放在哪、有没有公网IP,三种典型场景分开说。
云服务器场景:直接填公网IP
如果你用的是简米云、酷番云、华为云这类云服务器,控制台会给你分配一个公网IP,这个IP就在实例详情页,通常和私有IP成对出现。
操作路径:
- 登录云控制台,找到实例的公网IP地址。
- SSH登录服务器,确认网卡上配置的是私有IP,不需要手动改。
- 把公网IP填到你的访问工具、DNS解析、客户端配置里。
- 重点在安全组:云平台默认只放行少量端口,比如22,你跑的是网站,就要在安全组规则里放行80和443。
用命令行确认服务器实际监听的地址:
ss -tlnp | grep 80
如果显示 0.0.0:80 或 ::80,说明服务监听所有地址,如果显示 0.0.1:80,外网访问不了,得改服务配置让它监听0.0.0.0。
物理机放在公司内网:做端口映射

公司或家里有公网IP,但服务器接在路由器后面,拿到的是192.168开头的内网地址,这种情况下,服务器本身不填公网IP,而是把公网IP的某个端口映射到内网服务器的某个端口。
- 公网IP:203.0.113.5
- 内网服务器IP:192.168.1.100
- 需要外部访问22端口,就在路由器设置“端口转发”:外部端口22 → 内部IP 192.168.1.100:22
- 外部访问时填:203.0.113.5
不同路由器叫法不同:端口映射、虚拟服务器、NAT转发、Port Forwarding,在路由器管理页面找到这个功能,填内部IP和端口就行。
没有公网IP的家用宽带:内网穿透
现在多数家庭宽带默认不给公网IPv4地址,这是运营商网络地址转换的结果,这种情况下,服务器没有公网IP可填,需要借助内网穿透工具。
- 工具:frp、ngrok、花生壳、cpolar等。
- 原理:在内网的服务器上运行一个客户端,连接到有公网IP的中转服务器,外部用户通过中转服务器的域名或IP访问。
- 服务器端配置里通常填
0.0.1或0.0.0,穿透客户端负责把流量带到内网。
比如用frp,在服务器上启动本地服务监听 0.0.1:8080,frpc配置:
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8080
外网访问时填中转服务器的IP或域名加端口。
内网服务器映射到公网IP的几种方法对比
很多人被“映射”两个字绕晕,其实就三种主流路线,不同场景选不同方案。
- 端口转发:适合有公网IP、能控制路由器的情况,成本最低,配置一次就行。
- NAT网关/负载均衡:云服务器如果不想暴露真实公网IP,可以用云厂商的NAT网关或负载均衡做端口转发,配置在云控制台完成,适合生产环境。
- 内网穿透:适合没有公网IP的情况,但依赖第三方中转,延迟和带宽受限于中转服务器。
可以用表格做个横向比较:
| 方案 | 需要的条件 | 成本 | 延迟 | 稳定性 |
|---|---|---|---|---|
| 路由器端口转发 | 有公网IP | 低 | 低 | 高 |
| 云负载均衡/NAT | 云账号 | 中 | 低 | 高 |
| 内网穿透 | 无公网IP | 低到中 | 中到高 | 取决于服务商 |
行业共识认为,有公网IP的情况下优先用端口转发,延迟和稳定性最好;没有公网IP才考虑内网穿透。
操作步骤:从服务器配置到安全组放行
光填对IP还不够,服务器本身的配置和安全策略同样关键,按下面顺序检查,能解决大多数外网访问失败的问题。
确认服务监听地址
先看你的服务到底监听在哪个地址上,Linux下用:
netstat -tlnp | grep 你的端口
或者:
ss -tlnp | grep 你的端口
如果出现 0.0.1:端口,说明只允许本机访问,需要修改配置文件,比如Nginx的:
listen 80 default_server;
listen [::]:80 default_server;
或者改监听 0.0.0,MySQL如果要外网访问,把 bind-address 改成 0.0.0,但一般不建议数据库直接暴露公网。
系统防火墙放行
Linux常用firewalld或ufw。
Ubuntu/Debian用ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
CentOS/Rocky用firewalld:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
云安全组规则
云服务器除了系统防火墙,外面还有一层安全组,很多人忘了这一步,结果从外网telnet端口就是不通。
- 方向:入方向
- 协议:TCP
- 端口:你需要开放的端口,比如80、443、22
- 源地址:0.0.0.0/0 表示允许所有IP访问;如果想限制来源,填具体IP段。
验证连通性
在本地电脑上测试:
telnet 公网IP 端口
或者用:
nc -zv 公网IP 端口
如果显示连接成功,说明链路通了,如果失败,按“服务监听 → 系统防火墙 → 安全组 → 路由器端口转发”的顺序逐层排查。
家用宽带服务器外网访问需要多少钱
这个问题的答案分成两块:有公网IP和没有公网IP。
- 有公网IP:如果运营商给你分配了动态公网IP,配合DDNS就能外网访问,DDNS服务基本免费或几十块钱一年,硬件就是路由器端口转发,不需要额外成本。
- 没有公网IP:内网穿透服务通常有免费版和付费版,免费版带宽小、端口随机、连接数有限,适合测试,付费版价格从每年几十元到几百元不等,取决于带宽和流量,如果用云服务器自建frp中转,云服务器成本按配置算,轻量应用服务器一年大概几十到几百元。

业内专家指出,家庭宽带多数情况下是动态IP或NAT后的地址,直接做端口映射不一定可行,做之前先确认运营商是否分配了公网IP,具体价格属于市场动态,不同服务商差异较大,多数情况下,个人测试用免费穿透就够,长期稳定访问建议花点钱买带宽或直接租一台有公网IP的云服务器。
北京服务器外网访问配置有什么特殊要求
如果你租的是北京地域的云服务器,或服务器托管在北京机房,外网访问在技术上和其他地区没有本质区别,但有两个额外点要留意。
- ICP备案:国内服务器(包括北京)提供Web服务,域名必须完成ICP备案,否则80端口可能被拦截,北京备案审核相对严格,需要提前准备材料。
- 网络线路:北京作为北方网络核心节点,电信、联通、移动三网覆盖较好,但跨地域访问延迟受骨干网影响,选择BGP多线机房能优化不同运营商的访问体验。
配置步骤和前面完全一样:填公网IP、放行安全组、配置服务监听,难点主要在备案和线路选择上。
服务器外网访问的核心就一句话:要让外网流量能找到你的服务器,并且路上的每一道门都放行,填公网IP或做端口映射只是第一步,监听地址、防火墙、安全组、备案这些环节缺一不可,把“IP填对、端口放行、服务监听0.0.0.0”这三件事做好,绝大多数外网访问问题都能解决。
Q&A
服务器填0.0.0.0和公网IP有什么区别?
0.0.0是监听地址,表示服务绑定到本机所有网络接口,包括内网IP和公网IP,公网IP是外部访问时填写的目标地址,服务器配置里可以填0.0.0.0来监听所有网卡,但外部访问时仍然要填公网IP或域名,两者不冲突,一个是“听谁的门”,一个是“敲哪个门”。
云服务器填什么ip能外网访问?
云服务器外部访问填控制台分配的公网IP即可,如果做了域名解析,填域名也行,服务器内部配置不需要把网卡改成公网IP,保持私有IP运行,公网IP通过云平台的NAT映射到私有IP,安全组放行对应端口后,外部就能连通。
内网服务器映射到公网IP需要固定IP吗?
内网服务器本身不需要固定公网IP,但如果有公网IP用于映射,建议申请固定公网IP或使用DDNS,没有固定公网IP时,路由器重启后公网IP会变,外部访问地址就失效,固定公网IP可以从运营商申请专线,或租用云服务器获得静态IP,内网穿透方案则完全不依赖本地公网IP。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/838314.html


评论列表(3条)
读了这篇文章,我深有感触。作者对公网的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是公网部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是公网部分,给了我很多新的思路。感谢分享这么好的内容!