SSH до јавната IP адреса на серверот WireGuard не работи на Windows
Рутата и правилото на огнениот ѕид се две одделни одлуки. На Windows peer со /0 вклучува ограничувачки правила, а сопствениот транспорт на тунелот е исклучокот.
Тунелите што се креваат додека SSH до јавната адреса на серверот престанува да работи изгледаат како сервер што ја одбива врската. На Windows поверојатната причина е локална: AllowedIPs на целосен тунел од /0 вклучува ограничувачки правила на огнениот ѕид што го дозволуваат сопствениот транспорт на тунелот и многу малку друго. Шифрираните пакети што ја достигнуваат таа адреса не кажуваат ништо за тоа дали одделна TCP врска до истата адреса смее да излезе.
Одделете ја јавната адреса на крајната точка од нејзината внатрешна адреса на тунелот пред да ја допрете листата со peer-ови. Речиси секој обид тоа да се поправи со уредување на AllowedIPs ја прави политиката послаба, а не рутата точна.
Дозволата за рутирање и дозволата на огнениот ѕид се различни
Рутата одлучува каде пакетот би бил испратен, а правилото на огнениот ѕид одлучува дали воопшто смее да биде испратен. Затоа додавањето рута за јавната IP на крајната точка создава пат што филтерот и понатаму може да го блокира, и токму оваа забуна ја создава овој симптом. На Windows филтерот е дел од имплементацијата, а не додаток, па ниту еден запис за рута не го менува. Двете одлуки се одделни и на други места, иако стандардните вредности се разликуваат.
Затоа traceroute до крајната точка може да успее, додека обидот за SSH не успева. Првиот го носи услугата што го поседува исклучокот, а вториот не.
Што прави /0 на Windows
Кога еден peer има дозволени адреси што го покриваат целиот IPv4 простор, WireGuard for Windows применува ограничувачка позиција на огнениот ѕид што го блокира сообраќајот што инаку би излегол надвор од тунелот. Сопствениот транспорт на тунелската услуга е дозволен, бидејќи VPN-от инаку не би можел да работи. Друга апликација до истата јавна адреса не добива таква дозвола, бидејќи исклучокот ѝ припаѓа на транспортот, а не на адресата. Мрежни белешки за Windows ги опишуваат ова однесување и соодветната контрола во уредувачот.
Тие правила се механизмот зад изразот kill switch. Тие се активираат од формата на конфигурацијата, а не од поле за избор со тоа име.
Исклучоците го менуваат моделот на заштита
Замената на /0 со два полустандардни префикси е документираниот начин да се задржи широко рутирање без ограничувачката семантика, и тоа е различен модел на заштита, а не пократко пишување. Одземањето на адресата на крајната точка од дозволените префикси е другото вообичаено решение, кое ја продолжува листата и исто така менува кои правила се активираат. Ниту едно не е локална измена со локален ефект. Секое ја поместува границата за секој тек на машината, не само за врската што ја поправавте.
Каде што директен јавен SSH навистина е потребен, сопственикот на профилот мора да ја дизајнира и надворешната рута и нејзината дозвола на огнениот ѕид, и да одлучи што се случува со неповрзаниот сообраќај кога тунелот ќе падне. Одделното разгледување на IPv4 и IPv6 исто така спаѓа во тоа, бидејќи правилата се изразуваат по семејство. Широкото заобиколување додадено за спасување на една сесија за управување обично изложува повеќе од сесијата.
Тестирајте го избраниот пат за управување
Прво одлучете дали управувањето треба да патува внатре во тунелот или надвор од него, потоа тестирајте го токму тој избор, а не двата одеднаш. Командите подолу ги проверуваат адресите на клиентот, состојбата на peer-от и врската до секоја цел. Извршете ги од клиентот на Windows додека тунелот е кренат.
ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22
Успешен SSH до внатрешната адреса докажува дека тунелот пренесува сообраќај за управување и дека сопствениот огнен ѕид на серверот го прифаќа од опсегот на peer-ови. Неуспех на двете цели е проблем на страната на серверот или со клучот, а не проблем со рутирањето на Windows. Ако внатрешната адреса работи, а надворешната не, локалната позиција на огнениот ѕид го прави токму тоа за што е дизајнирана. Прочитајте ги трите резултати по тој редослед пред да уредите профил.
Запишете го патот за управување, користената адреса и однесувањето кога тунелот е спуштен. Токму оваа белешка го спречува следниот човек да го прошири заобиколувањето за да заштеди пет минути.