Wi-Fi каже «підключено», але нічого не завантажується: застарілі резолвери Mac
Ping працює, значок повідомляє про з'єднання, а браузер ні. Розв'язання імен вказує на сервер, який пішов, і закріплений список треба видалити, а не кеш.
Надішліть ping на буквальну адресу — і вона відповідає. Відкрийте сайт за іменем — і нічого не відбувається, хоча значок мережі наполягає, що з'єднання гаразд. На Mac, який щойно підключився до VPN, така комбінація майже завжди означає, що запити спрямовані на сервер, який більше недоступний, а не що мережа впала. Адреси були закріплені за службою Wi-Fi колись раніше, і відтоді ніщо їх не видаляло. Діагностуйте методом виключення, потім видаліть закріплені записи.
Виправлення — це видалення, а не скидання, і різниця важлива, бо команди, які більшість пробує першими, роблять зовсім інше.
«Підключено» — це твердження про канал
macOS тримає конфігурацію резолвера для кожної мережевої служби. Значення від DHCP — одне джерело, введені вручну — друге, а проштовхнуті профілем чи записані клієнтом — третє. Закріплені важливіші за те, що пропонує мережа, і ніщо в стеку їх не переперевіряє. Тому сервер, який зник, залишається у списку, доки людина його не видалить або служба не буде перебудована з нуля.
Ось чому тунель, що завершує рукостискання, нічого не змінює в запиті, який уже був спрямований не туди. VPN додав резолвер, але не перевірив той, що відмовляв.
Відокремте імена від пакетів
Спочатку досягніть хоста за буквальною адресою. Якщо він завантажується, пакети гаразд і винен резолвер. Якщо не завантажується, зупиніться там і вважайте проблему маршрутною, бо зміни DNS лише додадуть змінну до вже заплутаної картини.
Ім'я, що відмовляє, тоді як відповідна адреса працює, — це відбиток. Зверніть увагу й на охоплення: якщо відмовляє все, це вказує на зламаний глобальний запис, а якщо лише хости всередині тунелю — на іншого власника й вужче виправлення.
Видаліть закріплені сервери
У налаштуваннях мережі відкрийте подробиці служби Wi-Fi і перейдіть на вкладку DNS. Вилучіть кожен рядок сервера, підтвердьте зміну, потім перегляньте домени пошуку на значення, яких ви ніколи не додавали. Залиште список порожнім, перепідключіть службу й переконайтеся, що адреса, надана DHCP, з'являється сама. Порожній список — це тимчасовий стан, що доводить: проблемою були закріплені значення.
Старіші випуски ховають ту саму панель на рівень глибше, за кнопкою «Додатково», з тим самим поводженням і тим самим результатом.
Читайте стан, а не панель
scutil --dns | head -40 друкує резолвери, які macOS справді використовує, згруповані за охопленням, а швидкий nslookup відомого внутрішнього імені показує, чи взагалі надходить відповідь. Порівняйте два виводи: чиста панель, де досі вказано застарілий сервер, означає, що цим налаштуванням володіє інший записувач. Це інша помилка з іншим виправленням.
Коли обидва виглядають чисто, а імена все ще відмовляють, несправність переїхала в інше місце, і ви вже не налагоджуєте конфігурацію DNS.
Хто повертає записи
Сервери, що повертаються після видалення, мають джерело. Перевірте «Керування пристроями» на наявність конфігураційного профілю, бо профілі можуть нести DNS і переоцінюються за власним графіком. Перевірте налаштування клієнта на опцію задавати DNS під час підключення і вирішіть, чи вона ще заслуговує місця на цій машині. Якщо VPN справді потрібен приватний резолвер, обмежте його доменами, якими він володіє, замість запису в глобальний список, який успадковує кожна майбутня мережа.
Запишіть передбачуваний резолвер і домени, на які він має відповідати. Після наступного оновлення клієнта перевірте одне публічне й одне приватне ім'я: це швидше, ніж повторювати обхід налаштувань, і ловить регресію, поки машина ще у ваших руках.
Усе інше — театр обслуговування: команди, що виглядають навмисними, не змінюють нічого вимірюваного й залишають той самий зламаний запит наступній людині.