frp实现内网穿透

266 阅读2分钟

最近在调试公司的充电桩,充电桩只能连到公网,本地想直接调试只能转到公网去。最后选择用frp实现 我是linux服务器 本地是windows

前提

  1. 有公网IP的服务器
  2. 下载安装包(github.com/fatedier/fr…
  3. 配置服务器防火墙放行端口

安装配置环境

根据自己的环境下载对应的版本

image.png

image.png

服务端

  1. 修改配置文件

image.png

服务端可以只保留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端口能登录,就说明服务端运行正常.

image.png

客户端

windows客户端配置:

1、下载对应的客户端,并解压,只需保留frpc.exe和frpc.ini即可。

image.png

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

image.png

其他

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进程便是启动成功了