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

第一步:购买阿里云服务器,由于是学生,可以享受学生价9.5元每月。(阿里云翼计划:https://promotion.aliyun.com/ntms/act/campus2018.html?userCode=40juv3zh)。如果不是学生可以先领取优惠卷后再购买(优惠卷链接: https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=40juv3zh

第二步:搭建云服务器,设置系统和登录密码。这里我选择的ubuntu系统

服务器操作:

首先登录系统,从网上下载frp软件:wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz

解压:tar -zxvf frp_0.24.1_linux_amd64.tar.gz

重命名:mv frp_0.24.1_linux_amd64 frp

配置文件:vim frps.ini

[common]
#服务器开放的端口
bind_port =

服务器段需要设置两个端口入站规则:注意是两个端口:7000和6000,其中6000是在客户端的端口。

启动服务:

cd frp

nohup frp/frps -c frp/frps.ini

客服端配置(个人电脑):

软件下载地址:https://github.com/fatedier/frp/releases/

由于客户端是windows所以下载选择:

同样解压,然后配置frpc.ini文件

[common]
server_addr = 你自己服务器端ip(公网ip)
server_port = 7000 #对应服务器配置中的端口 [ssh]
type = tcp
local_ip = 自己电脑的ip
local_port = 3389
remote_port = 6000

客服端添加端口出站规则:将端口3389添加到出站规则中

在Dos中启动服务:win+R 输入cmd

需要先进入frp目录后执行如下操作:

frpc -c frpc.ini

至此,配置已经完成,可以在外网电脑通过实现远程桌面内网电脑。

远程桌面的地址:126.*.*.47(阿里云服务公网IP):6000(端口号,remote_port)

如果需要配置多个客服端,映射到同一个公网IP,则需要:特殊配置,ssh名称和端口均不能相同

内网机器1:
[ssh] <==不同点
type = tcp
local_ip = 内网机器1的ip地址
local_port =
remote_port = <==不同点 内网机器2:
[ssh1] <==不同点
type = tcp
local_ip = 内网机器2的ip地址
local_port =
remote_port = <==不同点

服务器一般不会经常重启,但是自己的电脑涉及到经常重启问题,所以需要设置开启自启动客户端frpc:

用winsw将frp注册为系统服务

下载winsw https://github.com/kohsuke/winsw/releases ,改名为winsw.exe,放到frp相同的目录里,并在同一个目录里创建一个utf8编码的文本文件,文件名是 winsw.xml,内容是:

<service>
<id>frp</id>
<name>frp这里是服务的名称</name>
<description>这里是服务的介绍,随便写</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>
</service>

启动:以管理员权限打开一个命令窗口,cd到frp所在目录,执行:

winsw install
winsw start
如果要卸载服务,执行命令:
winsw stop
winsw uninstall

利用阿里云搭建frp实现外网远程桌面链接内网电脑的更多相关文章

  1. 阿里云ECS linux通过rinetd 端口转发来访问内网服务

    一.场景说明: 可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.r ...

  2. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  3. SSH反向连接让外网也可远程访问内网机器

    最近把树莓派折腾了一番,放在了家里,但是家里是内网,出门在外,不方便直接ssh上来,于是请教了秦兄,指点迷津,发现SSH反向链接可以实现这个功能. 1. ssh反向链接的概念 A主机:外网,ip:11 ...

  4. 傻瓜式教学--win10 + frp + rdpwrap + 阿里云服务器 --实现win10 多用户同时远程登录内网机

    概述: 使用win10 专业版 + frp + RDPwrap + 阿里云服务器 的组合实现win10 多用户同时远程登录内网机.使用frp 做内网穿透,将内网机的指定端口暴露在外网,通过ip+por ...

  5. 利用阿里云如何开发一款直播app?

    在开发的过程中应该注意些什么?下面让小编告诉你: 随着互联网的发展,越来越多的人已经加入互联网的行列.而且很多的人也开始直播,和众多的网友分享自己身边事情.互联网还在加速发展,从PC互联网,到移动互联 ...

  6. 阿里云搭建elk

    参考了阿里云搭建ELK日志平台安装过程. 系统环境 阿里云ECS 2C2G CentOS 7.6 请确保机器配置至少4G!!! 配置秘钥 1.下载并安装公共签名密钥 [root@aliplay ~]# ...

  7. 利用阿里云容器服务打通TensorFlow持续训练链路

    本系列将利用Docker和阿里云容器服务,帮助您上手TensorFlow的机器学习方案 第一篇:打造TensorFlow的实验环境 第二篇:轻松搭建TensorFlow Serving集群 第三篇:打 ...

  8. 阿里云搭建git服务器

    阿里云服务器环境: CentOS7.0 jdk1.8.0 jre1.8.0 RAM:1G SWAP:3G MEM:40G apache-tomcat 8.0 1.下载gitlab-ce 11.0 到本 ...

  9. 实现外网远程桌面内网的电脑和外网访问内网的FTP

     基于之前两篇文章搭建了ngrok实现了内网穿透,用过了http和https的协议完成了外网访问内网的网站,这一篇教大家用tcp协议实现外网远程桌面内网的电脑和外网访问内网的FTP. 一.外网远程桌面 ...

随机推荐

  1. MongoDB集群管理常用命令

    1.以admin身份登录yqtrack_gather01库: mongo 127.0.0.1:27017/yqtrack_gather01 -u username -p password --auth ...

  2. Python中eval函数的作用

    eval eval函数就是实现list.dict.tuple与str之间的转化str函数把list,dict,tuple转为为字符串# 字符串转换成列表a = "[[1,2], [3,4], ...

  3. [SDOI2013]森林 主席树+启发式合并

    这题的想法真的很妙啊. 看到题的第一眼,我先想到树链剖分,并把\(DFS\)序当成一段区间上主席树.但是会发现在询问的时候,可能会非常复杂,因为你需要把路径拆成很多条轻链和重链,它们还不一定连续,很难 ...

  4. MySQL8.0.19主从环境搭建(CentOS7)

    默认情况下,复制是异步的,从站不需要永久连接以接收来自主站的更新.根据配置,您可以复制数据库中的所有数据库,所选数据库甚至选定的表. MySQL中复制的优点包括: 横向扩展解决方案 - 在多个从站之间 ...

  5. 浅谈Kubernetes生产架构

    注意本文,只是笔者针对Kubernetes生产环境运行的一些关于架构设计和实现方案的总结,内容很粗糙,同时也会不断完善. 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下 ...

  6. Redis非关系型数据库

    1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...

  7. sed命令(二)

    转自:https://www.cnblogs.com/maxincai/p/5146338.html sed命令用法 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用, ...

  8. 使用Docker安装Nginx

    启动命令 docker run -d -p : --name nginx -v $PWD/nginx.conf:/etc/nginx/nginx.conf -v $PWD/conf.d/:/etc/n ...

  9. python3 练手实例8 批量命名图片

    #coding:utf-8 import os import tkinter as tk from tkinter import filedialog root = tk.Tk() root.with ...

  10. DS博客作业02—线性表

    1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2.谈谈你对线性表的认识及学习体会. 线性表最重要的就是对指针的操作,插入删除都是看指针的指向进行操作以达到改变节点,以达到目的的.对于上学 ...