Linux

埠將 ssh 請求從全域 IP 轉發到特定的本地 IP

  • January 13, 2017

我需要在 Linux 上執行的本地系統上完成從全域 IP 地址到特定本地 IP 地址的埠轉發,該系統通過在 Linux 上執行的 Squid 代理伺服器連接到 Internet。

Squid 代理伺服器有一個全域 IP 地址,網際網路連接通過它路由到幾乎所有具有靜態本地 IP 地址的本地系統。全域 IP 地址在210.*.*.*範圍內,本地 IP 地址在範圍內192.168.*.*

我該如何做到這一點。

一個簡單的方法是完全依賴 NATing:

轉發所有到達的數據包 $ PUBLICIP on port 2222 to $ 埠 22 上的 LOCALIP:

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

路由來自的流量 $ LOCALIP on the $ PUBLICIP的界面:

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

然後你可以簡單地ssh -p 2222 $PUBLICIP從你的本地系統。

引用自:https://unix.stackexchange.com/questions/337049