搭建背景
运营商的给个人的动态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了。

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


- 名称随便填;
- 服务器就是你的云服务ip;
- 端口是9000或者配置文件中的自定义
bindPort的端口; - 用户名和STUN服务可以不填写。
认证


认证方式:token
令牌是yourtoken,或者配置文件中自定义 auth.token 的令牌
其他不用管
之后点击运行即可连接服务。
端口穿透转发配置
- 点击添加


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


注意:如果发现端口等转发失败等,请检查各端口是否配置在了防火墙白名单和阿里云安全组中。
linux链接客户端
一样的根据这个地址下的下载软件就行:地址:https://github.com/fatedier/frp/releases
配置文件一改就ok


serverAddr:服务器地址
serverPort:搭建frp服务器的时候开启的端口,默认7000
auth.token:搭建frp服务器时候的token
[[proxies]]
name:穿透名称
type:协议类型,我只用过tcp,其他的需要自行摸索
localIP:本机内网环境的ip
localPort:你需要穿透访问的端口
remotePort:服务器穿透访问的端口
启动命令:
./frpc -c frp.toml