Linux服务器 自建FRP服务器
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 = 123123123
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
[Install]
WantedBy=multi-user.target
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
10403 条评论
发表评论