通过 Socks5 进行端口转发

通过 Socks5 进行端口转发

我运行 V2ray 服务器和客户端并创建了 Inbound Socks5。我想0.0.0.0:8443通过 IP 和端口号转发到远程机器。

我知道dokodemo-door在 v2ray 中可以做到这一点,但我的 ISP 已阻止此协议。所以我需要另一种解决方案。有没有解决方案可以通过 socks 代理转发端口?

答案1

有几种解决方案可以尝试通过 SOCKS 代理转发端口,而无需使用 dokodemo-door。以下是两种可能的选择:

使用 SSH 隧道

SSH 隧道允许您使用 SSH 协议通过 SOCKS 代理转发端口。操作方法如下:

  1. 使用以下命令启动与远程计算机的 SSH 连接:

ssh -D 1080 -f -C -q -N user@remote_machine_ip

此命令启动与远程计算机的 SSH 连接,并在本地计算机的端口 1080 上创建 SOCKS 代理。

  1. 配置您的 V2ray 客户端以在端口 1080 上使用 SOCKS 代理。
  2. 使用以下命令转发所需端口:

ssh -L 8443:remote_machine_ip:remote_port user@remote_machine_ip

此命令将本地计算机上的端口 8443 转发到 remote_ip 和 remote_port 分别指定的远程计算机的 IP 地址和端口号。

使用 socat

socat 是一个命令行实用程序,可用于在两个端点之间创建双向数据流。以下是如何使用 socat 通过 SOCKS 代理转发端口:

  1. 使用以下命令在本地计算机的 1080 端口上启动 SOCKS 代理:

socat TCP-LISTEN:1080,fork SOCKS4A:proxy_ip:remote_machine_ip:remote_port,socksport=1080

此命令在本地计算机的 1080 端口上启动 SOCKS 代理,并通过 proxy_ip 处的 SOCKS 代理将传入流量转发到 remote_ip 和 remote_port 分别指定的远程计算机的 IP 地址和端口号。

  1. 配置您的 V2ray 客户端以在端口 1080 上使用 SOCKS 代理。
  2. 使用以下命令转发所需端口:

socat TCP-LISTEN:8443,fork SOCKS4A:proxy_ip:remote_machine_ip:remote_port,socksport=1080

此命令通过 proxy_ip 处的 SOCKS 代理将本地计算机上的端口 8443 转发到 remote_ip 和 remote_port 分别指定的远程计算机的 IP 地址和端口号。

请注意,在这两种情况下,您都需要分别将 remote_machine_ip 和 remote_port 替换为远程计算机的 IP 地址和端口号。此外,您还需要将 proxy_ip 替换为 SOCKS 代理服务器的 IP 地址。

相关内容