272 字
1 分钟
搭建Frp
前言
Frp可以通过有公网IP的的服务器将内网的主机暴露给互联网,从而实现通过外网能直接访问到内网主机;frp有服务端和客户端,服务端需要装在有公网ip的服务器上,客户端装在内网主机上。
因为博主有一个低配置的云服务器,需要将家里的高性能服务器一些端口映射到云服务,从而进行更高效的访问。
GitHub仓库地址:github.com/fatedier/frp
准备工作
Linux下载frp_xxxx_linux_amd64的

frpc为客户端
frps为服务端
客户端不需要公网ip,服务端需要公网ip,并且将服务端口映射出来。
配置文件
# 赋予运行权限chmod +x frps服务端配置
bindPort = 65001 # 服务端与客户端通信端口
transport.tls.force = true # 服务端将只接受 TLS链接
auth.token = "token" # 身份验证令牌,frpc要与frps一致
# Server Dashboard,可以查看frp服务状态以及统计信息webServer.addr = "0.0.0.0" # 后台管理地址webServer.port = 65002 # 后台管理端口webServer.user = "admin" # 后台登录用户名webServer.password = "admin" # 后台登录密码
bindAddr = "0.0.0.0"bindPort = 65001 # 服务端与客户端通信端口
auth.method = "token"auth.token = "Aa135790Toekn"
webServer.addr = "0.0.0.0"webServer.port = 65002webServer.user = "jianglin"webServer.password = "Frp65022"客户端配置
transport.tls.enable = true # 从 v0.50.0版本开始,transport.tls.enable的默认值为 trueserverAddr = "47.101.69.145"serverPort = 65001 # 公网服务端通信端口
auth.token = "Aa135790Toekn" # 令牌,与公网服务端保持一致
webServer.addr = "0.0.0.0"webServer.port = 65002#webServer.user = "admin" # 注释掉就没有账号密码了#webServer.password = "admin"webServer.pprofEnable = false
[[proxies]]name = "bt"type = "tcp"localIP = "127.0.0.1" # 需要暴露的服务的IPlocalPort = 65000remotePort = 65100 # 暴露服务的公网入口
[[proxies]]name = "web80"type = "tcp"localIP = "127.0.0.1" # 需要暴露的服务的IPlocalPort = 80remotePort = 80# 暴露服务的公网入口
[[proxies]]name = "web443"type = "tcp"localIP = "127.0.0.1" # 需要暴露的服务的IPlocalPort = 443remotePort = 443# 暴露服务的公网入口后台运行
宝塔面板
如果使用宝塔面板,可以使用进程守护管理器这个插件,配置一个守护进程
按照下图进行配置

systemctl
使用systemctl 管理Frp
# frps配置# 编写 frp service 文件,以 ubuntu 为例vim /usr/lib/systemd/system/frps.service # 有时候需要手动创建system文件夹
# frps.service内容如下[Unit]Description=frpsAfter=network.target syslog.targetWants=network.target
[Service]TimeoutStartSec=30ExecStart=/opt/frps/frps -c /opt/frps/frps.iniExecStop=/bin/kill $MAINPID
[Install]WantedBy=multi-user.target# frpc配置# 编写 frp service 文件,以 ubuntu 为例vim /usr/lib/systemd/system/frpc.service # 有时候需要手动创建system文件夹
# frps.service内容如下[Unit]Description=frpcAfter=network.target syslog.targetWants=network.target
[Service]TimeoutStartSec=30ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.iniExecStop=/bin/kill $MAINPID
[Install]WantedBy=multi-user.target管理
# 启动 frp 并设置开机启动systemctl enable frpssystemctl start frpssystemctl status frps
# 部分服务器上,可能需要加 .service 后缀来操作,即:systemctl enable frps.servicesystemctl start frps.servicesystemctl status frps.service至此,配置完成
如果这篇文章对你有帮助,欢迎分享给更多人!
发现错误或想要改进这篇文章?
在 GitHub 上编辑此页