阿里云ECS利用反向代理 F#R#P 内@网@穿@透

  • FRP 服务端搭建
  • 内网PC 客户端搭设(windows版本)
    • 远程连接
  • 内网PC 客户端搭设(linux版本)
    • 远程连接
  • 过程问题
    • 1.Windows server2016远程桌面默认关闭 ,需要手动打开
    • 2. Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持
    • 阿里云ECS 端口开放
  • 开机自启
    • frp 服务端开机自启
    • frp 客户端(**linux**)开机自启
    • frp 客户端(**win**)开机自启

FRP 服务端搭建

有时候在外地要访问家里的电脑或者网络硬盘,没有固定IP怎么办呢?这时候就面临内网穿透需求了。*

内@网@穿@透

一般内@网@穿@透有哪些解决方法呢?一般有反向代理、动态域名等等。前者用的多有frp,后者有花生壳等。

  • frp,即本文所讲的。frp 是一个可用于内网穿透的高性能的反向代理应用。其官网链接为:https://github.com/fatedier/frp
  • sunny_ngrok,国外反向代理。
  • 花生壳,动态域名,通过解析域名和对应的IP地址。这个国产商业软件,要实名制,绝大多数产品是要付费的。

frp简介

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp
协议。其官网链接为:https://github.com/fatedier/frp

frp分为服务器端frps客户端frpc

准备条件

带公网IP的VPS服务器,假设IP地址是111.111.111.111。如果没有VPS服务器具体可以参考阿里云域名注册与备案、服务器ECS购买与登录.

  • 外网PC ACentOS7 。
  • 内网PC B Windows Server 2016 。
  • 内网PC C CentOS7 。

VPS服务器端搭设

  • 下载frps到服务器
frp_0.34.3_linux_arm64.tar.gz
https://github.com/fatedier/frp/releases
  • 修改服务器配置文件(frps.ini):
[common]
#与客户端绑定的进行通信的端口
bind_port = 7000
  • 启动frp命令:
./frps -c ./frps.ini &

内网PC 客户端搭设(windows版本)

  • 下载客户端的frp:

在这里 https://github.com/fatedier/frp/releases 找到对应版本的frp。
因为在服务器端是使用了0.16.0版本,所以需要找到对应版本下载。

  • 编辑frpc.ini文件
[common]
server_addr = 111.111.111.111
server_port = 7000
​
[RemoteDesktop]
#windows下使用远程桌面
type = tcp
local_addr = 127.0.0.1
local_port = 3389
remote_port = 7002
  • 启动frp客户端frpc:

找到frpc.exe对应文件夹,在其地址栏输入cmd,则进入以该文件夹为路径的cmd命令行。在命令行下输入以下命令即可启动。

frpc -c frpc.ini

远程连接

外网PC在命令行下输入mstsc,启动远程桌面

在远程桌面的计算机输入框中,输入VPS对应ip及客户端frpc.ini中对应的remote_port。

在这里则是111.111.111.111:7002

内网PC 客户端搭设(linux版本)

  • 下载客户端的frp:

在这里 https://github.com/fatedier/frp/releases 找到对应版本的frp。

  • 编辑frpc.ini文件
[common]
server_addr = 111.111.111.111
server_port = 7000
​
[ssh1]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7003


  • 启动frpc客户端。
./frpc -c ./frpc.ini &

远程连接

外网电脑ssh登录内网PC,输入命令为

ssh -p 7003 root@111.111.111.111

其中 -p为端口号,登录用户名为root。

假若已经保存了秘钥文件id_rsa,可以用-i 指定秘钥文件

ssh -p 7003  root@111.111.111.111 -i id_rsa

过程问题

1.Windows server2016远程桌面默认关闭 ,需要手动打开

2. Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持


修改win10 注册表

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

然后在System文件夹内创建文件夹项:\CredSSP\Parameters

然后在Parameters文件夹内,新建 DWORD(32)位值(D),文件名为 AllowEncryptionOracle,值为2

重新远程连接一下,错误消失,可以正常连接

阿里云ECS 端口开放

  1. 7000 frp 服务端使用的端口
  2. 7002 frp 客户端(win)连接使用的端口
  3. 7003 frp 客户端(linux)连接使用的端口

开机自启

frp 服务端开机自启

创建服务文件

sudo vim /etc/systemd/system/frpc.service

填入如下信息,ExecStart请自行替换

[Unit]
Description=Frp Client
After=network.target
Wants=network.target[Service]
Restart=on-failure
RestartSec=5
ExecStart=/root/frp/frp_0.34.3_linux_amd64/frps -c /root/frp/frp_0.34.3_linux_amd64/frps.ini[Install]
WantedBy=multi-user.target
#刷新服务列表:
systemctl daemon-reload#设置开机自启
systemctl enable frpc
#关闭开机自启
systemctl disable frpc#启动服务
systemctl start frpc
#停止服务
systemctl stop frpc

frp 客户端(linux)开机自启

同上

frp 客户端(win)开机自启

方法一:

