centos—frp搭建
Frp
FRP作为内网穿透技术,是一个开源、简洁易用、高性能的反向代理应用。它支持TCP、UDP、HTTP、HTTPS等多种协议,能够将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。FRP由fatedier团队开发,采用Golang语言编写,支持跨平台部署和使用。它的原理是利用反向代理技术将公网请求转发至内网服务器上,并将内网服务器的响应再次转发至公网请求者。
准备
这里写的是用centos搭建frp,所以我搞了一台每个月4块3毛5的服务器
地点US,仅用于本站的frps节点。
服务器测试数据如下
看样子还不错吧,4块钱也不求什么自行车了,做个网络转发还是可以的。
frps搭建
官网链接,自己去里面看全部文档,这里仅展示个过程。frp (gofrp.org)
因为我的服务器是Centos系统的,属于linux,所以我从他Release里面下载了对应的版本。
我下载了目前最新版的“frp_0.56.0_linux_amd64”
下载后的文件,frps是服务端,frpc是客户端,这里我们先用frps。
为了方便,直接用一个shell软件上传了。
这里我在根目录创建了一个frp文件夹,然后把frps和frps.toml上传上去。
然后编辑frps.toml
bindPort = 7000
auth.token ="token"
vhostHTTPPort = 80
vhostHTTPSPort = 443
自己把“token”中的token改成自己的密码,后面对接要用。
然后测试一下./frps -c ./frps.toml
这个能不能用
先cd /frp 进目录 执行上面那个代码
然后发现权限不足,我这直接给他所有权限。
再次执行一下看看,
ok能运行
然后ctrl+c取消一下运行
我们去用其他方式运行他
我们用systemd
来运行他。
先安装一下
yum install systemd
然后使用文本编辑器 (如 vim) 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
sudo vim /etc/systemd/system/frps.service
我这遇到vim没安装
我们执行yum install vim
去安装一下
安装完毕后我们再次执行一下刚刚那个代码
vim小知识:键盘属于英文状态,按“i”就是编辑模式,如果想要退出编辑模式,按“Esc”+“:”+“wq”,也就是“Esc+:+wq”
如果还是看不懂可以去搜一下vim用法
我们粘贴下面这个代码进去
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /frp/frps -c /frp/frps.toml
[Install]
WantedBy = multi-user.target
退出保存
使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
设置 frps 开机自启动
sudo systemctl enable frps
OK,frps就搭建好了。
frpc搭建
这里我的主服务器用的也是Centos系统,所以刚刚下载的“frp_0.56.0_linux_amd64”中,直接用frpc和frpc.toml文件就行了
同理,我在根目录创建了frp文件夹,后面这个frp3只是我作为第三个节点的名称,可以忽略
然后我们编辑frpc.toml
因为我用这个frp只是作为http的转发,所以就只添加相关代码。
如果需要实现其他功能,可以去官方文档里面找。
serverAddr = "x.x.x.x"
serverPort = 7000
auth.token = "token"
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["www.yourdomain.com"]
[[proxies]]
name = "web2"
type = "http"
localPort = 8080
customDomains = ["www.yourdomain2.com"]
OK,我的大概长这样
保存好,然后测试一下
又遇到权限不足,我们直接满足它。
OK,看样子可以的。
ctrl+c 关闭一下它,我们用frps同样的方式来运行它。
我们用systemd
来运行他。
先安装一下
yum install systemd
然后使用文本编辑器 (如 vim) 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
sudo vim /etc/systemd/system/frpc.service
我这遇到vim没安装
我们执行yum install vim
去安装一下
安装完毕后我们再次执行一下刚刚那个代码
vim小知识:键盘属于英文状态,按“i”就是编辑模式,如果想要退出编辑模式,按“Esc”+“:”+“wq”,也就是“Esc+:+wq”
如果还是看不懂可以去搜一下vim用法
我们粘贴下面这个代码进去
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /frp/frpc -c /frp/frpc.toml
[Install]
WantedBy = multi-user.target
退出保存
使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frpc
# 重启frp
sudo systemctl restart frpc
# 查看frp状态
sudo systemctl status frpc
设置 frpc 开机自启动
sudo systemctl enable frpc
OK,frpc就搭建好了。