赞
踩
原理图
原理:本地电脑通过连接公网中的电脑FRP来进行数据交互,而其他用户所获取到的数据直接来自公网电脑,而公网电脑只作为一个转接站来传输数据而不去保留数据。公网电脑的带宽直接影响到数据传输的速率。
准备工作
服务端设置
使用xshell工具连接linux服务器
使用命令查看系统架构:arch
根据显示结果去下载相对应的软件
下载相对应架构的FRP版本 wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz 解压缩 tar -zxvf frp_0.22.0_linux_amd64.tar.gz 移动到自定义文件夹 cp -r frp_0.22.0_linux_amd64 frp 进入自定义文件夹 cp frp 查看文件 ls -a frps----------------->服务器端启动器 frps.ini------------->服务器端配置文件 frpc----------------->用户端启动器 frpc.ini------------->用户端配置文件
修改配置信息:vim frps.ini
[common]
bind_port = 7000 #用户端需要连接的端口
dashboard_port = 7500 #Web监控端端口
token = 12345678 #连接秘钥
dashboard_user = admin #Web端用户名
dashboard_pwd = admin #Web端密码
vhost_http_port = 10080
vhost_https_port = 10443
#“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。
启动FRP服务:./frps -c frps.ini
此时访问 公网ip:7500 并使用自己设置的用户名密码登录,即可看到仪表板界面
将服务在后台运行
nohup ./frps -c frps.ini &
#输出如下内容即表示正常运行
nohup: ignoring input and appending output to 'nohup.out'
#此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序
jobs
#使用kill %Id 可以关闭后台运行的程序
客户端设置
根据客户端设备的情况选择相应的frp程序进行下载
用文本编辑器打开frpc.ini,与服务端类似
[common] server_addr = 公网IP server_port = 7000 token = won517574356 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 [smb] type = tcp local_ip = 127.0.0.1 local_port = 445 remote_port = 7002 #“server_addr”为服务端IP地址,填入即可。 #“server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000 #“token”是你在服务器上设置的连接口令,原样填入即可。 #上面frpc.ini的rdp、smb字段都是自己定义的规则,自定义端口对应时格式如下。 #“[xxx]”表示一个规则名称,自己定义,便于查询即可。 #“type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。 #“local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。 #“remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。
客户端的frpc程序不能直接双击运行!
#使用命令提示符或Powershell进入该目录下
cd C:\frp
#并执行
./frpc -c frpc.ini
#运行frpc程序,窗口中输出如下内容表示运行正常。
login to server success, get run id
server udp port [0]
2019/01/12 16:14:56 [I] [proxy_manager.go:136] [2b65b4e58a5917ac] proxy added: [rdp smb]
2019/01/12 16:14:56 [I] [control.go:143] [smb] start proxy success
2019/01/12 16:14:56 [I] [control.go:143] [rdp] start proxy success
windows客户端配置后台运行及开机启动
#frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
#在任何一个目录下新建一个文本文件并将其重命名为“frpc.bat”,编辑,粘贴如下内容并保存。
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd C:\frp
frpc -c frpc.ini
exit
#将cd后的路径更改为你的frpc实际存放的目录。
#之后直接运行这个 .bat 文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
#至于开机启动,把这个 .bat 文件直接扔进Windows的开机启动文件夹就好了 :)
#至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。
#强烈建议你在使用frp直接测试内网穿透前,先在局域网内测试好相关功能的正常使用,并配置好可能会影响的Windows防火墙等内容,在内网调试通过后再使用frp进行内网穿透测试。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。