一台VPS如何同时搭建SSR和FRP服务?_完整配置指南与常见问题解决
一台VPS能同时搭建SSR和FRP吗?
| 服务类型 | 主要功能 | 默认端口 | 协议类型 | 典型用途 |
|---|---|---|---|---|
| SSR | 网络代理与加密传输 | 8388 | TCP/UDP | 科学上网、网络加速 |
| FRP | 内网穿透与端口映射 | 7000 | TCP | 远程访问、服务暴露 |
# 一台VPS如何同时搭建SSR和FRP服务?
在网络服务配置中,利用一台VPS同时部署SSR(ShadowsocksR)和FRP(Fast Reverse Proxy)服务可以有效提升资源利用率,实现网络代理和内网穿透的双重功能。
## 服务部署核心步骤
| 步骤 | 操作内容 | 预计耗时 | 关键要点 |
|---|---|---|---|
| 1 | 系统环境准备与依赖安装 | 10分钟 | 更新系统、安装必要工具 |
| 2 | SSR服务端配置与启动 | 15分钟 | 设置加密方式、端口和密码 |
| 3 | FRP服务端配置与启动 | 10分钟 | 配置服务端和客户端连接参数 |
| 4 | 防火墙与安全配置 | 5分钟 | 开放必要端口、设置访问控制 |
## 详细操作流程
### 步骤一:系统环境准备
**操作说明**:首先确保VPS系统为最新状态,安装必要的编译工具和依赖包。
**使用工具提示**:使用SSH客户端连接VPS,推荐使用Xshell、PuTTY或系统自带的终端。
```bash
# 更新系统包管理器
sudo apt update && sudo apt upgrade -y
# 安装必要的编译工具
sudo apt install build-essential wget curl git -y
# 检查Python环境(SSR依赖)
python3 --version
```
### 步骤二:SSR服务端部署
**操作说明**:从GitHub获取SSR源码,编译安装并配置服务参数。
**使用工具提示**:使用vim或nano编辑器修改配置文件。
```bash
# 下载SSR服务端
git clone -b manyuser https://github.com/shadowsocksrr/shadowsocksr.git
# 进入目录并初始化配置
cd shadowsocksr
bash initcfg.sh
# 编辑用户配置文件
vim user-config.json
```
配置文件示例内容:
```json
{
"server": "0.0.0.0",
"server_ipv6": "::",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "your_password",
"method": "aes-256-cfb",
"protocol": "auth_sha1_v4",
"protocol_param": "",
"obfs": "tls1.2_ticket_auth",
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0
}
```
启动SSR服务:
```bash
# 后台启动SSR
python3 server.py m>> ssserver.log 2>&1 &
```
### 步骤三:FRP服务端部署
**操作说明**:下载FRP二进制文件,配置服务端并启动内网穿透服务。
**使用工具提示**:根据VPS架构选择正确的FRP版本。
```bash
# 下载FRP(以v0.52.3为例)
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
# 解压并进入目录
tar -xzf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
# 编辑服务端配置文件
vim frps.ini
```
FRP服务端配置示例:
```ini
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = your_dashboard_password
token = your_token_here
# Web服务穿透示例
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 60080
```
启动FRP服务:
```bash
# 启动FRP服务端
./frps -c frps.ini &
```
### 步骤四:防火墙与系统优化
**操作说明**:配置系统防火墙,开放必要端口,设置服务开机自启。
**使用工具提示**:使用systemctl管理服务,ufw配置防火墙。
```bash
# 开放SSR和FRP相关端口
sudo ufw allow 8388/tcp
sudo ufw allow 7000/tcp
sudo ufw allow 7500/tcp
sudo ufw allow 60080/tcp
# 启用防火墙
sudo ufw enable
# 创建系统服务文件(以SSR为例)
sudo vim /etc/systemd/system/ssr.service
```
## 常见问题与解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| SSR连接超时或无法连接 | 防火墙未开放端口服务未正常启动 | 检查防火墙规则使用netstat -tunlp确认服务监听状态 |
| FRP客户端连接失败 | token验证失败端口冲突 | 检查服务端和客户端token一致性更换remote_port端口 |
| 服务运行一段时间后自动停止 | 内存不足进程被系统杀死 | 增加swap空间使用nohup或systemd托管服务 |
| 速度较慢或延迟较高 | VPS网络质量差加密方式过于复杂 | 更换网络线路较好的VPS使用轻量级加密如chacha20 |
| 同时运行SSR和FRP时资源占用高 | 内存或CPU资源不足 | 优化配置参数升级VPS配置或单独部署 |
通过以上步骤,您可以在一台VPS上成功部署SSR和FRP服务,实现网络代理和内网穿透的双重功能。在实际操作过程中,请根据具体需求调整配置参数,并定期检查服务运行状态以确保稳定性。
发表评论