跳到主要内容

NAT 产品使用指南

本文适用于产品名称或详情页标注为 NAT、共享 IPv4、端口映射的产品。独立公网 IPv4 产品通常不需要按本文方式使用端口映射。

NAT 产品的 IPv4 端口限制

NAT 产品使用共享公网 IPv4。公网 IPv4 只能访问分配给你的映射端口,其他 IPv4 端口不能直接从公网访问。

请在产品详情页进入 NAT 管理 查看实际分配的公网 IPv4 端口和内网端口映射关系。端口范围以产品详情页显示为准,不同产品可能不同。

常见映射示例:

公网 IPv4 端口映射到内网端口典型用途
3010122SSH
30102-3012030102-30120Web 服务、代理服务等

上表仅为示例。连接或部署服务时,请使用你自己产品详情页中显示的端口。

SSH 如何连接

如果 NAT 管理中显示公网 IPv4 端口 30101 映射到内网端口 22,SSH 连接命令示例为:

ssh root@公网IPv4 -p 30101

不要直接使用默认 22 端口连接 NAT 产品的公网 IPv4。公网 IPv4 上可用的是分配给你的映射端口。

部署 Web 或其他服务

如果你要通过公网 IPv4 访问服务,需要让服务监听映射对应的内网端口。

例如 NAT 管理中显示:

  • 公网 IPv4 端口:30102
  • 内网端口:30102

则服务需要在 VPS 内监听 30102,公网访问方式为:

公网IPv4:30102

服务监听地址也需要正确。请监听内网地址、0.0.0.0 或 IPv6 的 [::],不要只监听 127.0.0.1,否则公网映射通常无法访问。

IPv6 使用方式

如果产品分配了 IPv6,IPv6 通常不需要 NAT 端口映射,可以直接通过 IPv6 地址访问服务端口。

示例:

[IPv6地址]:80

使用 IPv6 前请先确认:

  • 本地网络是否有 IPv6 出口。
  • VPS 内是否已经配置 IPv6 地址和路由。
  • 服务是否监听在 IPv6 地址或 [::]:端口
  • VPS 内部防火墙是否允许对应端口。

可以使用 test-ipv6.com 检查本地网络是否支持 IPv6。

TCP 端口连通需要满足什么条件?

端口可以从公网访问,通常需要同时满足这些条件:

  • 服务已经启动,并监听正确端口。
  • VPS 内部防火墙已放行该端口。
  • NAT 管理中的公网端口和内网端口映射关系正确。
  • 网络路由可达,没有被本地网络、运营商或中间链路阻断。
  • 使用特殊协议时,协议本身支持 NAT 场景。例如 FTP 可能需要额外配置被动模式。

在 VPS 内可以用以下命令检查监听状态:

ss -tunlp | grep <端口号>
# 或
netstat -tunlp | grep <端口号>

从外部测试端口连通性:

nc -zv 公网IP 端口号
telnet 公网IP 端口号

nc -zv -6 IPv6地址 端口号
telnet -6 IPv6地址 端口号

中国方向无法访问时怎么判断?

如果中国大陆网络无法访问,但海外网络可以访问,可能是中国方向链路或访问限制问题。

你可以先使用 ping.pe 从多个地区测试公网 IPv4 或 IPv6。如果海外节点正常、中国方向异常,可以优先尝试:

  • 使用 IPv6 连接。
  • 使用海外网络或海外服务器中转连接。
  • 使用 ByteVirt WebSSH

WebSSH 连接时,填写公网 IP、SSH 端口、用户名和密码即可,其他选项通常可以保持默认。

如果海外网络可以 ping 通服务器,但 SSH 无法连接,请通过 VNC 或控制台确认 sshd 服务是否仍在运行。

Connection Refused 如何处理?

Connection refused 通常表示目标端口没有服务监听,或服务被系统防火墙拒绝。

建议按顺序检查:

  1. 确认服务已启动。
  2. 确认服务监听了正确端口。
  3. 确认服务不是只绑定在 127.0.0.1
  4. 确认 VPS 内部防火墙允许该端口。
  5. 确认 NAT 管理中的端口映射关系正确。

ufw 为例,放行端口:

sudo ufw allow <端口号>

如果使用 IPv6,请确认服务监听在 [::]:端口 或具体 IPv6 地址上。只监听 0.0.0.0:端口 通常只代表 IPv4。

小内存产品建议

如果 NAT VPS 内存较小,例如 256 MB,不建议运行 Docker 等高资源占用环境。可以优先选择更轻量的组合,例如 Caddy、PHP、SQLite 等。

提交工单时请提供

如果按以上步骤仍无法访问,请在工单中提供:

  • 产品 ID 或服务名称。
  • NAT 管理中显示的端口映射截图。
  • 你实际使用的连接命令或访问地址。
  • ss -tunlpnetstat -tunlp 的监听结果。
  • 防火墙规则截图或相关命令输出。
  • 外部连通性测试结果,例如 ping.petraceroute、MTR、nctelnet 输出。