CentOS下轻松搭建Frps并配置Frpc实现内网穿透

何海龙
2024-02-13 / 0 评论 / 103 阅读 / 正在检测是否收录...

9MNUpng

Frp是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
前言:

目前来说,各大运营商都在减少对个人用户提供公网IPv4,这已经是一个趋势,估计在IPv6普及前不会有好转。虽然可以通过客服要回公网ip,但是难度太大了,就算能要到运营商也得恶心恶心你,所以目前外网访问家里路由器、NAS、智能家居等成了问题。对于没有公网IP的解决办法也有很多:群晖的Anyconnect、花生壳、Ngrok、Frp等。由于手中只有黑群晖没法使用Anyconnect外,其他几个都用过,从效果来看Frp效果最好,该文章要介绍的是使用frp让群晖实现内网穿透。

一、Frps部署(VPS公网服务器)

1.获取Frps

Frp项目地址:

https://github.com/fatedier/frp/releases

9KoEpng

不知道公网服务器对应那个架构可以输入arch查询计算机架构:
#查询linux架构
arch

943Bpng

我的Linux架构是x86_64, 对应frp_0.54.0_linux_amd64.tar.gz

下载到本地计算机后建议直接用ftp等工具上传到服务器。

2.服务端安装Frps

创建目录

#创建frps服务目录
mkdir /frps

935Ipng

在目录中解压文件:

cd /frps
tar -zxvf frp_0.54.0_linux_amd64.tar.gz

9PSXpng

#进入解压目录
cd /frps/frp_0.54.0_linux_amd64
#复制服务端运行的两个文件到frp目录
cp -r frps frps.toml /frps
#删除多余的文件(可选)
rm -rf /frps/frp_0.54.0_linux_amd64

97hapng

这两个文件(s结尾代表server)分别是服务端程序和服务端配置文件;务端配置frp 只关注frps和frps.toml即可。
3.Frps配置

对frps.toml文件进行配置:

vim /frps/frps.toml
# 监听端口
bindPort = 7000
# 服务端将只接受 TLS链接
transport.tls.force = true
# 后台管理地址
webServer.addr = "0.0.0.0"
# 后台管理地址
webServer.port = 7500
# 后台登录用户名
webServer.user = "admin"
# 后台登录密码
webServer.password = "admin"
# 身份验证令牌,frpc要与frps一致
auth.token = "yGlHDLwnlZMOYu2S"

输入完成后按":wq"保存并退出。

9ag7png

4.运行frps
#进入frps目录
cd /frps
#给frps、frps.toml赋予执行权限
chmod 777 frps frps.toml
#运行frps
./frps -c frps.toml

9sIlpng

前台运行不方便其他操作,既然配置没有问题的话我们用nohup将其在后台运行:

#Ctrl+C终止进程
nohup ./frps -c frps.toml &

9cdNpng

查看frps后台进程运行有没有问题:

ps -aux|grep frps

9y23png

看到服务端frps的运行状态说明配置完成

5.停止frps服务命令:
ps -ef | grep frps

9nsppng

6.进入后台管理页面

通过访问公网7500端口进入后台管理页面

9MNUpng

二、Frpc部署(群晖Dorker)

1.本地CentOS系统部署frpc客户端
#创建frpc服务目录
mkdir /frpc
建议将下载到本地计算机压缩包里面的frpc、frpc.toml文件通过frp工具上传到服务器frpc文件夹下。

对frpc文件夹下frpc、frpc.toml文件提升可执行的权限:

chmod 777 frpc frpc.toml
2.Frpc配置

编辑frpc目录下frpc.toml文件:

vim /frpc/frpc.toml
#从v0.50.0版本开始,transport.tls.enable的默认值为 true
transport.tls.enable = true
#公网服务端IP地址或域名
serverAddr = "8.130.113.101"
#公网服务端通信端口
serverPort = 7000
#令牌,与公网服务端保持一致
auth.token = "yGlHDLwnlZMOYu2S"

#示例
#[ssh] 为服务名称
#type = "tcp" 为连接的类型,此处为tcp
#localIP = "127.0.0.1" 为中转客户端实际访问的IP
#localPort 为目标端口
#remotePort 为远程端口

[[proxies]]
name = "Synology"
type = "tcp"
localIP = "192.168.0.62"
localPort = 5000
remotePort = 5000
3.运行Frpc
#进入frpc目录
cd /frpc
#运行frps
./frpc -c frpc.toml

先看frpc项目能否跑起来,注意:我转发的群晖端口看到Synology以tcp启动说明成功,没有显示说明配置有误,需要检查。

9R3Cpng

成功启动后用nohup将其在后台运行:

#Ctrl+C终止进程
nohup ./frpc -c frpc.toml &

查看frpc后台进程运行:

ps -ef | grep frpc
4.停止运行frpc服务命令:
ps -ef | grep frps
参考文献

使用frp进行内网穿透 - 少数派 (sspai.com)

frp图解 附最新.toml配置文件 博客园 (cnblogs.com)

frpc版本更新0.52.1切换配置文件 博客园 (cnblogs.com)

1

评论

博主关闭了所有页面的评论