ssh 守护程序将使用哪些出站端口?

ssh 守护程序将使用哪些出站端口?

我正在制作一个堡垒 ssh 服务器。当我在 ip 表中使用以下规则时,我能够很好地连接到服务器:

入境规则

  • 允许来自我客户端 IP 的端口 22 上的流量
  • 阻止所有其他流量

呼出规则

  • 允许所有流量流向我的客户端 IP
  • 阻止所有其他流量

我的理解是,当有效的客户端调用时,服务器随机选择一个出站端口来完成ssh连接。

  1. 系统从什么范围的整数中选择这个端口?
  2. 我可以告诉我的系统使用哪些端口范围吗?

答案1

你的理解是错误的:-)。客户端将选择“tcp-high 端口”来发起到服务器目标端口 22 的流量。服务器将响应客户端发起的源端口。

例如,客户端选择端口 12345 作为源端口来连接到服务器目标端口 22。服务器将尝试将流量从其端口 22 发送到端口 12345 上的客户端。

tcp-high 端口范围为 > 1024 到 65535。

因此,您应该允许 RELATED 和 ESTABLISHED 流量流向您的客户端。例如:

IPTABLES -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

确保上述规则位于“阻止所有其余”规则之前。

相关内容