0

我有以下网络:

PC1 --|¯¯¯¯¯¯¯¯¯|                            |¯¯¯¯¯¯¯¯¯|-- board2
PC2 --| gateway |-- (eth0) [server] (eth1) --| gateway |
PC3 --|_________|                            |_________|-- board1

如您所见,服务器(运行 Linux)有 2 个接口,因此 PC 和嵌入式板卡不在同一个子网上。

我想开发一个简单的应用程序(或使用现有的应用程序),将传入的 Telnet 连接从eth0(使用特定端口)通过eth1.

我在服务器上没有 root 权限,但我有一个普通的 Unix 帐户。我不希望 PC 真正“登录”到服务器;我只是想让他们通过它来连接到电路板。服务器安装了 Python、PHP 和 Perl。

我想支持多个连接。端口号可用于将连接转发到正确的板(假设我有 10 个板,然后隧道侦听端口 3000 到 3009)。

我可以想象一个简单的 Web 应用程序来做到这一点,但我想要一个本地 Telnet 连接,它支持 CTRL+C 和所有这些东西,并允许您在运行 Windows 的 PC 上使用任何终端仿真器(即 PuTTY 或其他终端仿真器) .

任何帮助将非常感激。

4

1 回答 1

0

听起来您正在寻找 TCP代理。代理接受一个端口上的连接,连接到另一个 IP/端口,然后来回传递流量。

如果你xinetd的系统上有你需要的东西。服务指令导致 xinetd 打开到另一个主机/端口的redirect连接并充当代理。有关示例,请参阅此文档。

balance是另一个非常简单的代理工具,可以满足您的需求。这可能更容易以非root用户身份运行,尤其是因为它完全是在命令行上配置的。

由于您不在root服务器上,因此您需要在 > 1024 的端口上运行这些,否则您应该已准备就绪。

于 2012-05-07T20:50:45.630 回答