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