内网穿透,搭建frp服务器,连接内网3389远程桌面

2023-10-29 07:48

本文主要是介绍内网穿透,搭建frp服务器,连接内网3389远程桌面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、业务场景


装备情况如下:

一台腾讯云服务器(CentOS7.6) 有公网IP。
一台内网家庭版 Win7电脑
一个二级域名,已解析到公网IP。

需求:通过域名或IP可以通过远程桌面连接访问 家里内网的Win7电脑

 

二、为什么选择 frp


开源,维护频繁。
支持 TCP、UDP、HTTP、HTTPS、STCP 等协议。
GoLang开发占用内存小,代理稳定。
配置简单方便,自定义插件化配置以及可开发自己业务需求的插件。
提供安全地暴露内网服务、加密与压缩、底层通信可选 kcp 协议、端口复用、负载均衡、健康检查、URL 路由、范围端口映射、请求的 header处理等众多功能。

 

三、准备工作


首先你需要一个服务器,我的是腾讯云主机。

进行重装系统(为了避免不必要麻烦,非必须),选择CentOS。

然后设置域名(用在内网穿透)指向你的 服务器IP。

我的是使用了一个二级域名和多个三级域名,即 frp.****.com 和 *.frp.***.com (这里填你自己的域名) 都使用A记录指向***.***.***.***(这里填你自己的公网ip)。

 

四.服务端(腾讯云服务器)配置

(1)开始安装


先去GitHub看看最新版本:https://github.com/fatedier/frp/releases
当前教程使用版本为:v0.36.2。

cd /usr/download# 下载frp可执行包
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz# 解压
tar -zxvf frp_0.36.2_linux_amd64.tar.gz# 进入文件
cd frp_0.36.2_linux_amd64/# 修改配置
vim frps.ini # 内容如下:
[common]
# tunnel port通信管道
bind_port = 7000# http和https转发配置
vhost_http_port = 80
vhost_https_port = 443
# 连接认证token,客户端与服务端必须保持一致
token = 123456# 子域名  换成你自己的域名
subdomain_host = frp.****.com# 自定义404 页面,要用绝对路径哦!
custom_404_page = /var/www/404.html# dashboard图形管理页面
dashboard_port = 81 dashboard_user = admin
dashboard_pwd = admin# ---设置完成----# 启动
./frps -c frps.ini



更多参数请参考:Frp官方中文文档

(2)配置服务自启动

 

# 创建后台启动模版
vim /etc/systemd/system/frps.service# 内容如下:
[Unit]
Description=frps
After=network.target[Service]
ExecStart=/usr/download/frp_0.36.2_linux_amd64/frps -c /usr/download/frp_0.36.2_linux_amd64/frps.ini [Install]
WantedBy=multi-user.target# 启动测试
systemctl start frps.service
# 查看启动状态
systemctl status frps.service
# 开机自启
systemctl enable frps.service

五.客户端Win7电脑配置
 

解压frp_0.36.2_windows_amd64.zip使用Notepad++打开  frpc.ini# 修改内容如下:[common]
#改成自己的域名
server_addr = frp.****.com
server_port = 7000
# 如果服务端设置了token,这里也要加上,两者保持一致
token = 123456# 内网穿透名称
[web]
# 协议为http(即80端口)
type = http
# 内部映射的IP
local_ip =127.0.0.1
# 内部映射为80端口
local_port = 80
# 远程端口不用设置,只能沿用frps下vhost_http_port
# 映射域名为 http://wd.frp.****.com
subdomain = wd
# 或者直接指定全域名(你只需要将域名解析到服务器上)
# custom_domains = blog.****.com[rdp1]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
# 远程端口
remote_port = 7089#[ssh1]
#type = tcp
#local_ip = 127.0.0.1
#local_port = 22
# 远程端口
#remote_port =2201

OK  cmd下启动服务,如下

 

 

测试一下,远程连接,连接成功!

 

 

这篇关于内网穿透,搭建frp服务器,连接内网3389远程桌面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299253

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域