最近在调试公司的充电桩,充电桩只能连到公网,本地想直接调试只能转到公网去。最后选择用frp实现 我是linux服务器 本地是windows
前提
- 有公网IP的服务器
- 下载安装包(github.com/fatedier/fr…)
- 配置服务器防火墙放行端口
安装配置环境
根据自己的环境下载对应的版本
服务端
- 修改配置文件
服务端可以只保留frps 和frps.ini,frps_full.ini文件,其它的可以都删除。
frps.ini配置信息如下(更多配置内容可以参考frps_full.ini里的说明及示例)
[common]
bind_port = 7777
dashboard_port = 7500
# dashboard user and passwd
dashboard_user = admin
dashboard_pwd = admin
# auth token
token = 12345678
bind_addr为阿里云服务器公网ip,可以设置为域名(如果客户端比较多,且公网ip可能会变,建议使用域名)
dashboard是用来通过浏览器查看服务状态及客户端在线和流量情况的,建议修改默认账号和密码,为提高安全性建议设置token。
2.然后将frps和frps.ini上传到服务器
3.修改服务器安全组设置
4、启动frps服务
后台运行
nohup ./frps -c frps.ini >/dev/null 2>&1 &
5.如果此时浏览器访问服务器7500端口能登录,就说明服务端运行正常.
客户端
windows客户端配置:
1、下载对应的客户端,并解压,只需保留frpc.exe和frpc.ini即可。
2、frpc 配置修改
比如我这样配置,启动之后访问 我的服务器ip+remote_port端口30011 就相当于访问了Windows客户端本机的30011端口
[common]
server_addr = 自己的公网ip
server_port = 7777
token = 12345678
[RDP]
type = tcp
#必备字段,不开启TCP无法建立UDP连接。
local_ip = 127.0.0.1
#内网主机IP,如有变动需要在此处更新否则无法启动frp客户端。
local_port = 30011
#远程访问的实际端口,下同。
remote_port = 30011
#远程访问端口,需要在云服务器中将其开放,下同。
#use_compression = true
[RDP-02]
type = udp
local_ip = 127.0.0.1
local_port = 30011
remote_port = 30011
配置好之后在当前目录打开cmd,执行下面命令启动,出现success说明代理成功
frpc.exe
其他
cmd窗口要一直开着,任务栏要开很多程序,太影响使用和操作了 用vbs脚本实现后台启动,,注意这个frp.vbs必须放在frp的目录下,因为脚本中使用的是相对路径
dim objShell set objShell=wscript.createObject("WScript.Shell") iReturnCode=objShell.Run("frpc.exe -c frpc.ini",0,TRUE)
双击frp.vbs即可执行,双击此文件是没有反应的,不要着急,在任务管理器中能看到frpc.exe进程便是启动成功了