我有以下设置:
______________________________
| |
| Client |
|______________________________|
|
|
|
__ ________________|_______________
| | Caddy Webserver | subroute -> reverse proxied to a socks5 proxy
| | (listening on 443) |_____________________________
| |________________________________| |
| | |
| | |
| | |
VPS (Ubuntu)| | |
| | ________________|_______________
| | | socks5 proxy |
| | | (listening on localhost:10000) |
| | | (running under user1) |
| | |________________|_______________|
| | |
|___ | |
| |
| |
| |
|_____________________ _______________________|
/ \
/ \
the internet
此设置目前有效,但我希望将其调整为按以下方式工作:
______________________________
| |
| Client |
|______________________________|
|
|
||===================|=====================================================================||
|| ________________|_______________ ||
|| | Caddy Webserver | subroute -> reverse proxied to a socks5 proxy ||
|| | (listening on 443) |_____________________________ ||
|| |________________________________| | ||
|| | | ||
VPS (Ubuntu)|| | | ||
|| | ________________|_______________ ||
|| | | socks5 proxy | ||
|| | | (listening on localhost:10000) | ||
|| | | (running under user1) | ||
|| | |________________ _______________| ||
|| | | ||
|| | ________________|_______________ ||
|| | | proprietary VPN | ||
|| | | (using tun0 interface) | ||
|| | |________________ _______________| ||
|| | | ||
|====================|=============================================|=======================||
| |
| ________________|_______________
| | VPN Service Server |
/ \ |________________|_______________|
/ \ |
the internet / \
/ \
the internet
在第二种情况下,SOCKS5 服务器和 VPN 客户端位于同一服务器上。
我有通过特定用户运行的 SOCKS5 服务器,这样我就可以重新路由来自该用户的所有流量。但我根本不知道该怎么做。
根据我的理解,我应该能够创建路由或 IP 表规则,将所有流量从一个用户转发到指定接口 (tun0)。
这可能吗?如何才能做到这一点?请为我提供一些指导,因为到目前为止我所看到的 IP 表规则和路由规则对我来说没有多大意义,因为我很少使用这些工具。
编辑:我已经更新了图表以提供完整设置的更多详细信息。
Ubuntu VPS 中的一切我都可以完全控制。我想要通过 VPN 路由的传入流量只能通过 Caddy -> reverse_proxy -> 代理服务器路由。我只是想通过 VPN 进一步建立隧道。