转自:https://www.fengjunzi.com/blog-774412.html
Frp做内网映射部署简单,而且端口可以完全自定义。之前使用花生壳和natapp均无法自定义自己需要的端口,是时候自己部署了。
环境介绍
服务端环境:阿里云ECS centos7 64位系统
win客户端:win7/win2012server
linux客户端:ubuntu16.04 64位
下载frp软件包
下载地址:https://github.com/fatedier/frp/releases
根据自己的环境下载对应的版本
服务端搭建过程
1、修改配置文件
下载的压缩包解压后如下:
服务端可以只保留frps 和frps.ini,frps_full.ini文件,其它的可以都删除,
frps.ini配置信息如下(更多配置内容可以参考frps_full.ini里的说明及示例)
[common]
bind_addr = 0.0.0.0
bind_port = 7000
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、修改服务器安全组设置
在阿里云服务器安全组设置里放行7000,7500,以及要映射到客户端的端口,比如33891
4、启动frps服务
启动frps的时候我们选择后台启动,防止我们关闭shell或者关闭ssh服务后frps停止
frps.ini : 是我们启动的时候指向的配置文件,
nohup ./frps -c frps.ini
执行命令后会在同目录生成nohup.out日志文件,如果不需要生成日志,可以执行如下命令
nohup ./frps -c frps.ini >/dev/null 2>&1 &
5、如果此时浏览器访问服务器7500端口能登录,就说明服务端运行正常.
windows客户端配置:
1、下载对应的客户端,并解压
只需保留frpc.exe和frpc.ini即可。
2、frpc 配置修改
修改frpc配置文件: frpc.ini,比如我需要映射3389远程端口,可以修改如下。其中[rdp]为客户端标识,可以自定义,方便在服务端dashboard里区分。
[common]
server_addr = 上方搭建frps服务的虚拟机的ip
server_port = 7000
token = frps配置文件中的token值
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3381
remote_port = 33891
3、启动frpc客户端
当我们直接双击frpc.exe的时候,黑窗口会告诉我们:
请进入到cmd窗口执行此文件
打开cmd窗口进入到frp的文件夹内执行frpc.exe
Microsoft Windows [版本 10.0.17134.648]
(c) 2018 Microsoft Corporation。保留所有权利。
D:\Program Files\frp\frp_0.25.3_windows_amd64>frpc.exe
2019/03/28 13:19:49 [I] [service.go:221] login to server success, get run id [f75fd636b5f34848], server udp port [7001]
2019/03/28 13:19:49 [I] [proxy_manager.go:137] [f75fd636b5f34848] proxy added: [ssh]
2019/03/28 13:19:49 [W] [control.go:142] [ssh] start error: port already used
2019/03/28 13:19:49 [W] [control.go:142] [gk-admin] start error: port already used
如上所示,便是启动成功。
这时候就出现一个问题了,我们一直保证cmd窗口打开,很影响我们使用和操作
我在这里是写了一个frp.vbs脚本来实现后台启动frpc.exe,注意这个frp.vbs必须放在<mark>frp的目录</mark>下,因为我在脚本中使用的是相对路径
<mark>frpc.exe -c frpc.ini</mark>代表的就是使用frpc.ini配置文件启动frpc.exe
frp.vbs内容如下:
dim objShell
set objShell=wscript.createObject("WScript.Shell")
iReturnCode=objShell.Run("frpc.exe -c frpc.ini",0,TRUE)
双击frp.vbs即可执行,双击此文件是没有反应的,不要着急,在任务管理器中能看到frpc.exe进程便是启动成功了
此时访问服务端dashboard就可以看到在线的客户端
Linux客户端配置
1、linux客户端文件和服务端压缩包是同一个,只需保留frpc和frpc.ini即可
2、修改frpc.ini配置文件,比如映射22端口到33891端口
[common]
server_addr = 上方搭建frps服务的虚拟机的ip
server_port = 7000
token = frps配置文件中的token值
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 33891
3、启动客户端
nohup ./frpc -c frpc.ini