linux - 将并发客户端桥接到单个连接的代理

标签 linux sockets networking proxy vpn

我正在寻找一种工具(在 linux 下),它允许我设置一个端到端代理,在一端的一个端口上接受多个同时的客户端,将数据转发到另一端的 连接然后“扩展”另一端的连接以连接回接受多个连接的服务。为了澄清,这是我想要实现的图表:

http://i.stack.imgur.com/rgTMd.png

(显然我需要超过 10 个代表才能将图像嵌入此页面)

如果您有兴趣,我尝试这样做的原因是因为我想构建一个系统,该系统可以更轻松地通过任意协议(protocol)进行隧道传输,只要该协议(protocol)支持某种方式从一端到另一端。我会把系统放在上图中的代理端 A 和代理端 B 之间。

这是我希望它如何工作的示例:

首先我将运行以下命令

mkfifo backpipe

nc -l 7778 0<backpipe | tee f1 | nc localhost 7777 | tee f2 >backpipe

“服务器代理”将在端口 7777 上运行。

应用程序将连接到的“客户端代理”将在端口 8080 上运行

客户端代理将连接到端口 7778

解决“服务器代理”和“客户端代理”

最佳答案

OpenSSH 已经通过 -D 选项支持这一点:

ssh -D <port> -l username remotehost

SOCKS 服务器将监听连接并将它们转发到 SSH 连接的另一端。

关于linux - 将并发客户端桥接到单个连接的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022832/

相关文章:

c# - 为什么调用 Tesseract 进程会导致该服务随机崩溃?

c - sockaddr_in 导致段错误?

c++ - Visual C++ 19.10.25019 – C++ 编译器错误?

macos - 进程特定的/etc/hosts

linux - 为目录应用 bash 变量(递归)

linux - 使用 AWK 比较两个不同的文件并将值从一个文件复制到另一个文件

linux - 如何使用正则表达式进行 grep 以消除此堆栈跟踪?

javascript - 在 Angular.js View 更改时多次触发 Socket.io 事件

c - 可重入函数 read()

c++ - 带有登录名和密码的开源 URL