Du profiliai, besiskiriantys viena eilute, elgiasi skirtingai tą akimirką, kai tame pačiame hoste paleidžiamas antras klientas. Vienas turi nobind ir ima bet kurį vietinį portą, kurį duoda branduolys; kitas rezervuoja 1194, ir antroji instancija miršta su jau naudojamu adresu. Ta eilutė nusprendžia, kas pasirenka šaltinio portą, o tai savo ruožtu nusprendžia, ar profilis gali egzistuoti kartu su kuo nors kitu mašinoje. Trys klausimai tai išsprendžia, o pirmasis atsako daugumai profilių, kol dar nepasiekėte kitų dviejų.

Ką nobind iš tikrųjų praleidžia

Pagal nutylėjimą klientas prieš skambindamas susieja vietinį lizdą, o vietinis portas yra 1194, nebent profilis sako kitaip. nobind pašalina tą rezervaciją, todėl dėklas prisijungimo metu paskiria nenaudojamą portą. Tai išimtis, o ne numatytoji reikšmė, ir klientas be eilutės laiko 1194, todėl būtent todėl susiduria neprisegta antroji instancija. Dauguma pateikiamų kliento profilių turi šią direktyvą dėl šios priežasties, o tai, kad pavyzdinis failas ką nors daro, nėra tas pats, kas mechanizmas tai daro pagal nutylėjimą.

Tai, kas nesikeičia, yra tolimoji pusė. Serveris vis dar klausosi ten, kur profilis sako, kad klausosi, o konfigūracijos paskirties portas vis dar yra paskirties portas. Dinaminis šaltinio portas keičia jūsų pačių lizdo grąžinimo adresą ir nieko apie serverio lizdą.

Jis taip pat nieko neslepia. Jūsų viešasis adresas yra tai, į ką jį išverčia kelias, paketas vis dar kerta vietinį tinklą, o kas valdo tą tinklą, vis dar mato srautą. nobind nėra nei privatumo funkcija, nei už ugniasienės apėjimas.

Trys sąlygos, kurios tai nusprendžia

Vienas klausimas nusprendžia kitus du, todėl atsakykite į jį prieš ką nors redaguodami. Jei partneris skambina į išorę, likę klausimai tik patikslina jau priimtą sprendimą. Jei jis priima įeinančius ryšius, joks vietinio porto derinimas nepadarys jo pasiekiamo.

Ar šis partneris inicijuoja ryšį? Jei jis skambina į išorę, dinaminis šaltinio portas yra nekenksmingas ir paprastai geresnis, nes atsakymas grįžta tuo pačiu srautu. Jei jis laukia įeinančių ryšių, dinaminis portas padaro jį nepasiekiamą, nebent kažkas priekyje paskelbia portą. Tas vienas atsakymas atskiria kiekvieną kliento profilį nuo kiekvieno serverio profilio.

Ar kelias filtruoja pagal šaltinio portą? Griežta taisyklė, parašyta vienam žinomam portui, reikalauja aiškaus vietinio porto, o profilis turėtų įrašyti, kurią taisyklę jis atitinka. Dauguma tinklų filtruoja tik pagal paskirtį, todėl ši sąlyga retesnė už pirmąją. Kur ji taikoma, ji nusveria dinaminio porto preferenciją.

Ar kelios instancijos dalijasi hostu? Vienas fiksuotas portas negali aptarnauti dviejų jų, o paleista iš naujo instancija gali rasti 1194 dar užsidarymo būsenoje. Dinaminiai portai pašalina tą konfliktą nieko kito nekeisdami. Jei negalite užtikrintai atsakyti, manykite, kad taip, ir leiskite branduoliui pasirinkti.

Kur prisegtas portas yra teisingas atsakymas

Kai kurie tinklai filtruoja ir pagal šaltinio portą, ir pagal paskirtį, todėl operatorius galėjo parašyti taisyklę, kuri praleidžia srautą tik iš vieno žinomo porto. Prisegti vietinį portą tada yra teisinga, o profilis turėtų turėti komentarą, įvardijantį atitinkamą taisyklę. Prisegti dėl simetrijos su serverio portu nėra priežastis, nes tie du skaičiai neturi nieko bendra. Jei prisegimas egzistuoja tik todėl, kad šablonas jį turėjo, ištrinkite jį.

Priešingu atveju prisegtas portas nusiperka bėdų: du klientai vienoje mašinoje negali abu laikyti 1194, o antrasis nepavyksta su klaida, kuri nurodo portą, o ne profilį. Konteineris, kuris greitai paleidžiamas iš naujo, atsitrenkia į tą pačią sieną. Taisymas yra direktyva, kurią pateikti profiliai jau turėjo.

Serveris ir klientas nėra simetriški

OpenVPN 2.6 vadovas padeda nobind šalia lport, ir tai yra argumentas vienoje eilutėje: viena parinktis sako, kad renkasi branduolys, kita – kad renkatės jūs. Dinaminis vietinis portas veikia tik tam partneriui, kuris skambina, nes atsakanti pusė negali iš anksto žinoti porto. Todėl kliento profilio kopijavimas į serverį sukuria klausytoją, kurio niekas negali pasiekti.

Hoste su keliais tinklo sąsajomis adresas yra atskiras sprendimas nuo porto. Konkretaus vietinio adreso susiejimas ir konkretaus porto susiejimas yra du skirtingi nustatymai, o serveris su dviem viršutinėmis jungtimis paprastai prisega abu. Klientas, kuris prisega abu, prisiėmė tą patį standumą be jokios naudos.

Santrauka apie vaidmenis, o ne apie saugumą: kas skambina, gali būti lankstus dėl savo šaltinio, o kas atsako, negali. Nė vienas pasirinkimas nekeičia to, ką kita pusė sužino apie jūsų tapatybę. Todėl direktyva pasirodo klientų pavyzdžiuose ir beveik niekada serverių pavyzdžiuose.

Patikrinkite portą, kurį pasirinko branduolys

Po prisijungimo skaitykite lizdą, o ne konfigūraciją, nes konfigūracija nurodo ketinimą, o lizdas – kas įvyko. Faktai, kuriuos verta užrašyti, yra vietinis portas, nuotolinis galinis taškas ir ar dar kažkas klausosi. Linux hoste visi trys yra vienos komandos atstumu.

ss -unp | grep openvpn
ss -lunp | grep openvpn
sudo lsof -nP -i | grep openvpn

Klientas su nobind rodo aukštą vietinį portą ir sukonfigūruotą nuotolinį portą, o tai yra laukiama forma. Serveris rodo klausantį lizdą savo sukonfigūruotame porte, o jei to lizdo nėra, profilis arba nėra klausytojas, arba nepavyko susieti. Kai srautas egzistuoja, bet paketai negrįžta, palyginkite pasirinktą šaltinio portą su bet kokiu kelyje esančiu portų filtru prieš redaguodami profilį. Pakeiskite vieną dalyką, prisijunkite iš naujo ir dar kartą perskaitykite lizdą.

Susiję straipsniai