Netfilter/tc 规则用于分离 SSH 和 SFTP 流量吗?

Netfilter/tc 规则用于分离 SSH 和 SFTP 流量吗?

当我远程连接到我的服务器(带有 Raspbian 的 RasPI 2)时,我希望我的交互式 SSH 会话始终优先于任何正在运行的 SFTP 会话。此外,SFTP 会话的优先级应低于本地网络中的 SMB 流量。

该服务器位于 dd-wrt ​​路由器后面,依次连接到具有 5Mbps 上行带宽的电缆调制解调器。

我知道我应该使用iptables将传出的数据包标记为不同的类别并将tc它们放在不同的类别中。但是我如何告诉 iptables 辨别 SSH 数据包和 SFTP 数据包并对它们进行不同的标记?在上述场景中,它们来自同一端口,进程名称相同(sshd),用户相同,目标 IP 地址也相同。

sshd 守护进程正在使用其内部 SFTP 服务器来使用该ChrootDirectory功能。

答案1

不,这种设置无法实现。sftp是的子系统sshdsftp命令仅封装在ssh协议中,在服务器端有一个称为的进程,sftp-server而不是bash,这在普通 ssh 会话中很常见。

可能性是sshd使用 sftp 子系统在不同端口上运行另一个服务实例,然后您只需通过端口进行区分即可。您甚至可以通过设置为不接受正常的 ssh 会话来iptables创建另一个服务。sftp-onlyForcedCommand /path/to/sftp-server

相关内容