VPN працює, але один застосунок без інтернету? Перевірте його проксі
Браузер або інструмент може й далі використовувати старий проксі після підняття тунелю. Порівняйте налаштування системи, застосунку та середовища, перш ніж змінювати сервер.
Ваш тунель піднято, сторінка стану показує справне рукостискання, але один застосунок усе одно нічого не завантажує. Імовірно, цей застосунок досі надсилає запити до старішого посередника: системного проксі, розширення, файлу конфігурації, який розсилає керування пристроями, або змінної проксі, яку читає лише його власний процес. Зміна VPN-сервера не торкнеться цього налаштування, і це пояснює картину, коли інші застосунки працюють з тієї ж машини. Рухайтеся від проблемного застосунку назовні й не чіпайте тунель, доки питання проксі не буде вирішено.
Який рівень володіє налаштуванням проксі
Чотири місця можуть претендувати на владу над запитами застосунку, і зазвичай перемагає найвужче. Операційна система тримає глобальний проксі та необов’язковий URL автоматичної конфігурації; браузер може його дотримуватися, перекривати або передати керування розширенню; інструмент командного рядка читає власне середовище; а керована політика може після зміни знову закріпити будь-що з переліченого. Вирішіть, який рівень відповідальний, перш ніж щось редагувати, бо очищення не того рівня виглядає як успішне виправлення, яке повертається під час наступного входу.
Порівняйте два застосунки на тому самому звичайному сайті, а не на тестовій сторінці лише для VPN. Якщо браузер збоїть, а завантаження в терміналі вдається, проблема не в операційній системі, і різниця в профілі браузера або його розширеннях. Якщо обидва збоїть, але другий обліковий запис на тій самій машині працює, налаштування стосується користувача. Таке порівняння коштує хвилини й прибирає більшість здогадів.
Прочитайте значення, яке кожен інструмент справді використовує
Виведіть конфігурацію перед зміною й скопіюйте точний рядок проксі туди, звідки зможете його відновити. Змінні оболонки — найшвидша перевірка для інструментів командного рядка, бо клієнт VPN зазвичай їх не чіпає.
env | grep -i -E 'http_proxy|https_proxy|all_proxy|no_proxy'
scutil --proxy
gsettings get org.gnome.system.proxy mode
netsh winhttp show proxy
Запустіть лише той рядок, що відповідає платформі перед вами, потім прочитайте вивід про хост, порт і облікові дані. Значення на кшталт http://proxy.corp.example:8080 означає, що інструмент запитує цей хост для кожного запиту, а порожній результат означає, що він іде напряму й справжня несправність в іншому місці. Закрийте частину з користувачем і паролем перед вставленням виводу в заявку, бо ці рядки значно частіше є живими обліковими даними, ніж прийнято думати.
Інструментам із власним проксі-движком потрібні власні докази. Curl повідомляє рішення, яке ухвалив, коли ви підвищуєте докладність, і це краще за здогади із середовища, а той самий прапорець показує, чи розв’язання імен відбулося локально, чи на проксі.
Очистіть перекриття й повторіть той самий запит
Змініть один рівень, потім повторіть саме той запит, що збоїв, бо інший URL нічого не доводить. Спершу очистіть змінні середовища в поточній оболонці, оскільки ця зміна зворотна й не може зламати тунель:
unset http_proxy https_proxy all_proxy
curl -v --max-time 10 https://example.com 2>&1 | grep -i -E 'uses proxy|connected to|http/'
Якщо докладний вивід усе ще стверджує, що є проксі, середовище не було владою. Підніміться на рівень вище замість нагромаджувати нові перекриття.
У macOS перевірте, що файл автоматичної конфігурації не надає значення, потім вимкніть проксі служби й підтвердьте зміну. У Windows пам’ятайте, що параметр WinHTTP і параметр браузера для користувача — різні об’єкти, тож чистий інструмент командного рядка може співіснувати з браузером, який досі вказує на старий сервер. Розширення заслуговують на ту саму підозру: проксі-розширення може переписувати запити лише для одного профілю, і це саме та форма збою, що зачіпає один браузер і більше нічого.
Переконайтеся, що виправлення переживає перезапуск
Налаштування, яке працює лише в терміналі, який ви редагували, не виправлено. Відкрийте застосунок знову з засобу запуску на робочому столі, вийдіть із системи та увійдіть знову, і подивіться, чи повертається старий проксі.
Дві перевірки відділяють справжнє виправлення від тимчасового, і обидві мають повідомляти про пряме з’єднання або потрібне значення. Запуск у чистому середовищі показує, чи очищений процес усе ще підхоплює системне налаштування.
env -i /usr/bin/curl -sS -o /dev/null -w '%{http_code} %{remote_ip}
' https://example.com
networksetup -getwebproxy "Wi-Fi"
Якщо старе значення повертається після перезапуску, джерелом є керована політика або профіль, що застосовує його знову, і власник цієї політики має прибрати виняток. Залишайте перевірку сертифікатів увімкненою весь час, бо проксі, що перехоплює трафік, інакше виглядатиме вирішеним, щойно ви вимкнете перевірки. Наприкінці запишіть видалене значення й дату у свої нотатки, щоб наступна людина могла відрізнити навмисний проксі від забутого.