Вопрос или проблема
При подключении к моему собственному VPN-серверу в определенной сети, называемой public-network
, мой Mac отключает VPN-соединение через 2 минуты и 30 секунд.
Я провел несколько тестов и получил следующие результаты:
- Все работает нормально до отметки 2:30
- Не имеет значения, какой Mac я использую, он все равно отключается
- Не имеет значения, какой клиент я использую, все следующие делают то же самое: системный клиент OSX, HMA! Pro VPN и Shimo
- Не имеет значения, какой протокол я использую, по крайней мере, все эти протоколы делают то же самое: PPTP, OpenVPN и L2TP через IPSec
- То же самое происходит при использовании моего собственного VPN-сервера и VPN-сервера HMA!
- Все остальные клиенты (Windows/iPhone) могут без проблем использовать любой из этих VPN-серверов и протоколов в
public-network
- На OSX все протоколы, клиенты и серверы работают нормально в любой другой сети
Таким образом, похоже, что это сочетание OSX, VPN и public-network
вызывает это.
Вот системный журнал моего VPN-сервера, когда происходит отключение:
Feb 2 12:04:32 raspberrypi pptpd[31400]: CTRL: EOF or bad error reading ctrl packet length.
Feb 2 12:04:32 raspberrypi pptpd[31400]: CTRL: couldn't read packet header (exit)
Feb 2 12:04:32 raspberrypi pptpd[31400]: CTRL: CTRL read failed
Feb 2 12:04:32 raspberrypi pptpd[31400]: CTRL: Reaping child PPP[31401]
Feb 2 12:04:32 raspberrypi pppd[31401]: Hangup (SIGHUP)
Feb 2 12:04:32 raspberrypi pppd[31401]: Modem hangup
Feb 2 12:04:32 raspberrypi pppd[31401]: Connect time 2.5 minutes.
Feb 2 12:04:32 raspberrypi pppd[31401]: Sent 3963649 bytes, received 362775 bytes.
Feb 2 12:04:32 raspberrypi pppd[31401]: MPPE disabled
Feb 2 12:04:32 raspberrypi pppd[31401]: Connection terminated.
Feb 2 12:04:32 raspberrypi pppd[31401]: Exit.
Feb 2 12:04:32 raspberrypi pptpd[31400]: CTRL: Client <ip-adress> control connection finished
Попробуйте проверить, отключается ли VPN на системе Windows, если вы используете PPTP, тогда проблема может быть в маршрутизации и размере буфера tcp на macos.
Если проблема только в системе macos, то это может помочь:
попробуйте добавить маршруты для вашей внутренней сети что-то вроде этого:
route add -net 192.168.1.0/24 192.168.1.1 (первое - это маска нашей внутренней сети, второе - шлюз вашей сети)
У нас была похожая проблема, но VPN не отключался, просто весь трафик TCP замирал. – это из-за размера буфера.
Если добавление этого маршрута через терминал помогает, то выполните следующее:
создайте файл ip-up в /etc/ppp
вставьте в файл:
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices;
export PATH
/sbin/route add -net 192.168.1.0/24 192.168.1.1 - модифицируйте, чтобы соответствовать вашей сети
сохраните его и измените права sudo chmod a+x ip-up (/etc/ppp/ip-up)
При каждом подключении к VPN маршрут будет добавляться.
Ответ или решение
Когда Mac-устройство на macOS теряет подключение к VPN ровно через 2 минуты и 30 секунд на определённой сети, например, на "public-network", это может указывать на специфические параметры конфигурации сети или вашего устройства. Для выявления и решения проблемы мы можем рассмотреть несколько возможных причин и шагов по устранению неисправности.
Потенциальные причины проблемы
-
Недостаточная поддержка протоколов сетевым оборудованием: В вашем случае возможно, что оборудование, управляющее "public-network" (например, маршрутизаторы или точки доступа), имеет настройки, из-за которых соединения VPN после определённого времени прерываются.
-
Ограничения на уровне сети: Некоторые общественные или корпоративные сети имеют ограничения, которые намеренно сбрасывают VPN-соединения для предотвращения несанкционированного использования.
-
Проблемы с буфером TCP на macOS: Параметры буфера TCP на macOS могут быть настроены неправильно для использования в вашей сети, что приводит к сбросу соединения.
Рекомендации по решению
1. Проверка сетевого оборудования
- Свяжитесь с администратором сети: Возможно, ваш администратор сети сможет подтвердить наличие настроек, влияющих на VPN-соединения.
2. Настройка маршрутов на macOS
Для специфической настройки маршрутов на вашем Mac, вы можете попробовать добавить статические маршруты для внутренней сети. Это может помочь решить проблемы с TCP-трафиком.
-
Откройте терминал и введите следующую команду, заменив IP-адреса и маску сети на те, которые соответствуют вашей сети:
sudo route add -net 192.168.1.0/24 192.168.1.1
-
Если это решает проблему, создайте скрипт внутри каталога
/etc/ppp
для автоматического применения маршрутов при каждом подключении:-
Создайте файл
ip-up
:sudo touch /etc/ppp/ip-up
-
Отредактируйте файл и вставьте следующую строку:
#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices; export PATH /sbin/route add -net 192.168.1.0/24 192.168.1.1
-
Дайте скрипту права на выполнение:
sudo chmod a+x /etc/ppp/ip-up
-
3. Тестирование на других ОС
- Для исключения проблемы, связанной с сетью, протестируйте подключение VPN на устройствах с Windows или iPhone на том же "public-network". Если они поддерживают стабильно подключение, это подтвердит, что проблема специфична для macOS.
Заключение
Если устранение неполадок, рекомендованных выше, не решает проблему, рекомендуется более глубокое исследование конфигурации сети и параметры безопасности, управляющими устройством "public-network", возможно, с помощью сетевого администратора. Невозможность устойчивого соединения может быть следствием настроек на оборудовании, которые ограничивают время соединений VPN, или может быть связана с совместимостью протоколов и особенностями macOS.