Повежите се на канцеларијски VPN, покрените малу услугу на порту 8443, пошаљите адресу тунела колеги и гледајте како веза не успева док клијент и даље извештава да је повезан. Ништа у тунелу није покварено: адреса је додељена, сесија је активна, а пакети који би носили одговор једноставно никада не бивају пропуштени. Изведите три провере испод редом и зауставите се на оној која не успе, јер свака има другачију поправку и само једна од њих се тиче VPN-а.

Почните од тога где је сокет заиста повезан

Пре него што се било шта усмери, нешто мора да слуша на адреси до које позивалац може да стигне. Развојни сервери су уобичајени кривац, јер се многи од њих подразумевано повезују на loopback и прихватају само везе које потичу са истог рачунара. Адреса тунела не мења то повезивање, а оперативни систем ће одбити везу много пре него што VPN уопште буде укључен.

ss -ltnp | grep 8443
netstat -ano | findstr 8443

Читајте колону локалне адресе, а не стање. 127.0.0.1:8443 значи само loopback, а поправка је повезивање на 0.0.0.0 или на саму адресу тунела. 0.0.0.0:8443 прихвата на свим интерфејсима, што је шире него што већина људи намерава када рачунар има и јавну адресу; 10.64.7.15:8443 је уска верзија која слуша само тамо где колега може да стигне. Обратите пажњу и на назив процеса у истом излазу, јер је залутала инстанца из ранијег теста чест разлог зашто порт изгледа отворен и одговара погрешним садржајем.

Затим питајте може ли ишта да усмерава до те адресе

Адреса тунела има смисла само за партнере конфигурисане да тај префикс шаљу у тунел. Рачунар колеге има сопствену табелу и, ако нема путању до подмреже тунела, пакет одлази на подразумевани гејтвеј и умире на месту које нема појма да адреса постоји. То је питање усмеравања на страни позиваоца, а не дозвола на вашој страни.

Symptom from the callerWhat it usually meansWhere to look next
Connection refused immediatelyNothing is listening on the address the packet reachedThe bind address and the process owning the port
Connection times out with no replyA policy dropped the packet, or no route returnsServer forwarding, host firewall, cloud security group
Works from the same machine onlyListener is on loopback, or no route reaches the tunnel addressBind address, then the caller's route to that prefix

Сервер између два клијента је једнако важан. У уобичајеном дизајну удаљеног приступа сваки клијент отвара одлазну везу ка гејтвеју и гејтвеј чува стање тих токова, па се одговори враћају путем који већ познаје. Веза од једног клијента до другог је нови ток који гејтвеј мора да прихвати и проследи, и многа постављања то намерно искључују да би клијенте држала изолованим једне од других. Потрошачке VPN услуге обично изолују подразумевано; корпоративни гејтвеји то понекад дозвољавају по групама.

Проверите смер пре него што било шта промените на хосту. Ако адреса тунела одговара са самог гејтвеја, али не од партнера, разлика је подешавање клијент-на-клијент на гејтвеју, и никакво уређивање локалног заштитног зида то не може да замени.

На крају, пронађите политику која дозвољава ток

Три слоја политике стоје између усмереног пакета и услуге која одговара: одлука VPN сервера о прослеђивању, заштитни зид хоста и било која облачна безбедносна група испред инстанце. Сва три морају да се сложе и она не успевају на различите начине, зато је симптом из горње табеле кориснији од поруке о грешци у прегледачу.

Заштитни зид хоста је слој који људи забораве после успешног повезивања, јер правило које дозвољава порт на LAN интерфејсу не дозвољава га аутоматски на интерфејсу тунела. Правила ограничена на интерфејс су исправан дизајн и истовремено уобичајен узрок услуге која ради из канцеларије, али не од куће. Читајте обим правила, а не број порта.

Филтрирање са стањем објашњава обрнут случај. Одлазна веза са вашег лаптопа ствара стање и одговори на њу се пропуштају без улазног правила. Веза колеге је потпуно нов ток без стања иза себе, па му је потребна изричита дозвола. Та асиметрија је цео разлог зашто радна сесија прегледача на вашем рачунару не говори ништа о томе да ли је услуга доступна споља.

Када једна провера не успе, промените дизајн, а не тунел

Ако је захтев да колега отвори вашу локалну услугу, искрен одговор је обично механизам направљен за улазни приступ. Обрнути SSH тунел је најмањи: ваш рачунар се одлазно повезује на хост до којег колега већ може да стигне, а слушалац постоји на том хосту.

ssh -N -R 8443:127.0.0.1:8443 [email protected]

Релеј захтева GatewayPorts clientspecified у конфигурацији свог SSH сервера, иначе се прослеђени слушалац везује на loopback на релеју и колега наилази на исто одбијање као пре. За све што траје дуже од једног поподнева, балансер оптерећења или ingress са провером здравља и сертификатом за објављено име је бољи алат, а тунел од локације до локације са путањама за обе подмреже прави је одговор када две мреже заиста треба да разговарају.

Сваки од тих дизајна чини изложеност експлицитном, и то је поента. VPN преноси пакете између мрежа за које сте већ били овлашћени; он не објављује услугу и не претвара лаптоп у хост окренут интернету. Задатак је да одлучите који од три слоја променити, а тунел је ретко један од њих.

Повезани чланци