### 一、避免源 IP 泄漏的关键点
1. **使用 CDN 和 Cloudflare 代理**:
- **CDN**:国内用户访问时,流量会被解析到国内 CDN 的节点,用户直接与 CDN 节点交互,不会直接访问源服务器。
- **Cloudflare**:国外用户访问时,流量会被解析到 Cloudflare 的边缘节点用户,同样不会直接访问源服务器。
2. **隐藏源服务器 IP**:
- **DNSPod 分区解析**:确保所有流量都被正确分流到 CDN 或 Cloudflare,而不是直接指向源服务器 IP。
- **Cloudflare 代理**:在 Cloudflare 中,确保所有记录都开启了代理(小黄云),这样 Cloudflare 会隐藏源服务器的真实 IP。
### 二、具体设置
#### 1. **DNSPod 设置**
- **境内线路**:指向国内 CDN 的 CNAME。
- **境外线路**:指向 Cloudflare 的 CNAME。
- **默认线路**:可以指向国内 CDN 或 Cloudflare 的 CNAME,但建议优先选择国内 CDN,以避免误判。
示例设置如下:
| 记录类型 | 主机记录 | 记录值 | 线路 |
|----------|----------|---------------------------|--------|
| CNAME | @ | 国内CDN的CNAME | 境内 |
| CNAME | @ | 域名.cdn.cloudflare.net | 境外 |
#### 2. **Cloudflare 设置**
- **添加工具域名**:在 Cloudflare 中添加一个工具域名(如 `example-proxy.com`)。
- **添加 A 记录**:主机名可随意设置(如 `ba`),记录值填写你的源服务器 IP。
- **开启代理**:确保该记录开启了 Cloudflare 的代理(小黄云)。
- **设置自定义主机名**:将主域名(如 `example.com`)的境外流量指向 Cloudflare 的 CNAME。
#### 3. **源服务器设置**
- **防火墙限制**:在源服务器上设置防火墙规则,只允许 CDN 和 Cloudflare 的 IP 范围访问源服务器。这样即使有人知道源服务器的 IP,也无法直接访问。
- **隐藏源服务器 IP**:确保源服务器不会直接响应用户的请求,所有流量都通过 CDN 或 Cloudflare 代理。
### 三、验证和测试
1. **检查源 IP 泄漏**:
- 使用在线工具(如 [ipinfo.io](https://ipinfo.io/))检查你的域名解析结果,确保解析到的是 CDN 或 Cloudflare 的 IP,而不是源服务器的 IP。
- 检查 Cloudflare 的访问日志,确认流量是否正确通过 Cloudflare 代理。
2. **测试访问**:
- 在国内网络环境下访问域名,确保解析到国内 CDN。
- 在国外网络环境下访问域名,确保解析到 Cloudflare。
### 四、注意事项
1. **定期检查**:
- 定期检查 DNSPod 和 Cloudflare解析 的设置,确保没有错误或被篡改。
- 定期更新防火墙规则,以应对 CDN 和 Cloudflare 的 IP 范围变化。
2. **监控流量**:
- 使用监控工具(如 Cloudflare 的分析功能)监控流量来源,确保没有异常流量直接访问源服务器。
通过以上设置,可以有效避免源服务器 IP 泄漏,同时确保流量正确分流到 CDN 或 Cloudflare。