Коротко — проблема почти наверняка на стороне вашей локальной Wi‑Fi/роутер‑сети (NAT / passthrough / firewall / firmware), а не на VPS. Когда устройство на мобильной сети — VPN поднимается, когда через домашний Wi‑Fi — не проходит. Роутер как VPN‑клиент работает, потому что тогда туннель создаёт сам роутер и внутренние пакеты инкапсулируются по‑другому.
Что проверить и как чинить (порядок действий — от простого к более глубокому):
1. Быстрая проверка где теряется трафик
- На телефоне/ПК включите Wi‑Fi, попробуйте подключиться к L2TP/IPsec и одновременно на VPN‑сервере запустите tcpdump:
sudo tcpdump -n -i <интерфейс_wan> 'udp port 500 or udp port 4500 or proto 50'
Если при попытке соединения вы не видите пакетов от вашего домашнего IP — пакеты вообще не доходят до сервера (проблема на роутере/ISP). Если видите запросы, но нет ответов/только часть пакетов — проблема с NAT/ESP/файрволом.
- Сравните внешний IP при Wi‑Fi и при мобильной сети (whatismyip). Если при Wi‑Fi внешний IP — частный (100.64.x.x или 10.x.x.x), возможно CGNAT от провайдера.
2. Настройки роутера (часто решает)
- В TP‑Link: включите/проверьте IPSec/VPN Passthrough (он должен быть включён). На старых моделях это отдельный переключатель.
- Отключите SPI‑файрвол / ALG для IPsec (если есть опция).
- Отключите аппаратный NAT / NAT Acceleration / Hardware Acceleration / Smart Queue (иногда ломает IPsec).
- Отключите режим «Гостевая сеть» или «AP isolation», если вы на гостевой сети — она может ограничивать трафик.
- Если есть родительский контроль / QoS / блокировка портов — временно выключите.
- Обновите/откатите прошивку роутера (некоторое обновление могло сломать passthrough).
3. Проверка маршрута/двойного NAT
- Если у вас модем от провайдера + ваш роутер, возможен double NAT. Переведите модем в режим «моста» или включите DMZ для роутера.
- Если провайдер поставил CGNAT — исходящие подключения обычно работают, но возможны проблемы с NAT‑Traversal; выяснить у провайдера.
4. Локальные проверки на устройстве
- Попробуйте подключиться к VPN по Ethernet (если ноутбук) — если через кабель работает, то проблема в Wi‑Fi‑точке/настройках беспроводной сети.
- Попробуйте подключиться к другому Wi‑Fi (например, хот‑спот телефона другой симки). Если там работает — виноват ваш домашний роутер.
- Для iPhone/Windows можно временно снизить MTU (например до 1400) — иногда фрагментация мешает IKE.
5. Логи сервера и клиента
- На сервере смотрите логи strongSwan/Libreswan/Openswan (/var/log/syslog, /var/log/auth.log) — ошибки IKE, NAT‑Traversal, ESP и т.д.
- На клиенте (Windows — журнал сети, macOS/iOS — сообщение об ошибке) — какие именно ошибки (timeout, no response, auth fail).
6. Временные обходы и рекомендации
- Если не получается быстро починить — как временная мера можно оставить роутер в режиме клиент‑VPN (как вы уже делаете) или настроить WireGuard/OpenVPN — они обычно лучше проходят через NAT и менее чувствительны к ALGs.
- Если стойко не работает — заводской сброс роутера и чистая настройка часто помогает.
Типичные причины, которые соответствуют вашему описанию
- В роутере отключён/сломался IPSec Passthrough или появился баг в прошивке.
- Включён «аппаратный» NAT (NAT Acceleration), ломающий ESP/NAT‑T.
- AP/guest isolation или фильтрация UDP портов 500/4500/1701.
- Недавние изменения у провайдера (редко) или двойной NAT.
Если хотите — пришлите:
- Вывод tcpdump при попытке (или хотя бы скажите видите ли пакеты на сервере);
- Модель TP‑Link и версию прошивки;
- Сообщение об ошибке на клиенте (iPhone/Windows).
С этими данными дам точные команды и точечные настройки для TP‑Link и сервера.