Настройки на punchy в Nebula: коя от тях поправя вашия NAT
punch поддържа съществуващо съпоставяне на NAT; respond опитва обратен ръкостиск. Нито едно не гарантира директен път, а настройките за закъснение променят само времето.
Два възела се намират един друг през фара и след това не успяват да изградят директен път, а първият инстинкт е да включат всяка опция на punchy. Този инстинкт създава конфигурация с три промени и без представа коя от тях е имала значение. Настройките отговарят на различни въпроси: една поддържа съпоставяне, което вече съществува, а друга опитва ръкостиск в обратната посока. Решете кой въпрос имате, преди да пипате която и да е от тях.
Проверете крайната точка преди времето
Възел, който никога не се появява на очаквания адрес, няма да бъде спасен от настройка на punch. Проверете какво знае фарът за възела и какво обявява собствената му конфигурация, защото остарял bootstrap адрес или частен адрес, публикуван по грешка проваля всеки трик за проникване. Уверете се също, че сертификатът е доверен, защото недоверена идентичност спира разговора много преди NAT да има значение. След това проверете дали UDP изобщо достига до фара. Стойностите за време са последното, което се гледа, не първото.
Запишете двойката крайни точки, с която тествате, за да използват по-късните сравнения същите възли, а не две други машини.
punch пази съпоставяне, respond отваря посока
Опцията punch изпраща периодично празни пакети до адреса на подлежащия слой на възел, който вече има тунел. Целта ѝ е невпечатляваща: тя не позволява на NAT със състояние или защитна стена да изтече съпоставянето, от което зависи директният път. Опцията respond променя какво се случва при нотификация от фара, като кара хоста да опита ръкостиск обратно към възела, който се опитва да го достигне. Това са различни механизми с различни режими на отказ.
Изберете punch, когато директният път работи и после отслабва. Изберете respond, когато пътят никога не се оформя в едната посока. Включването на двете с надежда е начинът петминутна поправка да стане седмица настройка.
Закъсненията решават кога, не дали
Стойностите за закъснение разместват времето: едната се отнася до пакета, изпратен след нотификация, другата до опита за обратен ръкостиск. Нито една не прави блокирана посока работеща. Промяната на двете наведнъж унищожава сравнението, което щяхте да направите.
Оставете ги на мира, докато механизмът не е правилният. После регулирайте една и запишете старата стойност.
Когато релето е честният отговор
Някои комбинации от NAT не могат да поддържат директен път, както и да е подредено времето. Симетричен NAT от двете страни или защитна стена, която изцяло изхвърля непоискан входящ трафик, не оставят нищо за пробиване.
Възел реле с достъпен адрес дава на тези възли път, който не зависи от успеха на проникването. Това струва честотна лента през този възел, така че е решение за капацитет, а не заобиколно решение. Настройте релето съзнателно и проверете, че възлите могат да го достигнат, защото реле, което само е зад труден NAT, не променя нищо. После спрете да настройвате punch за тази двойка, защото директният път никога нямаше да се появи.
Тествайте двойката, която се провали, след бездействие
Възпроизведете условието, което се счупи: оставете двойката в бездействие за същия интервал или повторете последователността от ръкостискове, която преди се проваляше. После упражнете приложението между тези два възела, а не заявка към фара. Отговор от фара доказва контролния път и нищо за пътя на данните.
Запишете коя настройка се промени, времето и дали се появи директен път или трафикът остана на релето. Ако остана, отговорът е реле и бележка за капацитет, и това е напълно добър изход. Ако се появи, следващият въпрос е дали ще издържи час бездействие, защото съпоставяне, което изтича, е точно проблемът, за който punch съществува.