阿里云服务器ECS利用反向代理FRP内网穿透
阿里云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 端口开放
- 7000 frp 服务端使用的端口
- 7002 frp 客户端(win)连接使用的端口
- 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内网穿透相关推荐
- 阿里云服务器访问windows下网页(内网穿透)
最近在阿里云服务器上运行一个jar包,需要将运行后的结果传输到windows下网页http://localhost:8080/xxx,然后在idea中打印下来.阿里云上要运行的jar包的配置文件中写的 ...
- 利用EW代理实现内网穿透
利用EW代理实现内网穿透 环境: 攻击机:kali ip192.168.32.132 中间机:win7 ip 192.168.32.128 ip2 192.168.1.3 假定为公网vps 内网主机: ...
- python内网穿透 开源_反向代理和内网穿透
概念 反向代理看上去看深奥,其实不然,只是因为汉语言文化的差异导致它看上去深奥.一般反派感觉都比较厉害和神秘. 要理解反向代理,我们就不得不说一下正向代理. 正向代理 (Forward Proxy) ...
- 云服务器+RD Client+win系统实现内网穿透远程控制电脑
乌鱼子,校园网ip居然不能用来RD远程控制,那就干脆实现以下不在同一局域网下的远程控制 所需材料 云服务器(此处使用阿里云服务器) 被远程控制的电脑 RD Client 进行远程控制的设备 电脑如何开 ...
- 利用autossh反向代理实现内网穿透
一.所需环境 本文的主要目的就是使一台可以连接外网但是不具有公网IP的linux主机可以通过公网IP进行连接 PC1 : 一台可以连接公网但是没有公网IP的linux主机 PC2 :一台具有公网IP的 ...
- 基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)
文章目录 前言 环境准备 蚂蚁笔记(Leanote)介绍 一.设置安全组.配置规则 二.安装 Leanote 二进制版 三.安装MongoDB 四.导入Leanote初始数据 五.配置 Leanote ...
- 企业版阿里云服务器ECS应该如何使用?
国内云服务商中,阿里云服务器的口碑可以说是数一数二的了,因此很多企业在建站时都会首先考虑到阿里云服务器.所以,服务器吧小编今天就带大家来深入学习一下阿里云企业版云服务器ECS的使用方法. 阿里云企业版 ...
- 阿里云服务器ECS与传统服务器有哪些区别?
阿里云服务器ECS与传统服务器有哪些区别?下面为您列出对比表! 重要区别 一.弹性扩展 传统IT信息化模式下,对服务器等设备的选择,基本是参照使用期限内最大需求的原则来选择的,比如:在3年内,要满足1 ...
- 购买阿里云服务器ECS快速上云
购买阿里云服务器ECS快速上云 阿里云 阿里云优惠券 新用户专享阿里云上云必备 选购 个人上云中选择一个,点击立即购买 加入购物车,由于我不是新用户,价格有所区别 进入购物车选择立即购买 确认购买 支 ...
最新文章
- java和c++的区别大吗_安徽成人高考和自考区别大吗?为什么推荐选成人高考?
- [论文笔记] Towards an integrated crowdsourcing definition (Journal of Information Science, 2012)
- mysql 5.5 重新编译_源码编译mysql5.5过程记录
- java dao service实例_浅谈Action+Service +Dao 功能
- 20159320《网络攻防实践》第5周教材总结
- 使用C# 未解决的问题(VS2012)
- [转]研究生阶段学习规划指导随笔
- 事情没有想象中那么难--JX官网首页3D粒子效果
- 量子计算机解ns方程,量子计算机可解方程组
- STM32的PC13、PC14、PC15用作普通IO口设置方法
- html中th与thead的详细区别
- PAT 1058 选择题 python
- Java Base64 加密解密 (数据加密或解决手机Emoji表情被数据库过滤掉的问题)
- 怎样在线制作视频二维码?多种类型二维码一键生成技巧
- foxmail7.2导入地址簿
- python 爬虫 JA3 指纹 TCL SSL 安全证书问题
- pandas 终极版1:创建和查看DataFrame数据 mysql读取数据
- IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2
- ROS古月资料学习之ROS简介
- 德国基尔大学 计算机系,德国基尔大学强大的学术能力介绍