1.实现原理:
2.购买阿里云服务器
领取学生三百元券,可以免费买一年的服务器
2024年阿里云免费云服务器及学生三百通用额度申请教程参考-阿里云开发者社区
点领取链接,登录完成学生认证即可领取
然后进入阿里云官网首页 阿里云-计算,为了无法计算的价值
产品->云服务器ECS
自定义购买->包年包月->地区(选自己所在地)
x86架构,选第一款经济型
镜像选择Centos 7.9 64位
存储保持默认即可
宽带和安全组
管理设置,自定义密码,登录名root
时长选1年,优惠券记得用上,一年价格284.99 < 300,因此可以免费用1年
补充:购买后怎么查看服务器信息
点击右上角的控制台
鼠标悬停在左上角橙色标志上,点击云服务器ECS
即可看到服务器信息,包括服务器公网ip等等
在这里可以开/关服务器,也可以远程连接,即通过控制台来控制服务器
点击远程连接,选择通过Workbench远程连接,点立即登录
用户名为root,密码为刚刚购买服务器填入的自定义密码,即可登录到服务器控制台
至此,服务器这边的工作已完成
3.frp服务器搭建
首先,先去frp官网下载服务器和客户端需要用到的安装包 https://github.com/fatedier/frp/releases
找到0.33.0版本,点击Assets即可看到安装包
下载以下两个安装包,linux版本用于服务器,windows版本用于本机
然后把linux安装包上传到阿里云服务器中
文件->打开新文件管理
先单击root,再点上传文件,把frp的linux安装包传入即可
关闭这个文件管理,就可以回到刚才的命令行
以下操作均在服务器控制台输入
解压trp安装包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
解压后,进入这个目录
cd frp_0.33.0_linux_amd64/
编辑frps.ini文件,注意这里是frps.ini,不是frpc.ini
vi frps.ini
打开文件后,按i进入编辑模式,将内容修改为以下,bind_port的值可以自定义,其他保持不变
dashboard可以在浏览器查看服务器连接情况,具体使用方式后面会介绍
[common]
bind_port = 7001
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
编辑完后按ESC键,再输入:wq即可保存退出
服务器端运行frp
./frps -c frps.ini
出现以下信息表示运行成功
服务器开始监听7001端口,并且在公网ip:7500端口可以看到服务器连接情况
打开浏览器,输入8.138.185.206:7500即可看到
输入刚刚设置的dashboard_user和dashboard_pwd
就可以看到连接情况
Client Counts的值表示客户端连接的数量,此时应该为0,这里为1是因为客户端已经连接上了服务器
4.frp客户端连接服务器
在客户端(本机)安装frp,首先先把刚刚下载的frp的windows安装包,解压到一个目录下
然后右键编辑frpc.ini文件,注意这里是frpc.ini不是frps.ini
server_add填入服务器的公网ip
server_port填入刚刚在frps.ini设置的bind_port值
romote_port填入一个自定义的端口值,远程桌面可以通过 公网ip:romote_port 来连接
例如8.138.185.206:13145
[common]
tls_enable = true
server_addr = 8.138.185.206
server_port = 7001
[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13145
编辑完后,在文件夹地址栏输入cmd按回车
再在控制台输入
frpc -c frpc.ini
提示以下信息表示连接成功
同时服务器也会多出几行连接信息
至此,客户端已连接上服务器
5.远程登录
在另一台电脑上打开远程桌面
输入 公网ip:remote_port,点击连接
弹出确认窗口,选择是即可顺利连接
进入后,然后输入所连接客户端的microsoft账户的密码即可远程操作
6.服务器自启frps
服务器打开新文件管理
首先在云服务的/usr/lib/systemd/system目录下创建一个文件frps.service
编辑内容
这里只需把/root下的frp_0.33.0_linux_amd64文件夹更名为frp即可
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini
[Install]
WantedBy=multi-user.target
保存后,在服务器控制台输入一下命令
连接服务器
systemctl start frps
打开远程连接控制台自启动frps,若关闭了服务器,会断开客户端与服务器的连接,即服务器不再监听7001端口,此时只需要在服务器信息那点远程连接,登录到控制台后就会自启动frps,不用再像一开始一样,先cd到frp目录,再运行frps.ini;若只是关闭浏览器,不会断开客户端与服务器的连接
systemctl enable frps
7.客户端开机自启frpc
下载一个winsw.exe https://github.com/winsw/winsw/releases
选择WinSW.NET4.exe
创建一个scripts文件夹(名字可自定义),放入WinSW.NET4.exe,更名为winsw.exe,然后创建一个logs文件夹(空文件即可),和winsw.xml文件
编辑winsw.xml
仅需修改<executable>和<arguments>标签
即将frpc.exe和frpc.ini前面的地址修改后该文件所在文件夹即可
<service>
<!-- 该服务的唯一标识 -->
<id>frpc</id>
<!-- 该服务的名称 -->
<name>frpc_0.33.0-windows-amd64</name>
<!-- 该服务的描述 -->
<description>frp内网穿透-客户端</description>
<!-- 要运行的程序路径 -->
<executable>E:\frp\frp_0.33.0_windows_amd64\frpc.exe</executable>
<!-- 携带的参数 -->
<arguments>-c E:\frp\frp_0.33.0_windows_amd64\frpc.ini</arguments>
<!-- 第一次启动失败 15秒重启 -->
<onfailure action="restart" delay="15 sec"/>
<!-- 第二次启动失败 30秒后重启 -->
<onfailure action="restart" delay="30 sec"/>
<!-- 日志模式 -->
<logmode>append</logmode>
<!-- 指定日志文件目录(相对于executable配置的路径) -->
<logpath>logs</logpath>
</service>
编辑完后,在scripts文件夹的地址栏中输入cmd
在控制台输入
.\winsw.exe install
即可安装,安装成功命令行会提示成功success信息
然后win+R输入services.msc
找到frp,右键点击启动即可
后续电脑开机后便会自动启动frpc,注意电脑需要联网后才能连接服务器