Если ваш WireGuard-клиент (peer) не может пинговать адреса пиров, возможно, проблема заключается в маршрутизации или настройках брандмауэра на сервере. Рассмотрим несколько моментов, которые могут помочь исправить ситуацию:
### 1. Проверьте настройки `AllowedIPs`
В настройках клиента у вас указано:
```plaintext
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
```
Это значит, что этот клиент может отправлять и получать пакеты только на указанный ему адрес. Убедитесь, что у вас на сервере правильно указаны `AllowedIPs` для всех клиентов. Если вы планируете, чтобы сервер взаимодействовал с этими пировыми адресами, убедитесь, что они правильно заданы в конфигурации сервера и других пиров.
### 2. Проверьте настройки iptables
Ваши правила iptables могут мешать маршрутизации. Убедитесь, что ваши правила находятся в правильном порядке. Попробуйте изменить порядок правил, вот пример:
```bash
iptables -I FORWARD -i wg0 -j ACCEPT
iptables -I FORWARD -o wg0 -j ACCEPT
```
Эти правила позволяют трафику проходить как с клиента на сервер, так и наоборот.
### 3. Убедитесь, что IP-адреса пиров настроены правильно
Убедитесь, что адреса клиентских пиров (например, 10.66.66.2) настроены корректно на клиентской стороне. Каждый клиент должен иметь уникальный `Address` в диапазоне, который вы указали на сервере (10.66.66.1/24).
### 4. Проверьте наличие ICMP в iptables
Убедитесь, что ваш iptables позволяет ICMP-пакеты (ping):
```bash
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
```
### 5. Проверьте файл конфигурации WireGuard
Убедитесь, что в конфигурации WireGuard на клиенте правильно указан адрес сервера и порт, например:
```plaintext
[Peer]
PublicKey = <ваш_публичный_ключ_сервера>
Endpoint = <IP_адрес_или_Domain_сервера>:49964
AllowedIPs = 10.66.66.0/24,fd42:42:42::/64
```
### 6. Попробуйте временно отключить firewall
Для тестирования, вы можете временно отключить ваш firewall (iptables) и посмотреть, будет ли работать пинг. Это может помочь в диагностике проблемы:
```bash
iptables -F
```
### 7. Логи
Проверьте логи WireGuard на клиенте и сервере для получения более подробной информации об ошибках. Можно использовать команду `journalctl` для просмотра логов:
```bash
journalctl -u wg-quick@wg0
```
### 8. Тестирование
После внесения изменений не забудьте перезапустить WireGuard:
```bash
sudo wg-quick down wg0
sudo wg-quick up wg0
```
### Заключение
Если ни один из этих шагов не помог, попробуйте поэкспериментировать с уменьшением сложности вашей сети (например, отключив NAT и другие настройки) и окружать проблему, постепенно добавляя компоненты, чтобы выяснить, где происходит сбой.