我有以下网络:
PC1 --|¯¯¯¯¯¯¯¯¯| |¯¯¯¯¯¯¯¯¯|-- board2
PC2 --| gateway |-- (eth0) [server] (eth1) --| gateway |
PC3 --|_________| |_________|-- board1
如您所见,服务器(运行Linux)有2个接口,因此PC和嵌入式主板不在同一子网中。
我想开发一个简单的应用程序(或使用现有的应用程序),它将eth0
(使用特定端口)的Telnet连接通过eth1
传输到电路板。
我在服务器上没有root权限,但我有一个普通的Unix帐户。我不希望PC真正“登录”到服务器;我只是希望他们通过它连接到电路板。服务器安装了Python,PHP和Perl。
我想支持多个连接。端口号可用于将连接转发到右侧板(假设我有10个板,然后隧道侦听端口3000到3009)。
我可以想象一个简单的Web应用程序来做这件事,但我想要一个支持CTRL + C和所有这些东西的本机Telnet连接,并允许你在PC上使用任何终端模拟器(即PuTTY或其他),运行Windows。
非常感谢任何帮助。
答案 0 :(得分:0)
听起来您正在寻找TCP 代理。代理接受一个端口上的连接,连接到另一个IP /端口,然后来回传递流量。
如果您的系统上有xinetd
,那么您已经拥有了所需的内容。服务的redirect
指令使xinetd打开与另一个主机/端口的连接并充当代理。有关示例,请参阅this document。
balance是另一种非常简单的代理工具,可以满足您的需求。这可能更容易作为非root
用户运行,特别是因为它完全在命令行上配置。
由于您的服务器上不是root
,因此您需要在端口上运行这些> 1024,但你应该全部设置。