FRP 官方文档:https://gofrp.org/docs/reference/
问题描述
常规情况下:将B主机做为代理跳板到C主机网络的时候需要多做一次端口映射,将B主机端口映射外网,而且要访问B主机和D主机的时候需要切换代理端口。
B C 可互相访问,C D 可互相访问,但 B 无法直接访问 D
解决方式
通过B主机获取C主机权限,然后通过C主机代理访问D主机网络(C,D 主机都不出网),而且D主机只允许C主机访问,最终通过VPS一次性多级代理同时访问 192.168.10. 和 192.168.2. 段。(代理链)
VPS 配置
VPS 启动 frps:
frps -c frps.ini
frps.ini 配置如下:
[common]
bind_port = 443
token = 11111111
max_pool_count = 10
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
B主机
B主机连接 VPS:
frpc.exe -c frpc.ini
frpc.ini 配置如下:
[common]
tls_enable = true
server_addr = VPS-IP
server_port = 443
token = 11111111
[B主机]
type = tcp
remote_port = 10888
plugin = socks5
plugin_user = frp
plugin_passwd = frp
use_encryption = true
use_compression = true
同时B主机配置一个 frps 服务端给 C 主机连接,frps.ini 配置如下:
[common]
bind_port = 9999
# B主机通过C主机的IP段
bind_host = 192.168.10.1
C主机
C 主机连接 B 主机 代理,frpc.ini 配置如下:
[common]
server_addr = 192.168.10.1
server_port = 9999
[c主机]
type = tcp
remote_port = 8888
plugin = socks5
remote_port: 用户访问此端口的请求会被转发到 192.168.10.1:8888
Proxifier 设置代理链
设置 proxy servers 分别添加
VPS: VPS-IP socks5: 10888
B主机: 192.168.10.1 socks5: 8888
把相关代理添加到下方的代理链 (B主机 => C 主机 => D主机)
设置 Rules 路由:Action 选择相关代理链名称
通过连接VPS的代理,可以直接访问 192.168.10. _ (B, C 主机所在网段) 和 192.168.2. _段 (C, D 主机所在网段)