Зашто DNS престаје да ради после повезивања OpenVPN-а на Windows-у
Решавач и даље одговара на ping, а порт 53 не води никуда. Проверите да ли block-outside-dns филтрира, затим обезбедите решавач који тунел може да достигне.
Ping ка офисном решавачу и даље добија одговор после повезивања "OpenVPN", а ипак свака претрага имена не успева. Адреса је доступна, а порт није, комбинација која има смисла када знате да Windows може да филтрира DNS по адаптеру. Ако је у профилу block-outside-dns, тај филтер је први осумњичени, а табела рута је погрешно место за тражење. Два теста испод раздвајају слојеве за секунде.
Доступна адреса, мртав порт
Успешан ping доказује да домаћин ради и да пут постоји. Он не говори ништа о дозволи да се стигне до порта 53, јер дотични филтер ради на другом слоју и зависи од адаптера. Зато иста машина може да одговори на ICMP и одбије сваки упит послат на исту адресу. Покрените оба теста у истој сесији пре него што промените било коју конфигурацију.
ping <resolver-ip>
nslookup <name> <resolver-ip>
Тај пар је дијагноза. Обичан саобраћај ка подмрежи наставља да ради док решавање имена умире, па људи закључе да је сервер покварен или да DNS никада није послат. Оба објашњења су скупа за праћење, а докази упућују на нешто уже. Потврдите пар пре него што додирнете подешавање.
Ова опција је правило платформе за филтрирање
OpenVPN референца описује block-outside-dns као ограничење Windows Filtering Platform које спречава апликације да дођу до DNS-а на адаптерима изван тунела. Оно покрива TCP и UDP на порту 53. Пошто филтер живи у WFP-у, а не у уобичајеном списку правила заштитног зида, додавање правила дозволе на другом месту не мора да промени исход. Зато уобичајени савет да се дозволи DNS и даље не успева.
Подешавање може да дође из увезеног профила или са сервера, а датотека коју сте последњу уредили "није доказ шта је клијент учитао". Читајте ефективну конфигурацију и дневник повезивања заједно. Опција је такође специфична за Windows, а третирање као преносиве даје савете који не важе.
Тражите клијентску компоненту која поседује ограничење уместо да додајете још правила. Власник је оно што то заиста може да уклони.
Филтер није решавач
Блокирање саобраћаја изван тунела не инсталира радни решавач унутар њега. Опција уклања пут и оставља DNS конфигурацију тунела ономе ко је поставио профил. Профил који никада није послао решавач сада га уопште нема.
Прођите кроз три провере по реду. Прво, који решавач заправо користи апликација која не успева. Друго, да ли је клијент применио подешавања DNS-а за VPN. Треће, који интерфејс носи саобраћај ка том решавачу.
- Решавач у употреби: упоредите
Resolve-DnsName -Server <resolver-ip> <name>са DNS серверима које наводиipconfig /all. - DNS за VPN примењен: прегледајте DNS уносе тунелског адаптера у истом излазу
ipconfig /all. - Коришћени интерфејс:
Find-NetRoute -RemoteIPAddress <resolver-ip>именује излазни интерфејс за ту дестинацију.
LAN решавач постаје недоступан по дизајну под овом политиком, чак и док други LAN саобраћај ради. То је опција која ради свој посао. Ако дизајн захтева DNS преко VPN-а, поправите регистрацију решавача и пут тунела; ако је потребан split DNS са локалним изузецима, власник конфигурације мора те изузетке да изрази на подржан начин.
Шта опција не покрива
Порт 53 није цело решавање имена. DNS over HTTPS и DNS over TLS користе други транспорт, а неке апликације извршавају сопствену логику решавача без обзира на системска подешавања. Зато прегледач може да решава имена док командна линија не може.
Третирајте ту разлику као дијагностику, а не као противречност. Упоредите оба пре него што закључите да је системски решавач покварен.
Држите закључак уским када га записујете. Ова опција ограничава један транспорт на једној платформи, а остатак пута решавања је одвојено питање дизајна са сопственим власником.
Проверите стање пре и после искључивања
Покрените исту претрагу током везе и поново након што се клијент власник искључи. Прва би требало да не успе за спољашњи решавач док је тунел подигнут, а друга би требало да успе када се филтер уклони. Ако и даље не успева после искључивања, филтер није очишћен.
ipconfig /displaydns
nslookup <name> <resolver-ip>
Поновно покретање клијентске услуге или машине обично очисти застарели филтер. То потврђује дијагнозу без доказивања трајног решења. Запишите шта сте видели, јер филтер који преживи искључивање учиниће то поново, а запис је оно што оправдава извештај о грешци.
Тек после тих провера има смисла заменити решавач или поново изградити политику заштитног зида. Обе су веће промене него што их докази подржавају.