{"id":81265,"date":"2020-05-12T01:42:43","date_gmt":"2020-05-11T23:42:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux"},"modified":"2020-05-12T01:42:43","modified_gmt":"2020-05-11T23:42:43","slug":"bystryj-routing-i-nat-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","title":{"rendered":"Kiire routing ja NAT Linuxis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>IPv4 aadresside ammendumise t\u00f5ttu seisavad paljud telekommunikatsiooniettev\u00f5tted silmitsi vajadusega korraldada oma klientide juurdep\u00e4\u00e4s v\u00f5rku aadresside t\u00f5lke abil. Selles artiklis r\u00e4\u00e4gin, kuidas saavutada Carrier Grade NAT tasemel j\u00f5udlus kommoditeediserveritel.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Enne kui liigume edasi<\/h3>\n<p>\nIPv4 aadressiruumide ammendumise teema ei ole enam uus. Teatud hetkel tekkisid RIPE'is ooteread (waiting list), seej\u00e4rel ilmusid b\u00f6rsid, kus kaupleti aadressiblokke ning s\u00f5lmiti lepingud nende rentimiseks. Aja jooksul hakkasid telekommunikatsiooniettev\u00f5tted pakkuma interneti juurdep\u00e4\u00e4su aadresside ja portide t\u00f5lke abil. M\u00f5ned ei saanud piisavalt aadresse, et anda igale tellijale 'valget' aadressi, teised alustasid s\u00e4\u00e4stmist, loobudes aadresside ostmisest sekundaarsetelt turgudelt. V\u00f5rguseadmete tootjad toetasid seda ideed, kuna see funktsioon n\u00f5uab tavaliselt t\u00e4iendavaid laiendusi v\u00f5i litsentse. N\u00e4iteks Juniperi MX marsruuteri seerias (v\u00e4lja arvatud viimased MX104 ja MX204) saab NAPT-i teostada eraldi teenusekaardil MS-MIC, Cisco ASR1k puhul on vajalik CGN litsents, Cisco ASR9k puhul on vajalik eraldi A9K-ISM-100 moodul ja litsents A9K-CGN-LIC selle jaoks. \u00dcldiselt ei ole see odav l\u00f5bu.<\/p>\n<h3>IPTables<\/h3>\n<p>\nNAT-i teostamise \u00fclesanne ei n\u00f5ua spetsialiseeritud arvutiv\u00f5imsust, see on suuteline lahendama tavalised protsessorid, mis on installitud n\u00e4iteks igas koduses ruuteris. Telekommunikatsiooniettev\u00f5tte mastaabis saab selle \u00fclesande lahendada, kasutades kommertservereid FreeBSD (ipfw\/pf) v\u00f5i GNU\/Linux (iptables) operatsioonis\u00fcsteemidega. FreeBSD-d ei k\u00e4sitle, kuna ma olen juba pikka aega loobunud selle OS-i kasutamisest, seega peatume GNU\/Linuxi peal.<\/p>\n<p>Aadresside t\u00f5lke lubamine ei ole sugugi keeruline. Alustamiseks tuleb kirjutada reegel iptables'i nat tabelisse:<\/p>\n<pre><code class=\"bash\">iptables -t nat -A POSTROUTING -s 100.64.0.0\/10 -j SNAT --to - --persistent\n<\/code><\/pre>\n<p>\nOperatsioonis\u00fcsteem laadib nf_conntrack mooduli, mis j\u00e4lgib k\u00f5iki aktiivseid \u00fchendusi ja viib l\u00e4bi vajalikud muutused. Siin on m\u00f5ned n\u00fcansid. Esiteks, kuna tegu on operaatori NAT-iga, tuleb ajav\u00e4lja timeout-e kohandada, sest vaikev\u00e4\u00e4rtustega v\u00f5ib t\u00f5lgete tabel kiiresti j\u00f5uda katastroofiliste suurusteni. Allpool on n\u00e4ide seadistustest, mida olen oma serverites kasutanud:<\/p>\n<pre><code class=\"bash\">net.ipv4.ip_forward = 1\nnet.ipv4.ip_local_port_range = 8192 65535\n\nnet.netfilter.nf_conntrack_generic_timeout = 300\nnet.netfilter.nf_conntrack_tcp_timeout_syn_sent = 60\nnet.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60\nnet.netfilter.nf_conntrack_tcp_timeout_established = 600\nnet.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60\nnet.netfilter.nf_conntrack_tcp_timeout_close_wait = 45\nnet.netfilter.nf_conntrack_tcp_timeout_last_ack = 30\nnet.netfilter.nf_conntrack_tcp_timeout_time_wait = 120\nnet.netfilter.nf_conntrack_tcp_timeout_close = 10\nnet.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300\nnet.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300\nnet.netfilter.nf_conntrack_udp_timeout = 30\nnet.netfilter.nf_conntrack_udp_timeout_stream = 60\nnet.netfilter.nf_conntrack_icmpv6_timeout = 30\nnet.netfilter.nf_conntrack_icmp_timeout = 30\nnet.netfilter.nf_conntrack_events_retry_timeout = 15\nnet.netfilter.nf_conntrack_checksum=0\n<\/code><\/pre>\n<p>\nJa teiseks, kuna vaikimisi tabeli suurus ei ole kohandatud operaatoritingimustele, tuleb seda suurendada:<\/p>\n<pre><code class=\"plaintext\">net.netfilter.nf_conntrack_max = 3145728\n<\/code><\/pre>\n<p>\n Samuti tuleb suurendada ka p\u00e4iste arvu hash-tabelis, mis sisaldab k\u00f5iki muundamisi (see on nf_conntrack mooduli valik): <\/p>\n<pre><code class=\"plaintext\">options nf_conntrack hashsize=1572864\n<\/code><\/pre>\n<p>\nP\u00e4rast neid lihtsaid toiminguid tekib t\u00e4iesti t\u00f6\u00f6korras lahendus, mis suudab edastada suurt hulka klientide aadresse v\u00e4liste aadresside kogusse. Siiski, selle lahenduse j\u00f5udlus j\u00e4\u00e4b soovitust madalamaks. Oma esimestel katsetel kasutada GNU\/Linuxi NAT-ina (umbes aastal 2013) sain \u00fche serveri (Xeon E5-1650v2) korral j\u00f5udluse umbes 7Gbit\/s ja 0.8Mpps. Sellest ajast on GNU\/Linuxi s\u00fcdamiku v\u00f5rgustiku sisene tehtud palju erinevaid optimeerimisi, \u00fche serveri j\u00f5udlus samal riistvaral on t\u00f5usnud praktiliselt 18-19 Gbit\/s ja 1.8-1.9 Mpps (need olid piiri v\u00e4\u00e4rtused), kuid \u00fche serveri k\u00e4ideldava liikluse maht on kasvanud palju kiiremini. L\u00f5puks on v\u00e4lja t\u00f6\u00f6tatud koormuse tasakaalustamise skeemid erinevate serverite vahel, kuid see k\u00f5ik on suurendanud seadistamise, hooldamise ja teenuse kvaliteedi s\u00e4ilitamise keerukust.<\/p>\n<h3>NFTables<\/h3>\n<p>\nPraegu on moes programmide \"pakettide \u00fcmberpanemise\" suund DPDK ja XDP kasutamine. Sellel teemal on kirjutatud hulgaliselt artikleid, toimunud on palju erinevaid ettekandeid ja turule on ilmunud kaubanduslikke tooteid (n\u00e4iteks SCAT firmalt VasExperts). Kuid piiratud inimressurssidega programmeerijatel on keeruline ise midagi sarnast nende raamistike baasil kokku panna. Sellise lahenduse kasutamine hiljem osutub palju keerulisemaks, sealhulgas tuleb v\u00e4lja t\u00f6\u00f6tada diagnostikavahendid. N\u00e4iteks tavap\u00e4rane tcpdump DPDK-ga lihtsalt ei t\u00f6\u00f6ta, samuti ei \"n\u00e4e\" ta pakette, mis saadetakse tagasi juhtmetesse XDP abil. Uute tehnoloogiate, mis edastavad pakette user-space'is, r\u00e4\u00e4kimise taustal on t\u00e4helepanuta j\u00e4\u00e4nud <noindex><a rel=\"nofollow\" href=\"https:\/\/netdevconf.info\/0x13\/session.html?workshop-netfilter-mini\">ettekanded<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/738214\/\">artikleid<\/a><\/noindex> Pablo Neira Ayuso, iptables'i hooldaja, r\u00e4\u00e4kis flow offloading'i arendamisest nftables'is. Vaadakem seda mehhanismi l\u00e4hemalt.<\/p>\n<p>Peamine idee seisneb selles, et kui ruuter on lasknud sama sessiooni pakette m\u00f5lemas suunas voos (TCP sessioon on l\u00e4inud ESTABLISHED olekusse), siis ei ole tarvis edasisi selle sessiooni pakette l\u00e4bi k\u00f5igi tulem\u00fc\u00fcrireeglite lasta, kuna k\u00f5ik need kontrollid l\u00f5ppevad igal juhul paketi edastamisega edasise suunamise juurde. Ja valiku tegemine marsruudi suhtes pole samuti vajalik \u2014 me teame juba, milliseks liideseks ja millisele hostile tuleb paketid selle sessiooni piires edastada. J\u00e4\u00e4b vaid see teave salvestada ja kasutada seda paketi varajases t\u00f6\u00f6tlemise etapis marsruudiks. NAT'i t\u00e4itmisel on vajalik ka salvestada teave aadresside ja sadamate muudatuste kohta, mida transformaator nf_conntrack on teinud. Jah, muidugi, sel juhul l\u00f5petavad t\u00f6\u00f6 mitmesugused poliitikavahendajad ja muud teabe-statistilised reeglid iptables'is, kuid eraldi NAT'i v\u00f5i n\u00e4iteks piiri\u00fclese \u00fclesande kontekstis ei ole see sugugi nii oluline, kuna teenused on jaotatud seadmete vahel.<\/p>\n<h4>Konfiguratsioon<\/h4>\n<p>\nSelle funktsiooni kasutamiseks peame:<\/p>\n<ul>\n<li>Kasutama v\u00e4rsket kernelit. Kuigi see funktsioon ilmus juba kernelis 4.16, oli see \u00fcsna kaua v\u00e4ga \"toores\" ja p\u00f5hjustas regulaarselt kernel panic'e. K\u00f5ik stabiliseerus umbes detsembris 2019, kui ilmusid LTS kernelid 4.19.90 ja 5.4.5.<\/li>\n<li>Kirjutage iptables reeglid \u00fcmber nftables formaati, kasutades piisavalt v\u00e4rsket nftables versiooni. T\u00f6\u00f6tab t\u00e4pselt versioonis 0.9.0<\/li>\n<\/ul>\n<p>\nKui esimese punktiga on p\u00f5him\u00f5tteliselt selge, et peamine on unustada mitte lubada moodulit konfigureerimises (CONFIG_NFT_FLOW_OFFLOAD=m), siis teine punkt vajab selgitusi. Nftables reeglid on kirjeldatud t\u00e4iesti teisiti kui iptables. <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Main_Page\">Dokumentatsioon<\/a><\/noindex> katab praktiliselt k\u00f5ik aspektid, samuti on olemas spetsiaalsed <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Moving_from_iptables_to_nftables\">konverterid<\/a><\/noindex> reeglitest iptables-st nftables-sse. Seet\u00f5ttu toon v\u00e4lja ainult NAT-i ja flow offloadi seadistuse n\u00e4ite. V\u00e4ike legend n\u00e4ite jaoks: <i>,  \u2014 need on v\u00f5rgu liidesed, mille kaudu l\u00e4bib liiklus, neid v\u00f5ib olla tegelikult rohkem kui kaks. , \u2014 valgete aadresside vahemiku alg- ja l\u00f5puaadress.<\/p>\n<p>NAT konfiguratsioon on v\u00e4ga lihtne:<\/p>\n<pre><code class=\"bash\">#! \/usr\/sbin\/nft -f\n\ntable nat {\n        chain postrouting {\n                type nat hook postrouting priority 100;\n                oif &lt;o_if&gt; snat to &lt;pool_addr_start&gt;-&lt;pool_addr_end&gt; persistent\n        }\n}\n<\/code><\/pre>\n<p>\nFlow offloadiga on veidi keerulisem, kuid t\u00e4iesti arusaadav:<\/p>\n<pre><code class=\"bash\">#! \/usr\/sbin\/nft -f\n\ntable inet filter {\n        flowtable fastnat {\n                hook ingress priority 0\n                devices = { &lt;i_if&gt;, &lt;o_if&gt; }\n        }\n\n        chain forward {\n                type filter hook forward priority 0; policy accept;\n                ip protocol { tcp , udp } flow offload @fastnat;\n        }\n}\n<\/code><\/pre>\n<p>\nSedasi ongi kogu seadistus. N\u00fc\u00fcd j\u00f5uab kogu TCP\/UDP liiklus fastnat tabelisse ja seda t\u00f6\u00f6deldakse palju kiiremini.<\/p>\n<h3>tulemused n\u00e4itasid ainult nelja ebaolulise koodibloki kattuvust, mis olid tingitud POSIX ja ANSI C n\u00f5uetest.<\/h3>\n<p>\nEt m\u00f5ista, kui palju \"palju kiiremini\", kasutan ekraanipilti kahe reaalse serveri koormusest, millel on sama konfiguratsioon (Xeon E5-1650v2), v\u00f5rdne seadistamine, mis kasutavad sama Linuxi kernelit, kuid teostavad NAT-i iptables (NAT4) ja nftables (NAT5) abil.<\/p>\n<p><img decoding=\"async\" alt=\"Kiire routing ja NAT Linuxis\" src=\"\/wp-content\/uploads\/2020\/05\/94bd3f58bf499ceb9837cd771cc9ef9f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEkraanipildil ei ole pakettide sekundis graafikut, kuid nende serverite koormuse profiilis on paketi keskmine suurus umbes 800 baidi, seega v\u00e4\u00e4rtused ulatuvad 1.5Mpps. Nagu n\u00e4ha, on nftables serveri sooritusv\u00f5ime reserv tohutu. Praegu suudab see server t\u00f6\u00f6delda kuni 30Gbit\/s kiirusel 3Mpps ja on selgelt v\u00f5imeline saavutama f\u00fc\u00fcsilise v\u00f5rgu piirangu 40Gbps, omades samal ajal vabade CPU ressursside.<\/p>\n<p>Loodan, et see materjal on kasulik v\u00f5rguinseneridele, kes p\u00fc\u00fcavad parandada oma serverite j\u00f5udlust.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/501234\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u044f Carrier Grade NAT \u043d\u0430 commodity \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0422\u0435\u043c\u0430 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 IPv4 \u0443\u0436\u0435 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 RIPE \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81265","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.\" \/>\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\/et\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 NAT \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux\" \/>\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-05-11T23:42:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-11T23:42:43+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\udd47Kiire rooteerimine ja NAT Linuxis | ProHoster","description":"IPv4 aadresside ammendumise t\u00f5ttu seisavad paljud sideoperaatorid silmitsi vajadusega korraldada oma klientide juurdep\u00e4\u00e4s v\u00f5rku aadresside t\u00f5lkimise kaudu.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 NAT \u0432 Linux | ProHoster","og:description":"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","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-05-11T23:42:43+00:00","article:modified_time":"2020-05-11T23:42:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81265","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 16:01:23","updated":"2022-09-28 04:47:17","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=81265"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/81265\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/81266"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=81265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=81265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=81265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}