我需要在 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
从本地系统即可。