Офісні настільні комп'ютери потрапляють до спільної теки, у користувачів VPN спливає час очікування, а той самий обліковий запис працює з мобільної точки доступу. Дозволи спільної теки рідко бувають різницею; адреса, яка приходить на файловий сервер, зазвичай нею є. Правило, обмежене LocalSubnet, пропускає власні підключені підмережі сервера, а окремо маршрутизований пул VPN не є однією з них. Дві схеми закривають цю прогалину, і вони залишають дуже різні записи.

Дві схеми, один симптом

Перша схема додає пул VPN до умови віддаленої адреси правила. Тоді сервер бачить тунельну адресу кожного клієнта, тож його журнали можуть відрізняти одного віддаленого користувача від іншого. Друга схема спрямовує трафік VPN через шлюз, який перекладає його в адресу LAN до того, як сервер його побачить. Це відновлює зв'язність і в тому самому кроці прибирає розрізнення.

Таблиця описує ролі, а не адреси, і які рядки застосовуються, вирішують ваші власні префікси. Надрукуйте реальні значення сервера замість копіювання прикладу з допису блогу:

Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixLength

Таблиця — підказка для рішення, а не твердження про кожне розгортання. У хоста з додатковими інтерфейсами, другим каналом майданчика або іншою маскою інший локальний набір.

Path the packet takesAddress the server recordsFilter scope that admits itWhat the log can still tell you
Desktop on the server LANIts own LAN addressLocalSubnet or the LAN prefixWhich workstation connected
Client on the routed VPN poolIts tunnel addressThe VPN pool as a remote addressWhich VPN account connected, if the pool is logged
Client behind source NAT at the gatewayThe gateway's LAN addressThe gateway addressOnly that some VPN user connected
Site-to-site gatewayThe remote gateway's tunnel addressThe remote site's prefixWhich site connected, not which user

Довідка New-NetFirewallRule від Microsoft описує умови віддаленої адреси та ключове слово LocalSubnet. Прочитайте її, перш ніж вирішити, що ключове слово означає всі приватні адреси, бо це не так.

Порівняйте, що сервер справді отримує

Читайте чинне правило, а не те, яке хтось пам'ятає як створене. Перевірте, що воно ввімкнене, застосовується до активного профілю і що його умова віддаленої адреси збігається з джерелом, яке бачить сервер. Правило, увімкнене лише в профілі Domain, нічого не робить, коли після зміни мережі адаптер перейшов у Public.

Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' | Get-NetFirewallAddressFilter
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction

Перша команда друкує фільтри адрес, прив'язані до правил спільного доступу до файлів, а друга показує, які профілі активні та як обробляється невідповідний вхідний трафік. Шукайте також правило блокування й централізовано керовану політику. Правила блокування мають пріоритет над дозвільними, а політика, що вимикає об'єднання локальних правил, може зробити новий локальний виняток недійсним.

Це той випадок, коли правило виглядає правильним у консолі й не впливає на трафік. Перевірте одночасно призначення профілю, бо ноутбук, що приєднався до іншої мережі, може перейти в профіль Public без чийогось дотику до брандмауера.

Перевірте транспорт до входу

Відокремте доступність від автентифікації. Слухач на TCP 445 доводить, що служба прив'язана до порту; він не доводить, що віддалений пакет може до нього дійти. Завершене TCP-з'єднання, своєю чергою, поки нічого не каже про встановлення сеансу SMB чи дозволи спільної теки. Перевірте рукостискання з обох боків, перш ніж правити правило.

Test-NetConnection -ComputerName files.corp.example -Port 445
Test-NetConnection -ComputerName files.corp.example -Port 445 -InformationLevel Detailed

Перша команда повідомляє, чи вдається рукостискання TCP з машини, на якій ви її запускаєте, а друга додає розв'язану адресу й відомості про інтерфейс. Запустіть її з клієнта VPN і з офісного настільного комп'ютера, потім порівняйте. Ping не відповідає на жодне з питань, бо ICMP може бути заблокований, поки SMB відкритий, або дозволений, поки брандмауер відкидає 445.

Якщо рукостискання не вдається лише з VPN, область джерела — головний підозрюваний. Якщо воно вдається, а спільна тека все одно відмовляє, перейдіть до діагностики сеансу SMB і дозволів, а не до правки правил брандмауера.

Коли NAT джерела прибирає розрізнення

Коли на шляху є трансляція, сервер не може розрізняти окремих клієнтів VPN за адресою. Кожен віддалений користувач приходить як шлюз. Будь-яка авторизація, що залежить від їх розрізнення, має виконуватися там, де їхні особи ще видно, що зазвичай означає концентратор VPN або проксі, який автентифікує. Правило брандмауера може пропустити трафік; воно не може відновити розрізнення, яке прибрала трансляція.

Щойно цю адресу шлюзу дозволено, кожен віддалений користувач записується під однією адресою, тож правило надає весь пул будь-кому, хто може дістатися шлюзу. Якщо рішення щодо кожного користувача важливе, залиште початкові адреси видимими або перенесіть рішення на рівень, який ще знає користувача. Інакше кожен віддалений користувач успадковує дозволи єдиної адреси, яку сервер може бачити, і журнал аудиту більше не може їх розрізняти. Це проєктне рішення, а не деталь брандмауера.

Свідомо виберіть одну з двох схем. Обмежте правило реальним пулом VPN, коли сервер має бачити, хто підключився, і приймайте трансльований шлях лише тоді, коли серверу ця інформація справді не потрібна. Запишіть обраний діапазон джерела поруч із правилом, бо наступна людина, яка це відлагоджуватиме, спершу подивиться на таблицю адрес.

Схожі статті