我熟悉 stunnel.conf,也知道如何指定它监听哪些未加密端口以及重定向到哪些加密端口,但我想了解如何它能够从监听相同未加密端口的服务器“抓取”数据包。
也就是说,如果我有一个数据库客户端希望通过未加密的端口 777 进行通信,并且数据库服务器通常侦听该端口并与客户端通信。现在我想让 stunnel 接管,因此我在客户端和服务器端都运行 stunnel,侦听端口 777 并将流量重定向到加密端口 8888。现在客户端不知道 stunnel,它继续通过端口 777 进行通信,但是两个都stunnel 和数据库服务器正在监听端口 777...所以如何stunnel 是否会在客户端的数据包到达数据库服务器之前抢占它们?
答案1
但事实并非如此;应用程序需要配置为指向隧道端点。
在您所指的情况下,客户端需要重新配置为指向本地 stunnel 监听器,它将包装连接数据并根据 stunnel 配置将其发送到服务器。
还有“透明代理”模式,它涉及使用 iptables 明确将流量发送到 stunnel 进程,但并不常用。