{"id":74655,"date":"2020-03-19T08:42:34","date_gmt":"2020-03-19T05:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh"},"modified":"2020-03-19T08:42:34","modified_gmt":"2020-03-19T05:42:34","slug":"kogda-linux-conntrack-vam-bolshe-ne-tovarishh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh","title":{"rendered":"Kada vam Linux conntrack vi\u0161e nije prijatelj","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kada vam Linux conntrack vi\u0161e nije prijatelj\" src=\"\/wp-content\/uploads\/2020\/03\/588a169e5cfe0714694b8d7ff03985d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Pra\u0107enje veza (\u201econntrack\u201c) je osnovna funkcija mre\u017enog stoga Linux jezgra. Omogu\u0107uje jezgru da prati sve logi\u010dke mre\u017ene veze ili tokove, \u010dime se identifikuju svi paketi koji \u010dine svaki tok, omogu\u0107avaju\u0107i njihovu sekvencijalnu obradu.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Conntrack je va\u017ena funkcija jezgra koja se koristi u nekim osnovnim slu\u010dajevima:<\/p>\n<p><\/p>\n<ul>\n<li>NAT se oslanja na informacije iz conntrack-a, tako da mo\u017ee jednako obraditi sve pakete iz jednog toka. Na primer, kada pod poziva Kubernetes servis, kube-proxy balancer optere\u0107enja koristi NAT za usmeravanje prometa na odre\u0111eni pod unutar klastera. Conntrack bele\u017ei da svi paketi za odre\u0111enu vezu moraju biti poslati istom pod-u, i da se paketi koje vra\u0107a pod backend-a moraju NAT-om vratiti u pod iz kojeg je zahtev do\u0161ao.<\/li>\n<li>Vatrozidovi sa pra\u0107enjem stanja, kao \u0161to je Calico, oslanjaju se na informacije iz conntrack-a kako bi dodali \"odgovaraju\u0107i\" promet na belu listu. Ovo vam omogu\u0107ava da napi\u0161ete mre\u017enu politiku koja ka\u017ee: \"dozvoli mom pod-u da se povezuje sa bilo kojom udaljenom IP adresom\" bez potrebe za pisanjem politike za eksplicitno odobravanje povratnog prometa. (Bez ovoga biste morali dodati mnogo manje bezbedno pravilo \"dozvoli pakete u moj pod sa bilo kog IP-a.\" )<\/li>\n<\/ul>\n<p><\/p>\n<p>Pored toga, conntrack obi\u010dno pobolj\u0161ava performanse sistema (smanjuju\u0107i potro\u0161nju procesorskog vremena i vreme ka\u0161njenja paketa), jer samo prvi paket u toku<br \/>\nmora pro\u0107i kroz kompletnu obradu mre\u017enog stoga kako bi se odredilo \u0161ta u\u010diniti s njim. Pogledajte post \"<noindex><a rel=\"nofollow\" href=\"https:\/\/www.tigera.io\/blog\/comparing-kube-proxy-modes-iptables-or-ipvs\/\">Upore\u0111ivanje re\u017eima kube-proxy<\/a><\/noindex>\u2018 da vidite primer kako to funkcioni\u0161e.<\/p>\n<p><\/p>\n<p>Ipak, conntrack ima svoja ograni\u010denja\u2026<\/p>\n<p><\/p>\n<h3 id=\"itak-gde-vse-poshlo-ne-tak\">Dakle, gde je sve po\u0161lo po zlu?<\/h3>\n<p><\/p>\n<p>Conntrack tabela ima prilagodljivu maksimalnu veli\u010dinu, i kada se napuni, veze se obi\u010dno po\u010dinju odbijati ili prekidati. Za obradu prometa ve\u0107ine aplikacija, u tabeli ima dovoljno slobodnog mesta i to nikada ne\u0107e postati problem. Ipak, postoji nekoliko scenarija u kojima vredi razmisliti o kori\u0161\u0107enju conntrack tabele:<\/p>\n<p><\/p>\n<ul>\n<li>Naj o\u010digledniji slu\u010daj je kada va\u0161 server obra\u0111uje izuzetno veliki broj aktivnih povezanih spojeva istovremeno. Na primjer, ako je va\u0161a conntrack tablica pode\u0161ena na 128k zapisa, ali imate vi\u0161e od 128k istovremenih veza, sigurno \u0107ete nai\u0107i na problem!<\/li>\n<li>Malo manje o\u010digledan slu\u010daj je kada va\u0161 server obra\u0111uje vrlo veliki broj veza po sekundi. \u010cak i ako su veze kratkotrajne, Linux ih nastav\u0459\u0430 pratiti tokom odre\u0111enog vremenskog razdoblja (po defaultu 120s). Na primjer, ako je va\u0161a conntrack tablica pode\u0161ena na 128 tisu\u0107a zapisa i poku\u0161avate obraditi 1100 veza u sekundi, one \u0107e prema\u0161iti veli\u010dinu conntrack tablice, \u010dak i ako su veze vrlo kratkotrajne (128k \/ 120s = 1092 veze \/ s).<\/li>\n<\/ul>\n<p><\/p>\n<p>Postoji nekoliko specifi\u010dnih tipova aplikacija koje spadaju u ove kategorije. Osim toga, ako imate mnogo protivnika, popunjavanje conntrack tablice va\u0161eg servera brojnim poluotvorenim vezama mo\u017ee se koristiti u okviru napada tipa \"odbijanje usluge\" (DoS). U oba slu\u010daja, conntrack mo\u017ee postati ograni\u010davaju\u0107e usko grlo u va\u0161em sustavu. U nekim slu\u010dajevima, pode\u0161avanje parametara conntrack tablice mo\u017ee biti dovoljno da zadovolji va\u0161e potrebe - pove\u0107avanjem veli\u010dine ili smanjenjem vremenskih ograni\u010denja conntrack (ali ako to uradite pogre\u0161no, nai\u0107i \u0107ete na velike pote\u0161ko\u0107e). Za druge slu\u010dajeve bit \u0107e potrebno zaobi\u0107i conntrack za agresivni promet.<\/p>\n<p><\/p>\n<h4 id=\"realnyy-primer\">Stvaran primjer<\/h4>\n<p><\/p>\n<p>Uzmimo konkretan primjer: jedan veliki SaaS davatelj usluga s kojim smo radili imao je niz memcached servera na hostovima (ne virtualnim ma\u0161inama), od kojih je svaki obra\u0111ivao vi\u0161e od 50K kratkotrajnih veza u sekundi.<\/p>\n<p><\/p>\n<p>Eksperimentirali su s konfiguracijom conntrack, pove\u0107avali veli\u010dine tablica i skra\u0107ivali vremena pra\u0107enja, ali konfiguracija je bila nepouzdana, znatno se pove\u0107ala potro\u0161nja RAM-a, \u0161to je bio problem (desetci GB!), a veze su bile toliko kratke da conntrack nije ostvarivao svoju uobi\u010dajenu dobit u performansama (smanjenje potro\u0161nje CPU-a ili ka\u0161njenja paketa).<\/p>\n<p><\/p>\n<p>Kao alternativu, obratili su se Calico-u. Mre\u017ene politike Calico omogu\u0107uju da se ne koristi conntrack za odre\u0111ene vrste prometa (koriste\u0107i opciju doNotTrack za politike). To im je osiguralo potrebnu razinu performansi plus dodatnu razinu sigurnosti koju pru\u017ea Calico.<\/p>\n<p><\/p>\n<h4 id=\"na-chto-pridetsya-poyti-chtoby-oboyti-conntrack\">Na \u0161to \u0107ete morati pristati da bisteobi\u0161li conntrack?<\/h4>\n<p><\/p>\n<ul>\n<li>Mre\u017ene politike do-not-track obi\u010dno trebaju biti simetri\u010dne. U slu\u010daju SaaS pru\u017eatelja: njihove aplikacije radile su unutar za\u0161ti\u0107ene zone i stoga su pomo\u0107u mre\u017ene politike mogli staviti na bijelu listu promet s drugih konkretnih aplikacija kojima je bio dopu\u0161ten pristup memcached-u.<\/li>\n<li>Politika do-not-track ne uzima u obzir smjer veze. Tako, u slu\u010daju napada na memcached server, teoretski se mo\u017ee poku\u0161ati povezati s bilo kojim od memcached klijenata ako koristi pravi izvorni port. Me\u0111utim, ako ste ispravno definirali mre\u017enu politiku za svoje memcached klijente, taj \u0107e poku\u0161aj povezivanja i dalje biti odbijen na strani klijenta.<\/li>\n<li>Politika do-not-track primjenjuje se na svaki paket, za razliku od uobi\u010dajenih politika koje se primjenjuju samo na prvi paket iz toka. To mo\u017ee pove\u0107ati optere\u0107enje CPU-a za jedan paket, jer se politika mora primijeniti na svaki paket. No, za kratkoro\u010dne veze ovo optere\u0107enje se izjedna\u010duje smanjenjem potro\u0161nje resursa za obradu conntrack-a. Na primjer, u slu\u010daju SaaS pru\u017eatelja, broj paketa za svaku vezu bio je vrlo mali, stoga je dodatna potro\u0161nja CPU-a pri primjeni politika na svaki paket bila opravdana.<\/li>\n<\/ul>\n<p><\/p>\n<h4 id=\"pristupim-k-testam\">Krenimo s testovima<\/h4>\n<p><\/p>\n<p>Izveli smo test na jednom podu s memcached poslu\u017eiteljem i velikim brojem podova s memcached klijentima, pokrenutih na udaljenim \u010dvorovima, kako bismo mogli obraditi vrlo veliki broj veza u sekundi. Poslu\u017eitelj s podom memcached poslu\u017eitelja imao je 8 jezgri i 512k unosa u conntrack tablici (standardno postavljeni veli\u010dina tablice za doma\u0107ina).<br \/>\nMjereni smo razliku u performansama izme\u0111u: bez mre\u017ene politike; s uobi\u010dajenom Calico politikom; i Calico do-not-track politikom.<\/p>\n<p><\/p>\n<p>Za prvi test postavili smo broj konekcija na 4.000 u sekundi, tako da smo mogli fokusirati na razliku u potro\u0161nji CPU-a. Nije bilo zna\u010dajnih razlika izme\u0111u odsustva politike i uobi\u010dajene politike, ali je do-not-track pove\u0107ao potro\u0161nju CPU-a za otprilike 20%.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Kada vam Linux conntrack vi\u0161e nije prijatelj\" src=\"\/wp-content\/uploads\/2020\/03\/6762772cb8e5f089a3ed444aff8cb8f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>U drugom testu pokrenuli smo onoliko konekcija koliko su na\u0161i klijenti mogli generirati i mjerili smo maksimum broj konekcija u sekundi koje je mogao obraditi na\u0161 memcached server. Kako se i o\u010dekivalo, u slu\u010daju \u201ebez politika\u201c i \u201euobi\u010dajena politika\u201c oboje je dostiglo limit conntracka od vi\u0161e od 4.000 konekcija u sekundi (512k \/ 120s = 4.369 konekcija\/s). S do-not-track politikom na\u0161i klijenti su slali 60.000 konekcija u sekundi bez ikakvih problema. Sigurni smo da bismo mogli pove\u0107ati ovaj broj spajanjem ve\u0107eg broja klijenata, ali smatramo da su ovi brojevi ve\u0107 dovoljni da ilustriraju poantu ovog \u010dlanka!<\/p>\n<p>\n<img decoding=\"async\" alt=\"Kada vam Linux conntrack vi\u0161e nije prijatelj\" src=\"\/wp-content\/uploads\/2020\/03\/f3beeb1793a3158018274079da953a2c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4 id=\"zaklyuchenie\">Zaklju\u010dak<\/h4>\n<p><\/p>\n<p>Conntrack je va\u017ena funkcija jezgra. Odli\u010dno obavlja svoj posao. \u010cesto ga koriste klju\u010dne komponente sustava. Me\u0111utim, u nekim odre\u0111enim scenarijima, preoptere\u0107enje zbog conntracka nadma\u0161uje uobi\u010dajene prednosti koje pru\u017ea. U ovom scenariju, mre\u017ene politike Calico mogu se koristiti za selektivno isklju\u010divanje kori\u0161tenja conntracka, istovremeno pove\u0107avaju\u0107i razinu mre\u017ene sigurnosti. Za sav ostali promet conntrack ostaje va\u0161 prijatelj!<\/p>\n<p><\/p>\n<h2 id=\"takzhe-chitayte-drugie-stati-v-nashem-bloge\">Tako\u0111er pro\u010ditajte druge \u010dlanke na na\u0161em blogu:<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/473578\/\">Izrada dinami\u010dkih modula za Nginx<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/473014\/\">Uvod u Hashicorp Consulovu autorizaciju za Kubernetes<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/426543\/\">Stateful backup u Kubernetesu<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/424717\/\">Sigurnosno kopiranje velikog broja heterogenih web projekata<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/347526\/\">Telegram-bot za Redmine. Kako olak\u0161ati \u017eivot sebi i drugima<\/a><\/noindex><\/li>\n<\/ul>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nixys\/blog\/492686\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u201cconntrack\u201d) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u044f\u0434\u0440\u0430 Linux. \u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044f\u0434\u0440\u0443 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u043e\u0442\u043e\u043a\u0438 \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u0442\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u0435. Conntrack \u2014 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: NAT \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0442 \u0441onntrack, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74656,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74655","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u201cconntrack\u201d) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 Linux conntrack \u0432\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u201cconntrack\u201d) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-19T05:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-19T05:42:34+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kada vam Linux conntrack vi\u0161e nije prijatelj | ProHoster","description":"Pra\u0107enje konekcija (\u201cconntrack\u201d) je.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 Linux conntrack \u0432\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449 | ProHoster","og:description":"\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 (\u201cconntrack\u201d) \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/kogda-linux-conntrack-vam-bolshe-ne-tovarishh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-19T05:42:34+00:00","article:modified_time":"2020-03-19T05:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74655","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:10:25","updated":"2022-10-05 19:52:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/74655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=74655"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/74655\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/74656"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=74655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=74655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=74655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}