tailscale/derper_config_examples.md
2025-10-04 06:54:30 -04:00

142 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. **定期更新证书**