使用 FRP 搭建内网穿透,流畅运行远程桌面!
点击上方 终端研发部,选择 设为星标
每天9:30点,干货准时奉上!
责编:中文妹 | 来源:小岳
链接:jianshu.com/p/8589be3dd393
上一篇:接口性能优化技巧,有点硬...
大家好,我是中文妹。
一、FRP简介:
FRP工具采用C/S模型,将FRP服务端部署在具有固定公网IP的机器上,FRP客户端部署在内网机器上,通过访问暴露在服务端上的端口,反向代理到位于内网的服务。在此基础上,FRP支持 TCP、UDP、HTTP、HTTPS 等多种协议,提供了加密、压缩、身份认证、代理限速和负载均衡等众多能力。
FRP客户端服务端通信支持TCP、KCP 以及Websocket 等多种协议;
采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间;
支持代理组间的负载均衡;
端口复用,多个服务可通过同一个服务端端口暴露;
多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用FRP客户端完成某些工作;
高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
FRP开源项目地址:
https://github.com/fatedier/frp
FRP使用场景:
让互联网(外部网络)的设备能访问局域网(内部网络)的设备所提供的服务,尤其是在内部网络出口没有固定公网IP的场景中。
二、FRP测试环境:
角色 |
系统 |
备注 |
服务端 |
CentOS7.6 |
在腾讯云运行,具有公网IP |
客户端 |
Windows7 |
在本地内网运行,可访问互联网,内网ip:172.16.103.133 |
测试目标:将内网Windows 7的远程桌面端口(3389)暴露到服务端,实现在外部网络可以通过远程桌面连接到内网的Windows 7。
三、FRP搭建:
3.1FRP服务端搭建
关闭CentOS 7.6防火墙:
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭CentOS 7.6 SELinux:
vi /etc/selinux/config
SELINUX=disabled ##将SELINUX从enforcing改为disabled
init 6 ## 重启系统
sestatus ##查看SELiunx状态
安装配置FRP服务端:
yum -y install wget ##安装wget工具
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz ##下载FRP部署包
tar -zxvf frp_0.38.0_linux_amd64.tar.gz ##解压FRP部署包
cd frp_0.38.0_linux_amd64 ##进入FRP文件夹
vi frps.ini ##编辑服务端配置文件[common] bind_port = 54420 ##客户端通信端口 vhost_http_port = 54421 ##HTTP端口 vhost_https_port = 54422 ##HTTPS端口 token = 123456 ##自定义秘钥dashboard_port = 7112 ##服务端Web管理端口(选配)dashboard_user = admin ##服务端WeB管理用户名(选配)dashboard_pwd = 123456 ##服务端WeB管理密码(选配)
wr退出保存。
运行FRP服务端:
前台运行:
./frps -c ./frps.ini ##在FRP目录下输入此命令
后台运行:
nohup ./frps -c ./frps.ini & ##在FRP目录下输入此命令
腾讯云安全组放行端口:
放行从外网访问公网IP指定端口的流量;
放行TCP端口:54420、54421、54422、7112。
牛逼啊!接私活必备的 N 个开源项目!
3.2FRP客户端搭建:
FRP客户端支持Windows、Linux、MacOS、ARM、OpenWRT等平台,本例以Windows 7为例,将Windows 7的远程桌面端口(3389)暴露到服务端,实现从公网访问Windows 7的远程桌面。
使用浏览器访问
https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz下载FRP安装包;
解压安装包:
编辑文件夹中的FRP客户端配置文件"frpc.ini":
[common]
server_addr = 140.143.XXX.XXX ##服务端的公网IP
server_port = 54420 ##服务端配置的端口
token = 123456 ##服务端配置的密钥
admin_addr = 172.16.103.133 ##客户端Web管理地址(选配)
admin_port = 7112 ##客户端Web管理端口(选配)
admin_user = admin ##客户端Web管理用户名(选配)
admin_pwd = 123456 ##客户端Web管理密码(选配)[mstsc] ##服务标识,可随意写
type = tcp ##要暴露的协议
local_ip = 172.16.103.133 ##提供服务的内网主机的IP
local_port = 3389 ##服务使用的内部端口
remote_port = 10088 ##服务暴露到公网后使用的端口以下为暴露Web服务的配置示例(选配):
[Web1] ##服务标识,可随意写
type = http ##要暴露的协议
local_ip = 172.16.103.133 ##提供服务的内网主机的IP
local_port = 80 ##服务使用的内部端口
remote_port = 54421 ##服务暴露到公网后使用的端口
custom_domains = web1.yuezq.com[Web2] ##服务标识,可随意写
type = http ##要暴露的协议
local_ip = 172.17.103.133 ##提供服务的内网主机的IP
local_port = 8060 ##服务使用的内部端口
remote_port = 54421 ##服务暴露到公网后使用的端口
custom_domains = web2.yuezq.com
注:与暴露TCP协议不同,使用FRP暴露HTTP/HTTPS协议时,可采用端口多路复用的方式。即一个外部端口可对应多个内部不同HTTP/HTTPS服务的端口,并通过在客户端配置文件中配置不同的域名来进行区分访问。
运行FRP客户端:
在当前FRP目录下,在上方地址栏中输入"cmd"并回车。将FRP客户端配置为开机自启:
制作批处理文件:
在FRP文件夹下新建一个"start.bat"文件,然后粘贴以下脚本后保存退出。
@echo off
:home
frpc -c frpc.ini
goto home
关闭Windows 7的休眠:
打开计划任务程序:
四、FRP连接测试:
访问FRP服务端的Web界面进行验证:
访问FRP客户端的Web界面进行验证:
在外网使用远程桌面工具进行连接:
远程桌面可成功登录:
声明:本文部分素材转载自互联网,如有侵权立即删除 。
今日好文推荐
GitHub上非常实用的40个开源JAVA项目
XShell收费太贵?快试试开源的NuShell,好用!
GET 和 POST请求的本质区别是什么?看完觉得自己太无知了...
MyBatis批量插入数据你还在用foreach?你们的服务器没崩?
点个在看少个 bug
使用 FRP 搭建内网穿透,流畅运行远程桌面!相关推荐
- Linux服务器配合Frp实现内网穿透使用windows远程桌面
前言: 我们在公司时,可以根据内网进行远程桌面连接,但由于公司网络一般都是分配内网ip,当我们在家的时候,想进行连接公司电脑,一般会使用1.teamviewer 2.向日葵,但是teamviewer用 ...
- FRP搭建内网穿透(亲测有效)
FRP搭建内网穿透 1.概述: frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机:frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在 ...
- CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑
CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 Day1 文章目录 CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 前言 一.服务器的安装与配置 面板: 二.客户端的安 ...
- FRP|利用FRP完成内网穿透进行windows远程连接的步骤汇总
文章目录 FRP|利用FRP完成内网穿透进行windows远程连接的步骤汇总 本次配置过程的前提: 服务端配置详情 客户端(windows电脑配置) FRP|利用FRP完成内网穿透进行windows远 ...
- 【免费内网穿透】Windows远程桌面连接树莓派
系列文章 [免费内网穿透]Windows远程桌面连接树莓派 使用固定的公网TCP端口地址远程桌面树莓派[内网穿透] 本篇文章主要分享如何在公网环境下,远程桌面连接家里的树莓派. 远程桌面环境,我们选择 ...
- FRP搭建内网穿透服务器畅游Internet互联网络
FRP相关概述: **版本号:**Version-0.38.0 **支持系统:**服务器支持:Windows Server 2008/2019 全版本系统支持: Windows XP:Windows ...
- 使用frp搭建内网穿透服务
什么是内网穿透?为什么要用内网穿透?内网穿透能做什么? 以上问题我只想说,如果你自己没有公网IP,但是你又想在公网上访问家里的服务,或者是在公司远程家里的电脑,那么你就需要内网穿透服务. 内网穿透需要 ...
- 保姆级教学 nps内网穿透实现Windows远程桌面 宝塔
因为自己算是一个纯小白,刚接触云服务器的时候看了很多教程,在frp和nps二者之间权衡之后选择了nps,我个人觉得nps要简单得多.作为一个资深的伸手党(其实不是),很多人仅仅是为了快速实现内 ...
- 【内网穿透服务器】利用云服务器+FRP实现内网穿透并远程连接服务器
应用目的:远程管理或在外网访问内网机器上的服务 这里我们是使用云服务器+FRP实现内网穿透,达到远程连接服务器的目的 准备工作 云服务器 这里我们租用的是腾讯云的服务器,类似于下图的这种,配置选择可以 ...
最新文章
- 用美颜照当广告犯法!要么就标注“照骗”,挪威针对明星网红出手了
- James 3.0 邮箱配置
- 外部链接linux下的mysql,Linux下mysql实现远程链接
- CentOs MySQL数据目录迁移
- it计算机知识竞赛主持稿,校园IT知识竞赛策划书
- 命令行修改mysql数据库密码
- mongodb自定义字段_MongoDB哈希分片
- 【论文解读】图文并茂带你细致了解ELMo的各种细节
- CSS设置中文字体无效乱码问题
- java可达性_可达性分析详解
- Bubble Babble Binary Data Encoding的简介以及bubblepy的安装使用方法
- 使用SQLyog导入EXCEL数据和合并数据表
- 投影向量=投影长度乘以单位向量
- [css] 积累(old)
- Review Troller
- openstack项目中遇到的各种问题总结 其一(问题多多)
- 海思技术交流论坛/知扬开源技术论坛
- XML注入:实战篇--MCIR的XMLmao模块0~1
- android有用的命令
- 趋势EA- 每单固定止损止盈