通过frp的socks5代理实现对内网网页的访问

Submitted by admin on Fri, 05/21/2021 - 13:08

场景

假设内网有一台机器A(linux),机器A运行一个Web应用B,应用B只能通过域名形式进行访问,例如test.com
内网机器A和外网完全隔离,但是可以通过vpn或远程桌面的形式进行访问操作。
现在需要在个人电脑上直接访问test.com可以直接访问Web应用B。

#假设
有一台中间服务器,运行frp server,细节如下:
frp server 域名为frp.test.com, 端口为7700,token为token
frp server 的5000~5020端口堡垒公网可以访问。

思路

内网机器运行socks5代理,同时使得该socks5可以被外网使用;
浏览器配置omegeproxy插件,使得对test.com的访问通过socks5代理进行。

实现步骤

  1. 在公网搭建frp server,参考frps docker,端口5001暴漏公网可访问。
  2. 在内网机器A上下载运行frpc, frpc.ini配置如下
[common]
server_addr = frp.test.com
server_port = 7700
token = token

[plugin_socks5]
type = tcp
remote_port = 5001
plugin = socks5
# plugin_user = admin
# plugin_passwd = admin
  1. 运行
frpc -c frpc.ini
  1. 配置浏览器代理,以chrome的switchyomega为例
    添加新的代理,类型为socks 5,设置全局可用,参考如下
  2. 浏览器访问test.com即可访问。

注意事项

  1. socks5代理无法使用账号密码,因为这是浏览器的限制。