OpenMPTCPRouter 端口转发/公网 IP 端口映射设置教程


基础说明

OpenMPTCPRouter 默认保留 65000-65535 端口供内部使用,因此您只能重定向低于 65000 的端口。

如果需要通过 OpenMPTCPRouter 进行端口转发,通常需要以下设置:

  1. 设置 VPN(默认使用 Glorytun TCP)。
  2. 配置端口转发规则。
  3. 添加必要的 SNAT 规则(适用于 Web 服务器等特定应用场景)。

端口转发方式

1. 将所有端口从 VPS 重定向到 OpenMPTCPRouter

此方法适用于需要重定向所有端口的情况,但通常 不推荐 使用。

步骤:

  1. 打开 OpenMPTCPRouter 管理界面,进入 系统 -> OpenMPTCPRouter
  2. 勾选 “高级设置” 选项卡中的相关选项。

2. 使用 V2Ray 反向代理进行端口转发

此方法适用于 TCP 和/或 UDP 端口的转发。

步骤:

  1. 进入 系统 -> 向导,选择 V2Ray 作为代理。
  2. 在高级设置中配置端口转发选项。

3. 通过 VPN 重定向端口

以下示例将 VPS 的 80端口 重定向到路由器内 IP 192.168.100.1 的 Web 服务:

步骤 1:配置端口转发规则

  1. 在 OpenMPTCPRouter 管理界面,进入 网络 -> 防火墙
  2. 添加新的转发规则,配置如下:
  • 源端口:80
  • 目标 IP:192.168.100.1
  • 目标端口:80

完成后,VPS 的 80 端口将自动重定向到路由器。

步骤 2:添加 SNAT 规则
如果需要将端口进一步转发到本地 Web 服务器(例如 IP 为 192.168.100.16),需要添加 SNAT 规则:

  1. 在防火墙中,添加新的 SNAT 规则,配置如下:
  • 源 IP:10.255.255.2(默认 Glorytun TCP VPN IP)
  • 目的地 IP:192.168.100.16
  • 目的端口:80

调试与问题排查

如果端口转发未生效,可以按照以下步骤进行调试:

  1. 检查 VPN 状态
  • 系统 -> OpenMPTCPRouter -> 状态 中,确认 VPN 是否正在运行。
  1. 检查 Shorewall 配置
  • 确认 VPS 上 /etc/shorewall/rules 中的规则是否存在且生效。
  • 确保 /etc/shorewall/params 文件中的 vpnOMR_ADDR 配置为路由器 VPN IP(默认 Glorytun TCP IP 为 10.255.255.2)。
  1. 检查路由器数据包流向
  • 在路由器中使用 tcpdump 检查 VPN 数据包是否到达:
    bash tcpdump -i tun0 port 8080
  1. 确认 SNAT 配置
  • 如果数据包未正确转发,请检查并重新设置 SNAT 规则。
  • 确认路由器防火墙规则没有阻止转发。

通过以上步骤,您可以高效完成 OpenMPTCPRouter 的端口转发和公网 IP 映射配置。