Я настроил сервер Wireguard VPN на виртуальной машине Google Cloud, но при подключении к нему с помощью клиента iOS (с последней ОС и приложением) ничего не загружается через интернет, когда VPN включен (никакого просмотра, писем, социальных сетей и т. д.), как будто у меня нет подключения к интернету. Что может быть причиной этого или как устранить неполадки? Примечание: я новичок и прошу прощения, если использую неправильную терминологию, не стесняйтесь меня поправлять.
Я точно следовал этому руководству, только вместо Android в качестве клиента использовал iOS:https://dhanangw.medium.com/setup-wireguard-vpn-in-google-cloud-platform-67ddb692b2d8
решение1
Редактировать: Дэниел Б. прав, canIpForward
в вашем случае это не нужно. Руководство, которому вы следовали, хорошее, но в нем есть одна ошибка: оно предписывает вам использовать IP-адрес сервера WireGuard, 10.0.0.1
, в конфигурации клиента в качестве IP-адреса клиента WireGuard, тогда как адрес клиента должен быть 10.0.0.2
.
Вы можете исправить это, отредактировав конфигурацию клиента в вашем приложении WireGuard для iOS. Отключите туннель WireGuard и отредактируйте поле Address
интерфейса следующим образом:
10.0.0.2/24
Включите туннель снова, и он должен заработать.
Проблема, специфичная для Google Cloud, с которой вы можете столкнуться, заключается в том, что вам необходимо включить переадресацию IP в конфигурации вашей виртуальной машины черезcanIpForward
свойство виртуальной машины. Вы можете сделать это из консоли Google Cloud при создании виртуальной машины или с помощью gcloud compute instances update-from-file ...
команды CLI для работающей виртуальной машины (см.Обновление свойств виртуальной машиныдокументация).
Кроме того, в самой виртуальной машине убедитесь, что вы также включили net.ipv4.ip_forward
свойство Linux (т. е. run sudo sysctl -w net.ipv4.ip_forward=1
), которое вам все равно понадобится независимо от облачной платформы.