Linux服务器 自建FRP服务器

以梦为马i 2024-6-3 56 6/3

FRP服务部署

FRP 是一款专注于内网穿透的高性能反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。通过在具有公网IP的节点上部署FRP服务端,可以将内网服务安全、便捷地暴露到公网,同时提供多项功能特性。

服务端部署

Linux部署

1. 创建FRP目录

mkdir frp 
cd frp

 

2. 下载FRP软件包

wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz

 

如果没有wget命令:

  • CentOS: yum install -y wget
  • Ubuntu或Debian: apt install -y wget

3. 解压文件

tar -zxvf frp_0.49.0_linux_amd64.tar.gz cd frp_0.49.0_linux_amd64

 

4. 编辑frps.ini文件

vim frps.ini

 

编辑以下内容:

[common] bind_port = 7000 
dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = xxxxxx 
vhost_http_port = 80 
vhost_https_port = 443 
log_file = ./frps.log 
log_level = info 
log_max_days = 7 
authentication_timeout = 900 
token = 1233211234567
max_pool_count = 5 
max_ports_per_client = 0

 

保存并退出。

5. 开放防火墙端口

对于CentOS:

firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=7500/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

 

对于Ubuntu或Debian:

ufw allow 80
ufw allow 443
ufw allow 7000
ufw allow 7500
ufw enable

 

6. 启动服务

  • 正常启动:
./frps -c ./frps.ini
  • 后台启动并记录日志:
nohup ./frps -c frps.ini > ./frps.log 2>&1 &

 

7. 创建启动脚本

创建frp.sh脚本:

#!/bin/bash
cd /frp/frp_0.49.0_linux_amd64/
echo 'pwd' | nohup ./frps -c frps.ini > ./frps.log 2>&1 &

 

添加可执行权限:

chmod +x frp.sh

 

8. 配置frp.service文件

编辑
/usr/lib/systemd/system/frp.service:

[Unit]
Description=npc
After=network.target

[Service]
Type=forking
ExecStart=/frp/frp_0.49.0_linux_amd64/frp.sh
Restart=always
RestartSec=5
PrivateTmp=true

 

9. 启动并测试

systemctl daemon-reload
systemctl enable frp
systemctl start frp
systemctl status frp
systemctl stop frp

 

Docker部署

1. 安装Docker

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

 

2. 创建frps.ini文件和目录

mkdir /frp
vim /frp/frps.ini

 

编辑frps.ini:

[common] # (同上)

 

3. 拉取Docker镜像

docker pull snowdreamtech/frps:latest

 

4. 启动Docker容器

docker run --restart=always --network host -d -v /frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

 

5. Docker相关命令

docker ps -a
docker restart dockerID
docker stop dockerID
docker start dockerID
docker rm dockerID

 

6. 配置Docker自启和镜像自动启动

systemctl enable docker
docker ps -a
docker update --restart=always dockerID

complete

- THE END -

以梦为马i

6月03日14:50

最后修改:2024年6月3日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论