iptables 連接埠轉送至反向代理

iptables 連接埠轉送至反向代理

我在 ubuntu 虛擬伺服器上,希望將客戶端連接埠轉送到透過 ssh 連線的主機,並且已將 putty 配置為遠端連接埠轉送連接埠 1802。

我想要實現的目標:我希望我的虛擬伺服器充當應用程式給定連接埠的代理程式。我希望能夠使用該連接埠連接到我的虛擬伺服器,但被重定向到反向代理(主機):

用戶端 A <== xxxx:1802 ==> vserver (連接埠轉送) <== 反向代理/ssh 連線 ==> 主機

我已經擁有的:主機已經有一個使用 putty 的遠端連接埠轉送以及到我的虛擬伺服器的 ssh 連線。我所缺少的只是連接埠轉發,以便使用指定連接埠連接到虛擬伺服器的客戶端被 DNAT 到主機。

這是我到目前為止所嘗試的:我嘗試添加listen 1802;我的 nginx 伺服器配置,但這根本不起作用(我認為我缺少proxy_pass配置)。然後我嘗試使用 iptables:

iptables -t nat -A PREROUTING -i -p udp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables -t nat -A PREROUTING -i -p tcp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables-save

但我不確定參數--to-destination。另外,我省略了該-i值,以便所有介面都用於 iptables 條目。

答案1

就我而言,需要GatewayPorts yes添加。/etc/ssh/sshd_config重新啟動 ssh 還不夠,我必須重新啟動虛擬伺服器 - 然後它就起作用了。我甚至不需要任何特殊的 iptables 條目,因為所有連接埠都已處於接受狀態。

相關內容