1、frp服务器采用阿里云ecs的centos7.5系统,客户端是台windows10的系统,做一个RDP服务的内网穿透用。
2、首先下载frp到服务器(链接:https://github.com/fatedier/frp/releases,有点慢),我用的是0.30.0版本的frp_0.30.0_linux_amd64.tar.gz,使用tar zxvf *** 命令进行解压后看到有frpc、frpc.ini、frps、frps.ini、_full.ini等文件,带c是客户端需要的文件,带s的服务端需要的文件,带full是全部参数都在的配置文件(高级玩法),这里由于客户端采用windows,所以删除了带c的文件,直接去下载windows版本的frp了。
这是windows版本解压出来的文件
3、配置服务器端:
1)使用vi编辑frps.ini文件,看到默认的就如下三行(暂不改动):
bind_port为服务端和客户端通信的端口,两边保持一致即可。
2)使用nohup ./frps -c frps.ini &命令可后台运行frps服务端程序,前台运行直接敲./frps -c frps.ini,采用后台运行时,frps的运行日志都在当前目录下的nohup.out文件中,可cat查看。
ps:我运行了两次。。
4、配置客户端:
1)用notepad打开上述截图中的frpc.ini文件,配置如下:
server_addr为公网服务器的ip地址,server_port为前面服务器端相同的端口号,[rdp]为反向代理名称,type为协议类型(rdp是tcp的),local_ip为内网客户端ip地址,local_port为内网客户端端口(rdp默认是3389),remote_port为公网服务器端的映射端口(也是连接公网ip时要填的端口)。
2)使用frpc.exe -c frpc.ini命令启动客户端进程,并同步显示连接和控制信息:
ps:对了,如果这里很久没有显示success,可能是服务器端开启了防火墙,可以使用systemctl stop firewalld关闭看看。
####防火墙加白名单如下:
# firewall-cmd --permanent --zone=public --add-port=7000/tcp 添加7000端口到白名单,permanent参数表示永久,为了重启后依然生效 # firewall-cmd --reload 重新加载防火墙 # firewall-cmd --zone=public --list-ports 查看白名单
5、测试,使用另一台电脑打开远程桌面mstsc,输入公网ip:映射端口(如111.111.111.111:33890)后确定并输入客户端系统的账号和口令登录成功。
安卓手机也可以进行测试,下载RD Client工具同样方法输入公网ip:端口后输入账号口令即可。
更多详细配置可以查看官方中文手册:https://github.com/fatedier/frp/blob/master/README_zh.md
frp提供管理控制台的功能,frps.ini后面继续加上如下字段:
使用公网ip:7500,输入账号和口令访问,界面如下:
高级玩法: