复制/重新路由端口至另一个端口

复制/重新路由端口至另一个端口

我正在运行 Windows Server 2008 R2 计算机,想知道是否有任何软件可以允许我打开端口 3307 并将发送到该端口的任何数据路由到端口 3306。例如,如果我从阻止出站端口 3306 的网络连接,是否有任何东西可以允许我连接到端口 3307 并在本地(在 Windows 计算机上)将数据重新路由到本地 3306 端口?顺便说一句,这是针对 MySQL 服务器的。谢谢!

答案1

您可以使用索卡特为此。有一个Windows 端口基于Cygwin。

例子部分有这个

socat -d -d -lmlocal2 \
TCP4-LISTEN:80,bind=myaddr1,su=nobody,fork,range=10.0.0.0/8,reuseaddr \
TCP4:www.domain.org:80,bind=myaddr2

TCP 端口转发器,每一端都绑定到另一个本地 IP 地址(绑定)。此示例通过在每个 accept() 之后分叉一个新进程来处理几乎任意数量的并行或连续连接。它通过在分叉后对用户 nobody 进行审核来提供一点安全性;它只允许来自私有 10 网络(范围)的连接;由于重用地址,它允许在主进程终止后立即重新启动,即使某些子套接字未完全关闭。使用 -lmlocal2,socat 会将日志记录到 stderr,直到成功到达 accept 循环。进一步的日志记录将定向到具有功能 local2 的 syslog。

虽然此示例针对的是端口 80(HTTP),但您可以使用 socat 为几乎任何协议创建双向中继。

您会注意到它显示了它的 Linux/Unix 起源。我不知道 Windows 端口在 Windows 上运行得如何,或者某些选项是否不适合 Windows。我会尝试一下。


对于生产系统我会尝试

  • 让 MySQL 监听多个端口号(目前还不可能)
  • 在路由器中使用端口转换?
  • 在 Linux 机器上使用 socat 进行端口转换中继。并进行测试直至破坏。

(呃)

相关内容