我有 2 个服务器:server1 和 server2。我无法直接使用 server1 的 8080 端口,只能在 server2 上使用。现在我通过以下方式进行端口转发:
ssh -4 -L 8080:服务器1:8080 用户@服务器2
我可以通过这个地址连接到第一个服务器:
本地主机:8080
但我想通过这个地址连接:
服务器1:8080
我怎样才能做到这一点?
答案1
使用动态端口转发,就像使用 socks 服务器一样
ssh -D 127.0.0.1:1080 user@server2
那么例如:
curl --socks5 127.0.0.1:1080 server1:8080
答案2
您可以使用 iptablesDNAT
规则将传出的流量重定向到 server1:8080 到 localhost:8080,如下所示:
$ sudo iptables -t nat -A OUTPUT -d server1 -p tcp --dport 8080 -j DNAT --to-destination 127.0.0.1