搭建背景

运营商的给个人的动态ip繁琐又很贵,而且不能使用一些特定端口,因此这里有一种方便的方案。即云服务器+frp的方式做内网穿透转发。

注意:请合理使用,禁止用于传播一切非法信息。

环境

阿里云服务端为linux系统环境,具体为Alibaba Cloud 3 (OpenAnolis Edition) x86_64(Py3.7.16)

客户端环境为windows

软件下载

frp软件

地址:https://github.com/fatedier/frp/releases,选择如图所示的即可。

windows客户端

我这里选用的是FRP Manager

地址:https://github.com/koho/frpmgr/releases,选择如图所示即可

服务器安装frp

我这里参考的是:https://gofrp.org/zh-cn/docs/setup/

上传软件

将下载好的frp软件上传到服务器的某个地址下,如图

解压

运行命令解压

tar -zxvf frp_0.64.0_linux_amd64.tar.gz

修改配置

运行命令进行修改配置

cd frp_0.64.0_linux_amd64/
vim frps.toml

配置文件示例

bindPort = 9000
auth.token = "yourtoken"
webServer.addr = "0.0.0.0"
webServer.port = 9001
webServer.user = "admin"
webServer.password = "yourpassword"

配置文件的配置项说明地址:https://gofrp.org/zh-cn/docs/reference/server-configures/

添加frp的系统服务

运行命令添加系统服务,这样就可以使用systemd或者systemctl命令来管理服务,并且可以配置开机自启动

vim /etc/systemd/system/frps.service

frps.service示例

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /yourpath/frp_0.64.0_linux_amd64/frps -c /yourpath/frp_0.64.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps

设置开机自启动

systemctl enable frps

注意,如果启动等命令和开机自启命令提示无权限,可以在命令前面添加sudo提升权限再试

浏览器访问面板

访问地址:http://你的云服务的ip:9001

用户名:admin

密码:yourpassword

这里的端口,用户名和密码在前面的配置文件中配置。

windows客户端连接

FRP Manager安装后如图,我这里已经连配置连接了两个服务器上的frp了。

image-vGlQ.png

新建客户端连接服务器配置

  1. 名称随便填;

  2. 服务器就是你的云服务ip;

  3. 端口是9000或者配置文件中的自定义bindPort的端口;

  4. 用户名和STUN服务可以不填写。

认证

认证方式:token

令牌是yourtoken,或者配置文件中自定义auth.token 的令牌

其他不用管

之后点击运行即可连接服务。

端口穿透转发配置

  • 点击添加

填写本地需要转发代理的服务信息

注意:如果发现端口等转发失败等,请检查各端口是否配置在了防火墙白名单和阿里云安全组中。