通过 SSH SOCKS 隧道将流量转发到特定 IP
Forward traffic to specific IP via SSH SOCKS tunnel
我可以通过 SSH 连接到 223.32.11.43 并 cURL 本地网络上的其他服务器。
这在我通过 SSH 进入时有效:
curl -d '{my: parameter}' -H "Content-Type: application/json" 10.0.30.10
{code:200}
在远程服务器上,我设置了一个 SOCKS 隧道:
ssh -f -N -D 9090 MyUser@223.32.11.43
我已经尝试设置 iptables,以便我可以在与远程服务器相同的网络上卷曲内部服务器:
iptables -t nat -A OUTPUT -s 10.0.30.10 -p tcp --dport 80 -j DNAT --to-destination 223.32.11.43
但它似乎失败了,至少它在我尝试 cURL 时超时:
curl -d '{my: parameter}' -H "Content-Type: application/json" 10.0.30.10
...timeout
要做什么,以便我可以在我的远程服务器上执行相同的 cURL?
这对我有用:
从您的远程计算机,设置到远程服务器的 SOCKS SSH 隧道:
ssh -D 9090 -f -C -q -N MyUser@remote.ip
从远程计算机通过隧道发出请求:
curl -d '{my: parameter}' -H "Content-Type: application/json" \
--socks5-hostname remote.ip:9090 10.0.30.10
我可以通过 SSH 连接到 223.32.11.43 并 cURL 本地网络上的其他服务器。
这在我通过 SSH 进入时有效:
curl -d '{my: parameter}' -H "Content-Type: application/json" 10.0.30.10
{code:200}
在远程服务器上,我设置了一个 SOCKS 隧道:
ssh -f -N -D 9090 MyUser@223.32.11.43
我已经尝试设置 iptables,以便我可以在与远程服务器相同的网络上卷曲内部服务器:
iptables -t nat -A OUTPUT -s 10.0.30.10 -p tcp --dport 80 -j DNAT --to-destination 223.32.11.43
但它似乎失败了,至少它在我尝试 cURL 时超时:
curl -d '{my: parameter}' -H "Content-Type: application/json" 10.0.30.10
...timeout
要做什么,以便我可以在我的远程服务器上执行相同的 cURL?
这对我有用:
从您的远程计算机,设置到远程服务器的 SOCKS SSH 隧道:
ssh -D 9090 -f -C -q -N MyUser@remote.ip
从远程计算机通过隧道发出请求:
curl -d '{my: parameter}' -H "Content-Type: application/json" \
--socks5-hostname remote.ip:9090 10.0.30.10