根据流量类型进行数据包重定向

根据流量类型进行数据包重定向

概述:是否有类似 ufw 或 iptables 的东西可以在端口上接受数据包,然后根据数据包的类型在本地重定向该数据包?

更多信息:我有一个位于 Ubuntu 14.04 上的 Web 服务器,它通过公司防火墙上的 NAT,接受端口 443 上的公共流量,防火墙将流量传递到我的 Apache Web 服务器(配置为监听 443)以处理 HTTPS 流量。

然而,我所追求的是在同一台服务器上拥有一个 SFTP 服务,能够接受 SFTP 流量,而不需要在公司防火墙上打开另一个端口。

我设想重新配置 Apache 以在本地侦听端口 44433(例如),并让 SFTP 侦听其标准端口 22。但是,我不知道我应该侦听端口 443 以接受通过公司防火墙的流量,然后确定是否应将该流量传递给 SFTP(如果数据包头指定为 SFTP)或传递给端口 44433 上的 Apache(如果数据包头指定为 HTTPS)。

我只能想象它会是类似 ufw 或 iptables 或其他一些可以在 Ubuntu 下安装的数据包过滤/转发/整形包,但我不确定要使用哪个。这在单个服务器上是否可行?

我知道有一些解决方案可以根据 IP 端口重定向流量,但是我所有的传入流量都将流向单个端口,我需要向下一层检查数据包本身以确定需要将其定向到何处。

当然,除非有更好的解决方案?

答案1

一个名为 sslh 并被描述为“应用协议多路复用器”的应用程序被设计用来做你想做的事情。

应用程序功能描述如下

ssl/ssh 多路复用器

并且可以通过该网站的链接获取。

相关内容