300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 阿里云服务器ECS利用反向代理FRP内网穿透

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

时间:2020-02-13 20:11:07

相关推荐

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

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

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

FRP 服务端搭建

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

内@网@穿@透

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

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

frp简介

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp

协议。其官网链接为:/fatedier/frp

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

准备条件

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

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

VPS服务器端搭设

下载frps到服务器

frp_0.34.3_linux_arm64.tar.gz/fatedier/frp/releases

修改服务器配置文件(frps.ini):

[common]#与客户端绑定的进行通信的端口bind_port = 7000

启动frp命令:

./frps -c ./frps.ini &

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

下载客户端的frp:

在这里 /fatedier/frp/releases 找到对应版本的frp。

因为在服务器端是使用了0.16.0版本,所以需要找到对应版本下载。

编辑frpc.ini文件

[common]server_addr = 111.111.111.111server_port = 7000​[RemoteDesktop]#windows下使用远程桌面type = tcplocal_addr = 127.0.0.1local_port = 3389remote_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:

在这里 /fatedier/frp/releases 找到对应版本的frp。

编辑frpc.ini文件

[common]server_addr = 111.111.111.111server_port = 7000​[ssh1]type = tcplocal_ip = 127.0.0.1local_port = 22remote_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 server远程桌面默认关闭 ,需要手动打开

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

修改win10 注册表

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

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

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

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

阿里云ECS 端口开放

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

开机自启

frp 服务端开机自启

创建服务文件

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

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

[Unit]Description=Frp ClientAfter=network.targetWants=network.target[Service]Restart=on-failureRestartSec=5ExecStart=/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

里面 这个方法最大缺点是电脑要登录后才能连接,所以一般不用这个方法

方法二:

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

方法三:

用winsw将frp注册为系统服务 这个方法最稳定,这是我最终用的方法。 下载winsw

/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 installwinsw start

如果要卸载服务,执行命令:

winsw stopwinsw uninstall

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。