NetGuard 中文文档 下载 App

端口转发(Port Forwarding):GitHub 版独有功能

端口转发是什么

端口转发是 NetGuard GitHub / F-Droid 版独有的进阶功能。它让 Android 设备能在 VPN 隧道内接收入站流量并将其重定向到指定的目标地址和端口。

这解决了 Android 的一个固有限制——Android VPN 服务默认只管理出站流量,不处理入站流量。

典型使用场景

场景一:远程访问 Android 上的服务

你在 Android 上运行了一个 HTTP 服务器、SSH 服务器或其他网络服务,想从外部设备访问它。由于 Android 默认不处理 VPN 内的入站流量,外部设备无法连接。配置端口转发后:

场景二:转发到外部服务器

也可以把 Android 的某个端口入站流量转发到外部服务器——相当于 Android 成为一个中转代理。比如把收到的请求转发到另一个公网 IP。

设置步骤

前置条件

操作路径

主菜单 → 设置 → 网络选项 → 找到「端口转发」区域 → 点击「添加」按钮(齿轮或加号图标)

添加规则

点击「添加端口」后弹出配置面板:

字段说明
监听端口(Listen port)NetGuard 监听的端口号,外部连接通过这个端口进入
目标地址(Destination address)转发到哪个 IP 地址。可以是 localhost(127.0.0.1,Android 内部)、局域网 IP 或公网 IP
目标端口(Destination port)转发到目标地址的哪个端口
网络类型(Network type)Wi-Fi / 移动数据 / 两者

填写完保存后,端口转发规则立即生效。

端口转发配置
添加端口转发规则:监听端口、目标地址、目标端口

与子网路由的依赖关系

端口转发必须同时开启子网路由(Subnet routing)。原因是端口转发本质上是将入站流量从 VPN 隧道的一个子网重定向到另一个子网——没有子网路由,NetGuard 无法完成跨子网的流量重定向。

如果开启端口转发但没开子网路由,NetGuard 会在设置界面提示需要先开启子网路由。

与 Tethering 的组合

当你把 Android 设为 Wi-Fi 热点,同时开启端口转发:

  1. 外部设备连接到你的热点
  2. 外部设备对 Android IP 的指定端口发起连接
  3. NetGuard 接收入站流量 → 通过端口转发规则重定向到目标地址

这个组合让 Android 成为一个轻量级的网关 + 端口转发服务器。

安全注意

GitHub 版 vs Play 版的端口转发

渠道端口转发原因
GitHub Release✅ 支持开发者自主分发,不受 Google 政策限制
F-Droid✅ 支持开源仓库,无 Google 政策限制
Google Play❌ 不支持Google 政策限制

与 VPN 防火墙的入站限制

Android VPN 服务(VpnService)的设计就是只处理出站流量(应用 → 互联网)。NetGuard 通过端口转发功能在 VPN 隧道内模拟了入站处理能力,但这只是在 VPN 层面的变通,不是真正的 NAT 转发。

如果你需要更完整的网络转发能力(如家庭路由器级别的 NAT、DHCP、DNS),Android 本身不是最合适的平台——真正的网络网关设备(如 OpenWrt 路由器、树莓派 + OpenWrt)更擅长。

常见问题

端口转发不生效

端口转发 + 锁屏模式冲突

在锁屏模式下,如果 Android VPN 隧道被重新初始化,端口转发规则会保留但入站流量可能暂时无法到达端口。解锁后自动恢复。