142 lines
3.2 KiB
Markdown
142 lines
3.2 KiB
Markdown
# DERP服务器配置示例
|
||
|
||
## 三种运行模式详解
|
||
|
||
### 1. 直接HTTPS模式 (推荐)
|
||
```bash
|
||
/home/derp/derper -hostname IP地址 -certmode manual -certdir /etc/derper/certs -a :443 -http-port 80 -stun-port 3478 -verify-clients
|
||
```
|
||
|
||
**特点:**
|
||
- 独占443端口进行HTTPS访问
|
||
- HTTP 80端口自动跳转到HTTPS
|
||
- 使用手动管理的自签名证书
|
||
- 验证连接的客户端
|
||
- 直接对外提供服务,无需额外代理
|
||
|
||
**适用场景:**
|
||
- 专用DERP服务器
|
||
- 不需要与其他Web服务共存
|
||
- 简单直接的部署方式
|
||
|
||
### 2. Nginx反向代理模式
|
||
```bash
|
||
/home/derp/derper -hostname IP地址 -a :8080 -stun-port 3478 -verify-clients
|
||
```
|
||
|
||
**特点:**
|
||
- 监听本地8080端口
|
||
- 通过Nginx反向代理对外提供HTTPS服务
|
||
- 证书在Nginx层面配置
|
||
- 可以与其他Web服务共存
|
||
- 更好的隐藏服务特征
|
||
|
||
**适用场景:**
|
||
- 需要与其他Web服务共存
|
||
- 已有Nginx服务的环境
|
||
- 需要高级的负载均衡或SSL终止
|
||
|
||
### 3. 自定义配置模式
|
||
```bash
|
||
/home/derp/derper -hostname IP地址 [自定义参数]
|
||
```
|
||
|
||
**特点:**
|
||
- 完全自定义的配置选项
|
||
- 可以指定任意端口和参数
|
||
- 灵活度最高
|
||
|
||
**适用场景:**
|
||
- 特殊的网络环境要求
|
||
- 需要自定义端口或其他参数
|
||
- 高级用户定制化需求
|
||
|
||
## 完整命令行参数说明
|
||
|
||
```bash
|
||
/home/derp/derper [选项]
|
||
```
|
||
|
||
**常用参数:**
|
||
- `-hostname`:服务器主机名或IP地址
|
||
- `-a`:DERP服务监听地址和端口(默认:443)
|
||
- `-http-port`:HTTP服务端口(用于重定向和健康检查)
|
||
- `-stun-port`:STUN服务端口(默认:3478)
|
||
- `-certmode`:证书模式(manual/letsencrypt)
|
||
- `-certdir`:证书目录路径
|
||
- `-verify-clients`:验证客户端连接
|
||
- `-c`:配置文件路径
|
||
|
||
**Let's Encrypt模式示例:**
|
||
```bash
|
||
/home/derp/derper -hostname my.domain.com -certmode letsencrypt -a :443 -http-port 80 -stun-port 3478 -verify-clients
|
||
```
|
||
|
||
**非标准端口示例:**
|
||
```bash
|
||
/home/derp/derper -hostname IP地址 -certmode manual -certdir /etc/derper/certs -a :8443 -http-port 8080 -stun-port 3478 -verify-clients
|
||
```
|
||
|
||
## 防火墙配置
|
||
|
||
根据不同的运行模式,需要开放相应的端口:
|
||
|
||
### 直接HTTPS模式
|
||
```bash
|
||
ufw allow 80/tcp
|
||
ufw allow 443/tcp
|
||
ufw allow 3478/udp
|
||
```
|
||
|
||
### Nginx反向代理模式
|
||
```bash
|
||
ufw allow 443/tcp
|
||
ufw allow 3478/udp
|
||
```
|
||
|
||
### 自定义端口模式
|
||
```bash
|
||
ufw allow [自定义端口]/tcp
|
||
ufw allow 3478/udp
|
||
```
|
||
|
||
## 配置文件结构
|
||
|
||
安装完成后,配置文件位于:
|
||
- 主配置:`/etc/derper/config`
|
||
- 证书目录:`/etc/derper/certs/`
|
||
- Tailscale ACL:`/etc/derper/tailscale_acl.json`
|
||
- systemd服务:`/etc/systemd/system/derper.service`
|
||
|
||
## 故障排除
|
||
|
||
### 1. 检查服务状态
|
||
```bash
|
||
systemctl status derper
|
||
journalctl -u derper -f
|
||
```
|
||
|
||
### 2. 检查端口占用
|
||
```bash
|
||
netstat -tulpn | grep 443
|
||
netstat -tulpn | grep 3478
|
||
```
|
||
|
||
### 3. 检查证书
|
||
```bash
|
||
openssl x509 -in /etc/derper/certs/server.crt -text -noout
|
||
```
|
||
|
||
### 4. 测试连接
|
||
```bash
|
||
curl -k https://服务器IP/derp
|
||
```
|
||
|
||
## 性能优化建议
|
||
|
||
1. **启用BBR拥塞控制**(脚本自动配置)
|
||
2. **调整文件描述符限制**
|
||
3. **配置适当的防火墙规则**
|
||
4. **监控系统资源使用情况**
|
||
5. **定期更新证书**
|