将 ssh 请求从全局 IP 转发到特定本地 IP 的端口

将 ssh 请求从全局 IP 转发到特定本地 IP 的端口

我需要在 Linux 上运行的本地系统上完成从全局 IP 地址到特定本地 IP 地址的端口转发,该本地系统通过 Linux 上运行的 Squid 代理服务器连接到 Internet。

Squid 代理服务器具有全局 IP 地址,并且 Internet 连接通过它路由到几乎所有具有静态本地 IP 地址的本地系统。全局IP地址在210.*.*.*范围内,本地IP地址在范围内192.168.*.*

我该如何实现这个目标。

答案1

一个简单的方法是完全依赖 NATing:

将到达 $PUBLICIP 端口 2222 的所有数据包转发到 $LOCALIP 端口 22:

iptables -t nat -A PREROUTING -d $PUBLICIP/32 -p tcp -m tcp --dport 2222 -j DNAT --to-destination $LOCALIP:22

在 $PUBLICIP 的接口上路由来自 $LOCALIP 的流量:

iptables -t nat -A POSTROUTING -s $LOCALIP/32 -j SNAT --to-source $PUBLICIP

然后您只需ssh -p 2222 $PUBLICIP从本地系统即可。

相关内容