Судя по вашему описанию, у вас уже есть базовая настройка WireGuard, и рукопожатия действительно происходят, что является хорошим знаком. Однако, если вы не можете передавать данные между клиентом на iPhone и сервером на Ubuntu, проблема может быть связана с несколькими факторами. Вот несколько направлений для исправления:
1. **Проверка конфигураций на сервере и клиенте**:
- Убедитесь, что конфигурация клиента на iPhone (например, AllowedIPs) соответствует разрешённому диапазону IP-адресов на сервере. Если iPhone должен использовать IP-адрес из сети `10.0.0.0/24`, то в конфигурации клиента должно быть указано `AllowedIPs = 10.0.0.2/32` (если iPhone будет использовать IP-адрес 10.0.0.2).
- Проверьте, что у вас правильные публичные ключи на сервере и клиенте.
2. **Проверка маршрутизации**:
- Убедитесь, что ваш сервер знает, как отправлять пакеты обратно на iPhone. Для этого выполните следующую команду на сервере:
```bash
ip route get 10.0.0.2
```
Замените `10.0.0.2` на адрес вашего клиента. Убедитесь, что ответ включает правильный интерфейс для выхода.
3. **Проверка NAT и firewall**:
- Хотя `ufw` у вас отключен, убедитесь, что на уровне сети (например, роутера) нет NAT или других правил, которые могут блокировать или перенаправлять трафик.
- Если у вас в конфигурации WireGuard указано что-то вроде `PostUp` и `PostDown`, убедитесь, что они корректно настраивают маршрутизацию. Например:
```bash
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
```
4. **Проверка соединения**:
- Попробуйте проверить соединение между сервером и клиентом пингом по IP-адресам.
- Если у вас есть доступ к вашему серверу через SSH, попробуйте выполнить пинг с сервера на клиентский IP (например, `ping 10.0.0.2`) и убедитесь, что ответы приходят.
5. **Проверка конфигурации на мобильном устройстве**:
- Убедитесь, что на мобильном устройстве нет ограничений для VPN-соединений. Некоторые мобильные провайдеры могут блокировать VPN-трафик, особенно без установленных политик или профилей.
- Проверьте настройки мобильной сети, попробуйте использовать Wi-Fi для подключения, чтобы исключить проблемы с использованием мобильных данных.
Если после проверки всех этих пунктов проблема сохраняется, вы можете попробовать публиковать логи WireGuard на сервере и клиенте для дальнейшего анализа проблемы.