创建一个快捷方式到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
里面 这个方法最大缺点是电脑要登录后才能连接,所以一般不用这个方法

方法二:

用计划任务实现,方法看这里 http://diannaobos.com/post/405.html

方法三:

用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

阿里云服务器ECS利用反向代理FRP内网穿透相关推荐

  1. 阿里云服务器访问windows下网页(内网穿透)

    最近在阿里云服务器上运行一个jar包,需要将运行后的结果传输到windows下网页http://localhost:8080/xxx,然后在idea中打印下来.阿里云上要运行的jar包的配置文件中写的 ...

  2. 利用EW代理实现内网穿透

    利用EW代理实现内网穿透 环境: 攻击机:kali ip192.168.32.132 中间机:win7 ip 192.168.32.128 ip2 192.168.1.3 假定为公网vps 内网主机: ...

  3. python内网穿透 开源_反向代理和内网穿透

    概念 反向代理看上去看深奥,其实不然,只是因为汉语言文化的差异导致它看上去深奥.一般反派感觉都比较厉害和神秘. 要理解反向代理,我们就不得不说一下正向代理. 正向代理 (Forward Proxy) ...

  4. 云服务器+RD Client+win系统实现内网穿透远程控制电脑

    乌鱼子,校园网ip居然不能用来RD远程控制,那就干脆实现以下不在同一局域网下的远程控制 所需材料 云服务器(此处使用阿里云服务器) 被远程控制的电脑 RD Client 进行远程控制的设备 电脑如何开 ...

  5. 利用autossh反向代理实现内网穿透

    一.所需环境 本文的主要目的就是使一台可以连接外网但是不具有公网IP的linux主机可以通过公网IP进行连接 PC1 : 一台可以连接公网但是没有公网IP的linux主机 PC2 :一台具有公网IP的 ...

  6. 基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)

    文章目录 前言 环境准备 蚂蚁笔记(Leanote)介绍 一.设置安全组.配置规则 二.安装 Leanote 二进制版 三.安装MongoDB 四.导入Leanote初始数据 五.配置 Leanote ...

  7. 企业版阿里云服务器ECS应该如何使用?

    国内云服务商中,阿里云服务器的口碑可以说是数一数二的了,因此很多企业在建站时都会首先考虑到阿里云服务器.所以,服务器吧小编今天就带大家来深入学习一下阿里云企业版云服务器ECS的使用方法. 阿里云企业版 ...

  8. 阿里云服务器ECS与传统服务器有哪些区别?

    阿里云服务器ECS与传统服务器有哪些区别?下面为您列出对比表! 重要区别 一.弹性扩展 传统IT信息化模式下,对服务器等设备的选择,基本是参照使用期限内最大需求的原则来选择的,比如:在3年内,要满足1 ...

  9. 购买阿里云服务器ECS快速上云

    购买阿里云服务器ECS快速上云 阿里云 阿里云优惠券 新用户专享阿里云上云必备 选购 个人上云中选择一个,点击立即购买 加入购物车,由于我不是新用户,价格有所区别 进入购物车选择立即购买 确认购买 支 ...

最新文章

  1. java和c++的区别大吗_安徽成人高考和自考区别大吗?为什么推荐选成人高考?
  2. [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
  3. mysql 5.5 重新编译_源码编译mysql5.5过程记录
  4. java dao service实例_浅谈Action+Service +Dao 功能
  5. 20159320《网络攻防实践》第5周教材总结
  6. 使用C# 未解决的问题(VS2012)
  7. [转]研究生阶段学习规划指导随笔
  8. 事情没有想象中那么难--JX官网首页3D粒子效果
  9. 量子计算机解ns方程,量子计算机可解方程组
  10. STM32的PC13、PC14、PC15用作普通IO口设置方法
  11. html中th与thead的详细区别
  12. PAT 1058 选择题 python
  13. Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
  14. 怎样在线制作视频二维码?多种类型二维码一键生成技巧
  15. foxmail7.2导入地址簿
  16. python 爬虫 JA3 指纹 TCL SSL 安全证书问题
  17. pandas 终极版1:创建和查看DataFrame数据 mysql读取数据
  18. IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2
  19. ROS古月资料学习之ROS简介
  20. 德国基尔大学 计算机系,德国基尔大学强大的学术能力介绍

热门文章

  1. 解决Themida加壳程序在VMware虚拟机无法运行问题_HS_TMD 开游戏
  2. 互联网公司实际部署平台-协作平台
  3. c语言樱花飘落代码_用Python画一棵漂亮的樱花树,给女友惊喜
  4. AltiumDesigner PCB设计规则
  5. sam音高修正_音乐中的音高修正简史
  6. QML显示摄像头视频的解决方案
  7. 创业开公司必备的100个注意事项
  8. 计算机网络笔记手写板,电脑手写板怎么使用?莫慌!手把手教学来了
  9. 使用Java实现微信小程序订阅消息
  10. 安卓期末作品简单_小东说:写ios和安卓系统的人到底有多牛?