ssh 通信端口和 iptables 转发

ssh 通信端口和 iptables 转发

我想通过路由器 R 实现客户端计算机 C1 与服务器 S 之间的通信。在我的 R 上,我设置了 IP 转发,并且我想使用 iptables 将通信限制为仅用于 ssh(例如 Web 服务器,但现在这并不重要)。我不知道消息的发送和接收是否源自端口 22 并定向到端口 22,或者发送和接收端口是否不同。

假设 iptables 有:

iptables -A FORWARD -s 10.1.1.1 -d 10.9.9.1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.9.9.1 -d 10.1.1.1 ??? -m state ESTABLISHED -j ACCEPT
iptables -A FORWARD -j REJECT

那么我必须为第二条规则指定什么以及为什么?

答案1

只有 SSH 服务器侦听 TCP 端口 22。客户端使用的端口通常不是静态的、可预测的,甚至不可配置的。我建议在第二条规则中匹配服务器的源端口:

iptables -A FORWARD -s 10.9.9.1 -d 10.1.1.1 -p tcp --sport 22 -m state ESTABLISHED -j ACCEPT

相关内容