3.2 KiB
3.2 KiB
DERP服务器配置示例
三种运行模式详解
1. 直接HTTPS模式 (推荐)
/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反向代理模式
/home/derp/derper -hostname IP地址 -a :8080 -stun-port 3478 -verify-clients
特点:
- 监听本地8080端口
- 通过Nginx反向代理对外提供HTTPS服务
- 证书在Nginx层面配置
- 可以与其他Web服务共存
- 更好的隐藏服务特征
适用场景:
- 需要与其他Web服务共存
- 已有Nginx服务的环境
- 需要高级的负载均衡或SSL终止
3. 自定义配置模式
/home/derp/derper -hostname IP地址 [自定义参数]
特点:
- 完全自定义的配置选项
- 可以指定任意端口和参数
- 灵活度最高
适用场景:
- 特殊的网络环境要求
- 需要自定义端口或其他参数
- 高级用户定制化需求
完整命令行参数说明
/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模式示例:
/home/derp/derper -hostname my.domain.com -certmode letsencrypt -a :443 -http-port 80 -stun-port 3478 -verify-clients
非标准端口示例:
/home/derp/derper -hostname IP地址 -certmode manual -certdir /etc/derper/certs -a :8443 -http-port 8080 -stun-port 3478 -verify-clients
防火墙配置
根据不同的运行模式,需要开放相应的端口:
直接HTTPS模式
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3478/udp
Nginx反向代理模式
ufw allow 443/tcp
ufw allow 3478/udp
自定义端口模式
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. 检查服务状态
systemctl status derper
journalctl -u derper -f
2. 检查端口占用
netstat -tulpn | grep 443
netstat -tulpn | grep 3478
3. 检查证书
openssl x509 -in /etc/derper/certs/server.crt -text -noout
4. 测试连接
curl -k https://服务器IP/derp
性能优化建议
- 启用BBR拥塞控制(脚本自动配置)
- 调整文件描述符限制
- 配置适当的防火墙规则
- 监控系统资源使用情况
- 定期更新证书