General failure приликом ping-а LAN адресе са укљученим VPN клијентом
Windows наводи да уопште не може да достигне ниједан адаптер, иако табела рутирања изгледа исправно. Одредите да ли блокира рутирање, филтрирање или клијент.
Један хост-рутинг, једна адреса и ping одмах пада са General failure уместо да захтев истекне. Управо та разлика је цела дијагноза. Истек значи да је пакет изашао и да га је нешто игнорисало. General failure значи да Windows уопште није могао да преда пакет било ком интерфејсу.
Зато, када табела рутирања изгледа савршено, а грешка је и даље General failure, блокирање се дешава испод одлуке о рутирању, а клијент провајдера је оно што тамо ради.
Прочитајте грешку пре табеле рутирања
Windows враћа ту грешку када не нађе интерфејс за слање и не каже ништа о томе шта би одредиште урадило са пакетом. Достижност, заштитни зидови на даљој страни и доступност услуге су сва каснија питања до којих још нисте стигли.
Класична конфигурација за овај случај је хост-рутинг који једну LAN адресу усмерава на физички гејтвеј како би заобишао тунел. route add га прихвата, route print га приказује, а ping ипак пада, јер је драјвер филтера већ одлучио да пакет не сме напоље.
Пре него што прихватите то објашњење, потврдите да се рута заиста бира: проверите индекс интерфејса и метрику и уверите се да запис није застарео после поновног повезивања. Рута која показује на интерфејс који више не постоји даје сличну грешку из много мање занимљивог разлога.
Три слоја, три различита власника
Побеђује онај слој који ради последњи, а ова три нису у редоследу који већина претпоставља.
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
Средњи слој је разлог зашто рута може бити истовремено исправна и бескорисна. Клијенти провајдера инсталирају филтер и правила заштитног зида како би саобраћај изван тунела био одбачен, а то је исти механизам који спроводи њихов kill switch. Ништа у табели рутирања не учествује у тој одлуци.
Трећи слој објашњава један чудан извештај који редовно стиже: локална подмрежа је недоступна чак и након одвајања клијента. Услуга и даље ради и филтер је још инсталиран, па није повезан није исто што и не филтрира. Изађите из клијента уместо да га само одвојите пре него што донесете било какав закључак.
Шта покушати, по реду
Почните уклањањем функција које су јефтине за уклањање и лаке за враћање. Откривање на LAN-у, понекад названо невидљивост на LAN-у, блокира саобраћај ка приватним опсезима адреса како би машина остала скривена од суседа. Штампачи, локални сервери датотека и сам рутер нестају иза тог прекидача. Функције заштите од претњи које филтрирају DNS инсталирају своје куке и наводи се да кваре локалну достижност на готово исти начин.
Искључите оба, потпуно изађите из клијента, а затим тестирајте адресу. Тај редослед одваја функцију која блокира саобраћај од тунела који га усмерава погрешно и траје два минута уместо поподнева са статичким рутама.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Ако адреса одговори након што су функције искључене, имате одлуку о политици, а не квар: изаберите између остављања функције искључене, додавања изузетка или прихватања да машина остане невидљива на локалној мрежи.
Користите путању изузетка клијента, уско
Када функција мора да остане укључена, подржани излаз је сопствено подељено тунеловање клијента. Држите изузетак што мањим колико захтев дозвољава, што обично значи једну адресу хоста за један сервер или један префикс за један сегмент. Правило које покрива цео приватни опсег је трајна рупа коју нико неће запамтити да је додао и коју се нико неће усудити да уклони.
Затим проверите прво по адреси, а потом по имену. Ако адреса одговори са првим скоком на физичком гејтвеју, изузетак ради. Ако име и даље не успева, прешли сте на DNS, јер резолвер тунела не познаје локалну зону и никаква промена рутирања га томе неће научити.
Задржите руту или изузетак, не оба, уз напомену о томе које обавља посао. Два механизма која се преклапају крију један други, а следећа особа која буде отклањала грешке на овој машини уклониће један од њих и неће видети никакву промену.
Када је клијент препрека
Неке верзије филтрирају саобраћај на начин који ни статичка рута ни изузетак клијента не могу да победе. Када је то налаз, поштене опције су да сачекате функцију заобилажења или да се повежете обичним OpenVPN клијентом користећи сопствени профил провајдера, што је препоручио и одговор подршке произвођача у оригиналном извештају.
Разумите замену пре него што је обавите. Обичан профил се понаша као сваки обичан тунел: инсталира своје руте и не преуређује остатак стека, па се уска рута до хоста и даље понаша како очекујете. Оно што губите је све што је брендирани клијент имплементирао око тунела, укључујући kill switch и DNS филтрирање, и то мора намерно да се репродукује или прихвати као одсутно.
Шта год да изаберете, запишите који слој је поседовао блокирање. Пакет који никада није напустио машину је резултат филтера, и никаква промена рутирања не може да поправи филтер.