将 SSH 流量从公共 IP 转发到本地 IP

将 SSH 流量从公共 IP 转发到本地 IP

我需要找到一种方法将 ssh 流量从 WAN IP 地址转发到本地网络上的特定主机 IP 地址。设置如下:

广域网---------|防火墙| ----SSH机器

外部|内部的

有没有办法将来自防火墙外部网络适配器的 ssh 连接转发到 SSH 机器?

干杯!

编辑:正在使用的防火墙是 Iptables 提供的防火墙。它也被配置为充当路由器。外部 Windows 计算机使用命令提示符 SSH 功能建立连接

答案1

作为序言,所有与此相关的信息均来自Daywalker 的 ServerFault 答案

我所做的就是根据您的用例对此进行标记。他的帖子的解释

第一个指定所有到端口 1234 的传入 tcp 连接都应发送到内部计算机 192.168.57.25 的端口 80。仅此规则并不能完成任务,因为 iptables 拒绝所有传入连接。然后我们接受从 eth3 到端口 1234 的传入连接,该连接通过第二条规则使用公共 IP 连接到互联网。我们在 FORWARD 链中添加第二条规则,以允许将数据包转发到 192.168.57.25 的端口 80。

关于假面舞会规则:

跟踪连接。否则外部主机会看到他不知道的内部IP 192.168.57.25。

   echo "1" > /proc/sys/net/ipv4/ip_forward
   iptables -A PREROUTING -t nat -i <WAN INT> -p tcp --dport <WAN PORT> -j DNAT --to-destination <SSH MACHINE IP>:22
   iptables -A FORWARD -p tcp -d <SSH MACHINE IP> --dport 22 -j ACCEPT
   iptables -A POSTROUTING -t nat -s <SSH MACHINE IP> -o <WAN INT> -j MASQUERADE

相关内容