![通过 Socks5 进行端口转发](https://linux22.com/image/784230/%E9%80%9A%E8%BF%87%20Socks5%20%E8%BF%9B%E8%A1%8C%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91.png)
我运行 V2ray 服务器和客户端并创建了 Inbound Socks5。我想0.0.0.0:8443
通过 IP 和端口号转发到远程机器。
我知道dokodemo-door
在 v2ray 中可以做到这一点,但我的 ISP 已阻止此协议。所以我需要另一种解决方案。有没有解决方案可以通过 socks 代理转发端口?
答案1
有几种解决方案可以尝试通过 SOCKS 代理转发端口,而无需使用 dokodemo-door。以下是两种可能的选择:
使用 SSH 隧道
SSH 隧道允许您使用 SSH 协议通过 SOCKS 代理转发端口。操作方法如下:
- 使用以下命令启动与远程计算机的 SSH 连接:
ssh -D 1080 -f -C -q -N user@remote_machine_ip
此命令启动与远程计算机的 SSH 连接,并在本地计算机的端口 1080 上创建 SOCKS 代理。
- 配置您的 V2ray 客户端以在端口 1080 上使用 SOCKS 代理。
- 使用以下命令转发所需端口:
ssh -L 8443:remote_machine_ip:remote_port user@remote_machine_ip
此命令将本地计算机上的端口 8443 转发到 remote_ip 和 remote_port 分别指定的远程计算机的 IP 地址和端口号。
使用 socat
socat 是一个命令行实用程序,可用于在两个端点之间创建双向数据流。以下是如何使用 socat 通过 SOCKS 代理转发端口:
- 使用以下命令在本地计算机的 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 地址和端口号。
- 配置您的 V2ray 客户端以在端口 1080 上使用 SOCKS 代理。
- 使用以下命令转发所需端口:
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 地址。