1.部署frp服务端
服务端建议部署在国内VPS、国内NAT VPS、国外CN2 GIA VPS上,以提供良好的访问体验。
打开 frp下载页面,根据自己服务器内核下载最新版的frp,我的云服务器是ubuntu ,所以下载 frp_0.36.2_linux_amd64.tar.gz,如果装了宝塔面板的话,可以直接复制到服务器并解压,没有也可以用ftp工具上传到服务器(windows上传请参考:Bitvise连接Linux服务器教程,mac系统上传请参考:Mac电脑连接Linux教程),也可以ssh连接到服务器后用wget下载:
wget https://github.com/fatedier/frp/releases/download/v0.36.0/frp_0.36.0_linux_amd64.tar.gz
绝大部分服务器系统都是64位,因此本教程直接让你下载amd64的压缩包。如果你用的树莓派等特殊服务器,请换成相应架构的安装包。
1.2.解压
服务器上解压安装包:tar -zxvf frp_0.36.0_linux_amd64.tar.gz
;
由于我装了宝塔面板,所以直接上传并解压
1.3. 修改frps.ini
进入解压后的目录:由于我安装在etc/下所以 cd /etc/frp
,然后用vim/nano等编辑器编辑frps.ini文件(可以下载到本地,编辑好后再上传上去),填入下面的内容:
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
# 授权码,请改成更复杂的
token = 12345678
#自定义二级域名
#subdomain_host = xx.abc.com #自己的二级域名
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
详细配置请查看官方文档
1.3.1. 自定义二级域名
在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。
通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。
只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务。
**
假如域名为:abc.com
去域名的控制面板添加解析 *.javen 到 121.35.99.12
1.4. 设置和启动frp服务
cd 到安装frp的目录
后台启动frps程序
nohup ./frps -c ./frps.ini > /dev/null 2>&1 &
查看frp是否启动成功
ps aux | grep frps
停止运行
ps -aux|grep frp| grep -v grep
root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
然后kill -9 进程号
kill -9 3600
注意:这些命令执行成功的前提是进入了解压后的frp目录下(黑窗口执行过cd frp命令)
./frpc: cannot execute binary file: Exec format error如果出现这种错误,说明下载的frp的系统架构和安装环境的系统架构不匹配。这个时候只要去下载安装对应的系统架构的frp进行安装就可以解决。
1.5. 防火墙放行端口
添加监听端口
ufw allow 7000
添加管理后台端口
ufw allow 7500
查看防火墙放行端口
ufw status
看到7000,7500端口,则放行成功
注意:
- 我的服务器是ubuntu如果是linux或者centos 6,请使用firewall/iptables工具放行端口;
- 7000和7500两个端口记得改成和frps.ini配置的一样
1.6. 配置安全组
由于我是阿里云服务器,登录阿里云,找到自己的服务器,选择网络安全》安全组》配置规则
入方向分别配置7000端口和7500端口
1.7 成功运行
服务端已经配好接下来就可以配置客户端了
2.部署frp客户端
1.1.安装
安装这一块具体请看frp服务端,只是客户端需要修改frpc.ini文件,服务端需要修改frps.ini文件,启动也是一样,客户端只需要启动frpc,接下只需修改frpc.ini文件即可
1.2.修改frpc.ini
[common]
server_addr = 120.56.37.48 #公网服务器ip
server_port = 7000 #与服务端bind_port一致
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 127.0.0.1 #内网服务器ip
local_port = 22 #ssh默认端口号
remote_port = 6000 #自定义的访问内部ssh端口号
#公网访问内部web服务器以http方式
[web]
type = http #访问协议
local_port = 8081 #内网web服务的端口号
custom_domains = xxx.xx.com #所绑定的公网服务器域名,一级、二级域名都可以
1.3.启动
cd 到安装frp的目录
#后台启动frpc程序
nohup ./frpc -c ./frpc.ini > /dev/null 2>&1 &
#前台启动frpc
./frpc -c ./frpc.ini
#根据自己的需求选择前台还是后台启动frpc
#查看frp是否启动成功
ps aux | grep frps
#停止运行
ps -aux|grep frp| grep -v grep
root 3600 0.1 0.1 110188 9484 pts/0 Sl 15:04 0:00 ./frpc -c ./frpc.ini
#然后kill -9 进程号
kill -9 3600
1.4.访问
(1)外网ssh访问内网服务器(直接使用配置里面数据演示)
ip:120.56.37.48 port:6000 用户名:linux服务器的用户 密码:linux服务器的密码 或者
ip:120.56.37.48 port:22 用户名:linux服务器的用户 密码:linux服务器的密码 或者
ip:xxx.xx.com port:6000 用户名:linux服务器的用户 密码:linux服务器的密码 或者
ip:xxx.xx.com port:22 用户名:linux服务器的用户 密码:linux服务器的密码
(2)自定义绑定域名访问内网web服务(直接使用配置里面数据演示),这里的端口用的是服务端配置vhost_http_port这个端口,如果要用https,也可以在服务端配置vhost_https_port端口
xxx.xx.com:6081
3.遇到的问题与总结
3.1.注意事项
配置好服务端后,请开放服务器防火墙端口,阿里云服务器需要配置安全组需要配置规则
3.2.frp启动遇到的问题
./frpc: cannot execute binary file: Exec format error如果出现这种错误,说明下载的frp的系统架构和安装环境的系统架构不匹配。这个时候只要去下载安装对应的系统架构的frp进行安装就可以解决。
文章不错交个朋友
小白看了,表示不是很懂,但还是感谢博主的分享