title: 通过FRP实现本地服务器连接互联网(内网穿透)
date: 2024-09-03 00:00:36
tags:计算机网络
2024-09-03 00:00:36
为什么会产生这篇教程
因为在暑假回家的时候发现高中时候用的笔记本已经吃灰很久了所以打算利用起来,又因为最近学习到微服务跑项目时总是要打开虚拟机,开始想过在云服务器上部署 但是阿里云99元的套餐只能提供很低的性能还没等docker上的微服务启动成功IO就满了,cpu有不够用所以打算用笔记本来当服务器之后利用云服务器来当个中继器以此来提升性能同时也是为了折腾一下.
介绍下FRP
-
分为服务端(frps)和客户端(frpc)
-
性能好嘿嘿
安装步骤
在云服务器上安装服务端(frps)
-
下载
curl -LO https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
-
下载可能不会成功可以下载到本地之后通过xftp之类的软件传输
-
下载之后解压
tar -xvf 包名
-
-
配置frps.toml
[common] bind_port = 7000 // 公网通信 dashboard_port = 7500 //控制面板端口 # dashboard's username and password are both optional,if not set, default is admin. dashboard_user = admin //用户名 dashboard_pwd = admin //密码
-
在**/etc/systemd和/etc/systemd/system/**下创建frps.service
-
内容如下
[Unit] Description=Frp Server Service After=network.target [Service] Restart=on-failure RestartSec=5s ****下面的ExecStart为frps主程序的地址 和配置文件的地址 这两个一般都在解压出来的文件里 ExecStart=/root/frp/frps -c /root/frp/frps.toml [Install] WantedBy=multi-user.target
-
-
启动服务
systemctl start frps
-
检查状态
syatemctl status frps.service
-
可能出现的错误
- 一个是frps的主文件和配置文件的路径错误
- 一个是两个分配端口被占用
- 通过ss -tuln | grep 端口号来查看端口占用情况
在本地服务内网服务器安装客户端(frpc)
-
同理把安装包上传到客户端之后解压
-
配置frpc.toml中的内容
[common] server_addr = "云服务器ip地址注意外面的双引号不要去掉" server_port = 这里填写服务器上开放的frps的端口 [ssh] type = "tcp" local_ip = "127.0.0.1" local_port = 22 配置本地想要对外反向代理的端口 remote_port = 2222 配置在云服务器上通过哪个端口访问到内网服务器的22端口
-
配置在**/etc/systemd和/etc/systemd/system/**下创建frpc.service
[Unit] Description=Frp Client Service After=network.target Wants=network.target [Service] Restart=on-failure RestartSec=5s ExecStart=/root/frp/frpc -c /root/frp/frpc.toml ExecReload=/root/frp/frpc reload -c /root/frp/frpc.toml [Install] WantedBy=multi-user.target