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,输入账号和口令访问,界面如下:

高级玩法:

frp对外提供简单的文件访问服务 - 追风阁

使用阿里云服务器配置frp实现Windows系统RDP内网穿透的更多相关文章

  1. 阿里云搭建hadoop集群服务器,内网、外网访问问题(详解。。。)

    这个问题花费了我将近两天的时间,经过多次试错和尝试,现在想分享给大家来解决此问题避免大家入坑,以前都是在局域网上搭建的hadoop集群,并且是局域网访问的,没遇见此问题. 因为阿里云上搭建的hadoo ...

  2. frp 内网穿透访问内网Web服务

    ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...

  3. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  4. 使用FRP做内网穿透

    Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...

  5. frp内网穿透学习

    前言 因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机. 也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有 ...

  6. 借助FRP反向代理实现内网穿透

    一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...

  7. 利用阿里云搭建frp实现外网远程桌面链接内网电脑

    主要应用场景:针对学生放假回家使用外网无法远程操作学校的服务器或者电脑,这里通过阿里云的云服务器搭建一个frp服务,实现内网穿透,从而可以直接通过远程桌面或者其他工具实现对校园网内的服务器或者电脑进行 ...

  8. 阿里云服务器配置https(总结)

    阿里云服务器配置https(总结) 一.总结 一句话总结: 1.下载https证书(可以在阿里云上) 2.在服务器上面开启443端口 3.配置apache服务器,443的加ssl,让80的重定向到44 ...

  9. 阿里云服务器配置https(port443)后客户端 svn check out 失效解决办法

    1. 客户端环境 1. 操作系统:Windows 7 2. svn客户端:TortoiseSVN 2. 服务端环境 1. 云服务平台:阿里云 2. 操作系统:Windows Server 2008 R ...

随机推荐

  1. 排序:ORDER BY

    1.按照字段值进行排序: 语法:order by 字段 升序|降序 (asc|desc) 默认情况下为“升序” asc.asc=ascending 升 desc=descending 降 2.允许多字 ...

  2. RAID 5+备份硬盘实验:mdadm

    *独立冗余磁盘阵列---RAID5* RAID5+备份盘: 把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中.  RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中, 而是存储 ...

  3. boolean类型set、get方法

    今天在了解lombok的时候偶然看到一个问题,在bean中存在boolean类型的数据的时候,用eclipse工具自动生成的set.get方法存在的问题. 不管变量为isXXX还是XXX时,set.g ...

  4. springboot+mybatis报错Invalid bound statement (not found)

    今天做项目时报了一个错提示说Invalid bound statement (not found),也就是说mapper接口绑定.xml文件出错了,找不到指定的sql:原因是程序没有把.xml文件编译 ...

  5. python报错使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax问题

    参考链接:https://blog.csdn.net/ltz150/article/details/77870735 1.背景: CentOS 7升级Python到3.6.2后,需要在/usr/bin ...

  6. 在ios微信客户端遇到的坑,input等错位

    1.判断移动端设备 // 处理iOS 微信客户端弹窗状态下调起输入法后关闭输入法页面元素错位解决办法 var ua = window.navigator.userAgent.toLowerCase() ...

  7. html学习-第一集(基本标签)

    什么是HTML html是一套规则,浏览器认识的规则 开发者怎么使用html 学习HTML语言 开发后台程序 写HTML文件 从数据库获取数据,然后替换到html中对应的位子(web框架) HTML文 ...

  8. ES6-三点运算符

    首先理解一下函数总的arguments变量,这个变量是函数内部自动生成的,他用来保存传入函数的实参,是一个伪数组. 例: function fun(a,b){ console.log(argument ...

  9. ES6-对象的简写方式

        var name = 'tom';     var age = 11;     //es5定义对象     var obj = {         name:name,         age ...

  10. 【PAT甲级】1073 Scientific Notation (20 分)

    题意: 输入科学计数法输出它表示的数字. AAAAAccepted code: #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> u ...