Loading... ## 需求 frp的稳定性和功能强大有目共睹,我也是长期使用frp,用来穿透家里的各种服务。frp最基础的服务就是http/tcp服务穿透,但是我们通常遇见的问题是,这类服务一般都需要利用一个域名来穿透。 那么,我家里的服务实在是太多了,每周都有新增的项目上线,但是每次都要去做穿透,非常麻烦,而且通常一个服务有多个端口,需要多N多个穿透。 <!--more--> frp又很麻烦的不能再服务端操控,每次都要到客户端完成。 ## 一次性操作 那么到底能不能一次操作?能不能直接通过内网ip+端口的形式访问? 当然可以,就是利用frp的http插件和sock5的插件。 在客户端加以下穿透项目: [http-proxy] type = tcp remote_port = 1090 plugin = http_proxy plugin_http_user = abc plugin_http_passwd = abc123 [sock5-proxy] type = tcp remote_port = 1091 plugin = socks5 plugin_http_user = abc plugin_http_passwd = abc123 格式的话和正常的frp穿透是一样的,增加了plugin、plugin_http_user 、plugin_http_passwd三个参数。后两个参数是可选的,可以不填,不过为了避免被扫描到滥用,还是填上吧。 ### HTTP(s)访问 如果需要访问http服务,利用SwitchyOmega插件增加一个http代理 地址填写公网服务器地址,端口填写1090,同时填写用户名和密码。这样http数据是先通过公网服务器转到内网。 ![chrome_AVaAfjj2Sj.png][1] 如果要同时访问外网,做一个内网ip的正则匹配: ![chrome_Qo2k6kW1mx.png][2] ### tcp访问 对于tcp访问,比如ssh,需要通过代理,比如xshell增加: plugin = socks5 socks5是个透明代理,只是透明的传输数据。 ![XshellCore_okvGspitMA.png][3] ![XshellCore_46bcyTj9xk.png][4] ## 效果 直接访问10.0.0.5访问Esxi ![chrome_JiekIrW303.png][5] 不过有很多软件没有设置代理的地方,比如微软的远程桌面就没有,这可能需要sockcap这样的程序来转发,相对比较麻烦一点。 [1]: https://imgki.com/usr/uploads/2019/05/93395432.png [2]: https://imgki.com/usr/uploads/2019/05/4196378478.png [3]: https://imgki.com/usr/uploads/2019/05/3658405594.png [4]: https://imgki.com/usr/uploads/2019/05/712461255.png [5]: https://imgki.com/usr/uploads/2019/05/4112177132.png Last modification:May 7, 2019 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