Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Проблема с клиентом/сервером Wireguard при доступе к некоторым сайтам (проблема с MTU), UniFi Network
 
Я тестировал новую функцию Wireguard VPN Client (в Network v8) и столкнулся с проблемами при доступе к некоторым сайтам. Большинство сетевых подключений работают нормально, проблема возникает только с некоторыми конкретными ресурсами, и, как мне кажется, это связано с туннелированием IPv6. Думаю, причина в туннелировании IPv6 и необходимости уменьшить размер пакетов, чтобы избежать потерь. Похоже, что в настройках Unifi Network для Wireguard Server и Wireguard Client нельзя указать размер MTU. Посмотрев активный Wireguard конфиг через CLI, видно, что MTU не задано ни в серверном, ни в клиентском файле конфигурации. По умолчанию у Wireguard MTU равен 1420, и я хотел бы попробовать уменьшить его до 1280. Можно ли добавить опцию задания MTU в настройках Wireguard Server/Client в GUI? Я не могу найти конфигурационные файлы Wireguard через CLI, чтобы вручную изменить MTU и протестировать. Для справки, моя конфигурация такая: Местоположение 1: Unifi Dream Machine Pro — Wireguard Server. Местоположение 2: Unifi Dream Router — Wireguard Client с маршрутизацией всего трафика через интерфейс Wireguard VPN.
 
UniFi OS 4.2.12 обещает улучшить стабильность WireGuard VPN, интересно, решит ли это наши проблемы.
 
Это один из случаев PMTUD (Path MTU Discovery), который требует поддержки от конца до конца. Если что-то это не поддерживает, то работать не будет и вызовет дополнительные проблемы. Я бы сначала попробовал исправить настройки, например, установить MTU на 1420 и MSS на 1380 (только IPv4) / 1360 (IPv4+IPv6), а затем протестировал.
 
Кто-то еще волшебным образом решил эту проблему? Я уже год пользуюсь OpenVPN как решением, недавно снова попробовал WireGuard — и бац! Вдруг все сайты, которые раньше были недоступны, загрузились: банки, iCloud, все подряд. Интересно, кто-нибудь еще это заметил? Или я схожу с ума? Потому что от поддержки никаких новостей по этому поводу не было.
 
Надеялся на это, но, к сожалению, ничего не починило :/
 
@peturdainn Я не уверен, надо ли это, но у меня есть ещё одно правило для обратного направления.  
iptables -t mangle -A UBIOS_FORWARD_TCPMSS -o wgsrv+ -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -m comment --comment "vpn-mtu"  
iptables -t mangle -A UBIOS_FORWARD_TCPMSS -i wgsrv+ -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -m comment --comment "vpn-mtu"
 
У меня похожая проблема при использовании WG-сервера на моём CGU: некоторые (внутренние интерфейсы устройств) сайты загружаются некорректно. Поскольку это WG Server, я изменил рекомендованное исправление на:

iptables -t mangle -A UBIOS_FORWARD_TCPMSS -o wgsrv+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Однако это не помогает, я вижу, что примерно 10 пакетов попадают в правило iptables, а потом, когда браузер клиента начинает сбоить, счётчик перестаёт меняться. На клиенте у меня MTU установлен на 1280.

Есть ли ещё какие-то решения для «патча» при работе с этой проблемой на WG сервере? Спасибо.
 
Просто к сведению, примерно два года назад нам дали точно такой же ответ. Я бы уже сдался и махнул рукой на это дело.
 
Я связался с их службой поддержки и получил вполне типичный ответ от Unifi, они сказали: «Я вернулся к вопросу и настаивал на ответе, почему нам до сих пор приходится менять этот параметр через CLI, особенно учитывая, что эта проблема существует уже очень давно, при этом для неё есть ИЗВЕСТНОЕ РЕШЕНИЕ». Жду ответа...
 
С учётом приближения Network 10, не стоит ли снова связаться со службой поддержки, чтобы добиться приоритета по этому затянувшемуся вопросу? Я собираюсь создать новый запрос в поддержку, чтобы узнать, появится ли какая-то новая информация. Настройка через CLI уже становится совсем устаревшей.
 
Решил решиться и сделать SSH-модификацию от @Arrange6704. Всё получилось идеально! Огромное спасибо.
 
