Atsitiktinių prievadų generatorius
Techninė informacija
Kaip veikia atsitiktinių prievadų generatorius
Ką daro įrankis
Atsitiktinių prievadų generatorius parenka vieną ar kelis TCP/UDP prievadų numerius iš prašomo IANA intervalo, naudodamas crypto.getRandomValues() su nešališka atmetimo atranka. Pagal numatytuosius nustatymus jis vengia tiek gerai žinomų prievadų, tiek kuruojamo plačiai naudojamų kūrimo prievadų sąrašo (3000, 8080, 5432, 6379 ir kt.), todėl sugeneruoti numeriai iš karto tinka naujoms vietinėms paslaugoms.
Dažniausi kūrėjų naudojimo atvejai
Kūrėjai, paleidžiantys naujas mikroservisų sistemas, docker-compose rinkinius ar trumpalaikes testavimo aplinkas, naudoja įrankį, kad parinktų nekonfliktuojančius prievadus negalvodami. SRE specialistai paskirsto prievadus naujoms vidinėms paslaugoms neperžiūrėdami IANA lentelių rankiniu būdu. „Ephemeral“ intervalas idealiai tinka kliento pusės TCP testavimo įrankiams, kuriems reikia trumpalaikių lizdų, atitinkančių produkcinę branduolio elgseną.
Duomenų formatai, tipai arba variantai
Galimi trys iš anksto apibrėžti intervalai: Well-known (1–1023), Registered / Unprivileged (1024–49151) ir Dynamic / Ephemeral (49152–65535). Kiekvienas sugeneruotas numeris pažymimas savo klasifikacija. Dažnų prievadų vengimo sąrašas apima HTTP/HTTPS, SSH, dažnus duomenų bazių prievadus, dažnus kūrimo serverius, pranešimų eiles ir standartines talpyklos paslaugas.
Dažniausios klaidos ir kraštiniai atvejai
Atsitiktinis prievadų parinkimas netikrina, ar prievadas jūsų kompiuteryje iš tikrųjų laisvas — tam reikia OS lygio bind bandymo. „Venkite dažnų prievadų“ sąrašas yra kuruojamas, bet ne išsamus; kai kurie industrijai būdingi numatytieji (Cassandra 9042, Elasticsearch 9300 ir kt.) yra pažymėti, tačiau individualios vidinės paslaugos vis tiek gali konfliktuoti. Jei pirmasis pasirinkimas konfliktuoja su kažkuo vietiniu, sugeneruokite naują rinkinį.
Kada naudoti šį įrankį, o kada kodą
Naudokite naršyklės įrankį konfigūruodami vienkartinę paslaugą arba rašydami pavyzdį. Automatizacijoje geriau prašyti OS priskirti prievadą (prisirišti prie prievado 0 ir perskaityti parinktą reikšmę) — taip garantuojama, kad prievadas iš tikrųjų laisvas, ir išvengiama lenktynių tarp atsitiktinio parinkimo ir bind.