赞
踩
在经过了各种小骚蹄子(传统方案)的洗礼后,弱水三千,我终究只取了frp这一瓢饮
什么是Frp
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用 FRP ?
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
- 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
以上内容来自官方
首先,你需要拥有一台具有公网IP的服务器或者VPS,然后使用任意ssh终端连接上你的主机。
wget https://raw.githubusercontent.com/MvsCode/frp-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
然后,输入代码(感谢大佬提供的脚本),出现以下界面。
国内服务器选择1,国外服务器选择2或者直接enter。
然后其实一直按enter就行了
+------------------------------------------------------------+ Check your server setting, please wait... +------------------------------------------------------------+ | frps for Linux Server, Author Clang ,Mender MvsCode | | A tool to auto-compile & install frps on Linux | +------------------------------------------------------------+ Please select frps download url: [1].gitee [2].github (default) Enter your choice (1, 2 or exit. default [github]): ----------------------------------- Your select: github ----------------------------------- Loading network version for frps, please wait... FRPS_VER set to: 0.53.2 frps Latest release file frp_0.53.2_linux_arm64.tar.gz Loading You Server IP, please wait... You Server IP:104.28.211.190 ———————————————————————————————————————————— Please input your server setting: ———————————————————————————————————————————— Please input frps bind_port [1-65535](Default Server Port: 5443): frps bind_port: 5443 Please input frps vhost_http_port [1-65535](Default : 80):80 frps vhost_http_port: 80 Please input frps vhost_https_port [1-65535](Default : 443):445 frps vhost_https_port: 445 Please input frps dashboard_port [1-65535](Default : 6443): frps dashboard_port: 6443 Please input frps dashboard_user(Default : admin): frps dashboard_user: admin Please input frps dashboard_pwd(Default : JPaOPrCi): frps dashboard_pwd: JPaOPrCi Please input frps token(Default : S7al5RUf0oADvKvT): frps token: S7al5RUf0oADvKvT Please input frps subdomain_host(Default : 104.28.211.190): frps subdomain_host: 104.28.211.190 Please input frps max_pool_count [1-200] (Default : 50): frps max_pool_count: 50 Please select log_level 1: info (default) 2: warn 3: error 4: debug ------------------------- Enter your choice (1, 2, 3, 4 or exit. default [1]): log_level: info Please input frps log_max_days [1-30] (Default : 3 day): frps log_max_days: 3 Please select log_file 1: enable (default) 2: disable ------------------------- Enter your choice (1, 2 or exit. default [1]): log_file: enable Please select tcp_mux 1: enable (default) 2: disable ------------------------- Enter your choice (1, 2 or exit. default [1]): tcp_mux: true Please select kcp support 1: enable (default) 2: disable ------------------------- Enter your choice (1, 2 or exit. default [1]): kcp support: true ============<span style="font-weight: bold;" class="mark"> Check your input </span>==========<span style="font-weight: bold;" class="mark"> You Server IP : 104.28.211.191 Bind port : 5443 kcp support : true vhost http port : 88 vhost https port : 445 Dashboard port : 6443 Dashboard user : admin Dashboard password : JPaOPrCi token : S7al5RUf0oADvKvT subdomain_host : 104.28.211.190 tcp_mux : true Max Pool count : 50 Log level : info Log max days : 3 Log file : enable </span>============================================ Press any key to start...or Press Ctrl+c to cancel
以上为所有可能出现的所有界面,这里强调几个参数
Bind port是监听端口,对应客户端的服务端口
vhost http port 默认80不要修改
vhost https port 默认443不要修改
Dashboard port是web控制台的端口,如你的服务器IP为0.0.0.0,那么你可以通过0.0.0.0:端口号访问web管理界面
Dashboard user是web控制台的账号
Dashboard password是web控制台的密码
token是客户端连接服务端的密码
由于客户端的系统千奇百怪,能搭建客户端的方式也不尽相同,就像如果你拥有群晖,那么使用矿神套件无疑是最简洁的方式,但在此处我们只讲述普适方法。
还是ssh连接到系统,然后......
抄代码,启动!
安装客户端
wget https://github.ioiox.com/stilleshan/frpc/raw/branch/master/frpc_linux_install.sh && chmod +x frpc_linux_install.sh && ./frpc_linux_install.sh
编辑配置
vim /usr/local/frp/frpc.ini
下面给出一个frpc的示例文件,包括了http,https,tcp隧道的配置
# frpc.ini 示例配置文件(带有HTTP、HTTPS和TCP隧道的配置) [common] # 通用配置 # frps 服务器地址 server_addr = your_frps_server_ip #输入你的服务器IP # frps 服务器端口 server_port = 7000 #前文中的bind_port # 通信密钥,与 frps 中设置的一致 token = your_token #前文中的token # HTTP 配置 [web] type = http local_port = 80 custom_domains = your_custom_domain.com http_user = your_http_user #可以没有 http_pwd = your_http_password #可以没有 # HTTPS 配置 [secure_web] type = https local_port = 443 custom_domains = your_secure_domain.com http_user = your_https_user #可以没有 http_pwd = your_https_password #可以没有 # 证书文件路径 # ssl_cert = ./path/to/your/certificate.crt # 证书密钥文件路径 # ssl_key = ./path/to/your/private_key.key # TCP 隧道配置 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # 更多的 TCP 隧道配置 # [custom_tcp] # type = tcp # local_ip = 127.0.0.1 # local_port = 8080 # remote_port = 6001
稍微哔哔两嘴,曾几何时,frpc.ini的配置一度是使用frp进行穿透的最大劝退因素,虽然整体配置不难,但对于新手小白来说可能还是有点卧槽的,但现在嘛......
来来来,chatgpt给我写个frpc.ini呗,我要巴拉巴拉巴拉.......
真香~
最后嘛,在客户端执行
systemctl restart frpc
穿透完成!
在讲搭建服务端的时候,我们曾提到过设置web管理界面的端口账号密码。
那么......这是个什么玩意儿呢?
如图所示,这玩意展示了服务端的一些信息,而且,在proxies选项卡下还能查看每个隧道使用的具体流量,单从面板的角度来说倒是不错了。
但是嘛,相比nps家的管理面板,我也只能说这玩意能用了,毕竟存在几个明显的缺点
1.面板全英文,完全不支持中文
2.只能查看信息,无法在管理面板进行修改(这方面大力点赞nps)
本文原始发布地址:blog.050905.xyz/index.php/archives/12/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。