Настройка перенаправления DNS на Pi-hole для клиентов WireGuard включает несколько шагов. Вот подробная инструкция по настройке:
### Шаг 1: Настройка Pi-hole
1. **Установите Pi-hole**: Если вы еще не установили Pi-hole, сделайте это с помощью команды:
```bash
curl -sSL https://install.pi-hole.net | bash
```
2. **Настройте базовые параметры**: Следуйте указаниям установщика. Важно выбрать интерфейс, на котором работает ваш VPN, и указать DNS-сервер (например, Google или Cloudflare).
3. **Настройка статического IP**: Убедитесь, что Pi-hole использует статический IP-адрес, чтобы клиенты могли постоянно обращаться к нему.
### Шаг 2: Настройка WireGuard
1. **Настройте конфигурацию WireGuard**: В вашем файле конфигурации WireGuard (`wg0.conf`) добавьте ваш Pi-hole IP-адрес в параметры DNS. Например:
```
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <ваш_приватный_ключ>
DNS = 10.0.0.2 # IP адрес Pi-hole
[Peer]
PublicKey = <публичный_ключ_клиента>
AllowedIPs = 10.0.0.1/24
```
2. **Подключите клиентов**: Убедитесь, что в конфигурации клиента также указан DNS-сервер. Например, для клиента WireGuard конфигурация может выглядеть так:
```
[Interface]
Address = 10.0.0.3/24
PrivateKey = <ваш_приватный_ключ>
DNS = 10.0.0.2 # IP адрес Pi-hole
[Peer]
PublicKey = <публичный_ключ_сервера>
Endpoint = <адрес_впн_сервера>:51820
AllowedIPs = 0.0.0.0/0
```
### Шаг 3: Настройка маршрутов и NAT
1. **Настройка IP-адресации**: Убедитесь, что на сервере разрешены IP-форвардинг и iptables. Для разрешения IP-адресации выполните команду:
```bash
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```
2. **Настройка iptables**: Создайте правила NAT для обеспечения правильного маршрутизации трафика. Например:
```bash
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
Замените `eth0` на соответствующий интерфейс, подключенный к интернету.
### Шаг 4: Тестирование
1. **Подключите клиента**: Подключите клиента к вашему WireGuard серверу.
2. **Проверьте DNS**: Проверьте, что запросы DNS проходят через Pi-hole. Для этого можно использовать команду `dig` или `nslookup`:
```bash
dig example.com
```
Убедитесь, что ответ приходит с IP-адреса вашего Pi-hole.
3. **Проверьте журналы Pi-hole**: Зайдите в интерфейс Pi-hole и проверьте, что запросы от клиента видны в разделе "Queries".
### Рекомендуемые ссылки для дополнительной информации
- [Документация Pi-hole](https://docs.pi-hole.net/)
- [Руководство по WireGuard на официальном сайте](https://www.wireguard.com/#quickstart)
Следуя этой инструкции, вы сможете настроить перенаправление DNS через Pi-hole для клиентов вашего WireGuard VPN.