Недавно я купил и установил Unifi Cloud Gateway Fiber для домашней сети и настроил его на использование WireGuard (с подключением NordLynx от NordVPN). В таких сетевых вопросах я новичок и почти ничего не понимаю в MTU, но у меня появляются те же проблемы, что и выше, когда *некоторые* устройства заходят на IMAP-сервер Gmail. Мой принтер HP Laserjet тоже выдает ошибки при запуске, если используется VPN, поэтому я исключил его из VPN, чтобы обойти проблему, пока так работает.

Теперь самое странное: только некоторые устройства не могут подключиться к серверу Gmail IMAP через VPN, хотя на большинстве других сайтов проблем нет. У меня на Windows 10 и iPad Air 3 такая проблема, НО iPhone 13 Pro (на Wi-Fi, без сотовой связи) работает нормально. Если я исключаю ПК и iPad из подключения к VPN в конфигурации клиента, они оба получают доступ к серверу Gmail. Почему iPhone работает с VPN, а два других устройства — нет?

Я пока не хочу использовать SSH для временного решения, как указано выше. Может, с клиентами можно что-то изменить, хотя бы для ПК? Вижу, что Ethernet-карта настроена на MTU 1500, но в старой версии NordVPN с NordLynx там стояло 1420. Не поможет ли смена MTU в настройках сетевой карты решить проблему ПК с VPN?

Буду очень благодарен за любую помощь. Спасибо!

P.S. Я поменял MTU в настройках Ethernet-карты на 1420, и теперь ПК может заходить на Gmail IMAP! Буду следить, не вызовет ли это проблемы с доступом. Теперь попробую разобраться с iPad (без SSH-правки на Unifi). Спасибо всем за полезные советы по MTU!
 
Нет, не помогает. Всё равно нужно каждый пару дней вводить эту команду :(
 
Я решил: нет, это не исправят. Судя по всему, проблема существует уже годы, и её нет ни в планах развития, ни в списке известных багов. Какой бы вариант обхода вы ни выбрали — считайте, что это навсегда. Или ищите нового провайдера VPN, который работает сразу «из коробки», если это возможно. Мой VPN, запущенный на Digital Ocean, работает без дополнительной настройки.
 
Тот, который я опубликовал, применим ко всем интерфейсам wgclt. Именно это означает знак + в команде.
 
Еще один вопрос: эта команда применяется ко всем клиентским интерфейсам WireGuard? Если у меня одновременно работают три WireGuard-подключения как клиенты, будет ли она применяться ко всем трем, или нужно что-то дополнительно настраивать? Могли бы сотрудники Unifi прокомментировать, будут ли когда-нибудь исправлены эти проблемы без всяких костылей? Честно говоря, я немного разочарован, что моя старая коробка PFSense справлялась с WireGuard лучше, чем моя новая сборка Unifi за три тысячи долларов.
 
Я настроил скрипт, который предоставил wblfa22, через crontab. Похоже, это действительно помогает. Вопрос такой: раз мы делаем MSS через CLI, то как правильно настроить параметр MSS Clamping в графическом интерфейсе — поставить Auto или Disabled, если мы используем этот CLI-фикс? Я склоняюсь к Disabled, чтобы не дублировать правило в iptables, но если кто-то может подтвердить, буду признателен.
 
Пользовательские правила, которые вы вводите в shell, удаляются каждый раз при изменении конфигурации и нажатии «сохранить», перезагружать не надо. Что люди делают — это используют отдельное внешнее устройство (например, Raspberry Pi), которое каждые Х минут посылает эту команду на шлюз UniFi. Иными словами, вы покупаете шлюз за 500€+, а для его нормальной работы нужен сторонний «спутниковый» девайс за 100€. Всё отлично.

Кстати, эта проблема никак не связана с Surfshark. Она возникает всякий раз, когда у VPN-клиента есть ограничения MSS на промежуточных узлах (например, если у вашего провайдера PPPoE-соединение). Мне тоже приходится с этим сталкиваться, когда использую Wireguard-клиент для простого VPN «сайт-сайт», и у обоих концов контроль на моей стороне. Вы не можете контролировать, фрагментируют ли ваши пакеты промежуточные системы.

Вот почему практически у каждого нормального роутера есть возможность ограничивать MSS до PMTU — понятно, что без этого Wireguard в куче случаев просто не будет работать.
 
Шучу, наверняка какой-то сбой был — около часа всё работало, а потом те же сайты снова перестали работать. Извиняюсь, что дал всем ложную надежду.
 
Для SurfShark — нет. Мне просто интересно, не произошло ли каких-то изменений в реализации на стороне вашего провайдера.
Страницы: 1 2 След.
Читают тему (гостей: 1)