{"id":2525,"date":"2007-02-16T12:32:13","date_gmt":"2007-02-16T10:32:13","guid":{"rendered":"https:\/\/versme.net\/blog\/?p=2525"},"modified":"2013-12-28T14:58:54","modified_gmt":"2013-12-28T12:58:54","slug":"iptables-naudojimas","status":"publish","type":"post","link":"https:\/\/versme.net\/blog\/iptables-naudojimas\/","title":{"rendered":"IPTABLES naudojimas"},"content":{"rendered":"<p>IPTABLES tai paket\u0173 filtras (prafiltruojami nereikalingi paketai (nesupratusiems tai paketai b\u016bt\u0173 tinklo srautas; juos filtruoti reikia, nes visi\u0161kai u\u017edarydami nereikalingus prievadus (pavyzd\u017eiui 80 prievad\u0105, kurio mes nenaudojame, arba 22 (SSH)) mes suma\u017einame \u012fsilau\u017eimo tikimyb\u0119), taip pat jie gali b\u016bti persiun\u010diami \u012f kit\u0105 kompiuter\u012f (su IPTABLES galima i\u0161 paprasto kompiuterio pasidaryti mar\u0161rutizatori\u0173 (aparatas, kuris apr\u016bpina tinkl\u0105 srautu ir atlieka dar kelet\u0105 funkcij\u0173, bet \u0161i buvo esmin\u0117)); kitaip sakant IPTABLES gali dirbti ne tik kaip ugniasien\u0117, bet ir mar\u0161rutizatorius) Unix tipo sistemoms. Juo i\u0161 tikr\u0173j\u0173 gana patogu naudotis ir jis yra labai galingas. Bet tai tik mano nuomon\u0117. \u012esitikinti gal\u0117site \u0161iame straipsnyje.<\/p>\n<p>Jau senai nor\u0117jau para\u0161yti straipsn\u012f apie IPTABLES naudojim\u0105. Visk\u0105 darysime Gentoo sistemoje, tod\u0117l gali kilti \u0161iek tiek nesuderinamum\u0173 tarp kit\u0173 OS d\u0117l komand\u0173, bet pagrindin\u0117s IPTABLES komandos tos pa\u010dios. Pavyzdyje naudosim\u0117s 2.6 kernel\u2019iu.<\/p>\n<p>Pirmiausiai turime \u012fsitikinti, kad m\u016bs\u0173 sistema palaiko IPTABLES, o ne IPCHAINS (tai senesn\u0117 paket\u0173 filtro versija, kuri naudojama 2.4 kerneliuose). Tai padarysime \u0161ia komanda:<\/p>\n<blockquote><p><em><code># grep -i netfilter \/usr\/src\/linux\/.config<\/code><\/em><\/p><\/blockquote>\n<p>Jeigu gausime atsakym\u0105, kuris n\u0117ra \u201eCONFIG_NETFILTER=y\u201c, vadinasi mes neturime IPTABLES palaikymo dabar naudojamame kernel\u2019yje. O jeigu gausime tok\u012f atsakym\u0105 tai galime praleisti kernel\u2019io kompiliavimo sekcij\u0105.<\/p>\n<p><strong>Kompiliuojame kernel\u2019\u012f su IPTABLES palaikymu<\/strong><\/p>\n<p>Pirmiausiai atsisi\u0173skime kernel\u2019io i\u0161eities tekstus (\u201esources\u201c; i\u0161 www.kernel.org) ir i\u0161pakuokime \u012f <em>\/usr\/src\/linux<\/em> komanda:<\/p>\n<blockquote><p><em><code># tar xzfv kernel*.tar.gz -C \/usr\/src\/linux<\/code><\/em><\/p><\/blockquote>\n<p>tar.gz archyvui, o tar.bz2 archyvui b\u016bt\u0173 tokia komanda:<\/p>\n<blockquote><p><em><code># tar xjfv kernel*.tar.bz2 -C \/usr\/src\/linux<\/code><\/em><\/p><\/blockquote>\n<p>Toliau konfig\u016bruosime kernel\u2019\u012f:<\/p>\n<blockquote><p><code><em>$ cd \/usr\/src\/linux<br \/>\n# make menuconfig<\/em><\/code><\/p><\/blockquote>\n<p>Jeigu norite, tai galite naudoti <em>\u201emake xconfig\u201c<\/em> komand\u0105, bet atminkite, kad ji reikalauja Qt ir paleist\u0173 X&#8217;\u0173. xconfig&#8217;e gal\u0117site naudotis paie\u0161ka, o menuconfig \u2013 ne.<\/p>\n<p>Einame \u012f <em>Networking<\/em>\u2013&gt;<em>Networking Options<\/em>\u2013&gt;su Space klavi\u0161u pa\u017eymime <em>Network packet filtering (replaces ipchains)<\/em>\u2013&gt;\u012feikime \u012f <em>Network packet filtering (replaces ipchains)<\/em> ant \u0161ios eilut\u0117s paspausdami Enter\u2013&gt;\u012fjunkime <em>Netfilter Xtables support (required for iptables)<\/em>, rekomenduoju nejungti kaip modulio t. y. Spauskite Space tol kol pamatysite \u0161i\u0105 eilut\u0119 pa\u017eym\u0117ta \u017evaig\u017edute, o ne raide M ar i\u0161 viso nepa\u017eym\u0117t\u0105\u2013&gt;i\u0161eikime vienu lygiu auk\u0161\u010diau ir eikime \u012f <em>IP: Netfilter configuration<\/em>\u2013&gt;\u012fjunkime <em>IP tables support (required for filtering\/masq\/nat)\u2013&gt;<\/em>taip pat \u012fjunkime <em>Packet filtering<\/em>. To tur\u0117t\u0173 u\u017etekti, kad kernel\u2019is palaikyt\u0173 IPTABLES. Pabandykite sukompiliuoti ir i\u0161bandyti kernel\u2019\u012f (visur paspauskite Exit ir, kai i\u0161kris klausimas <em>Do you wish to save your new kernel configuration?<\/em>, paspauskite \u201eYes\u201c).<\/p>\n<p>Kompiliuojame kernel&#8217;\u012f:<\/p>\n<blockquote><p><em><code># make &amp;&amp; make modules_install<\/code><\/em><\/p><\/blockquote>\n<p>\u012ededame naujojo kernel\u2019io pasirinkim\u0105 GRUB&#8217;e:<\/p>\n<blockquote><p><em><code># cp arch\/i386\/boot\/bzImage \/boot\/kernelis<\/code><\/em><\/p><\/blockquote>\n<p>Atkreipkite d\u0117mes\u012f, kad galite vietoje i386 ra\u0161yti savo platform\u0105.<\/p>\n<p>Konfig\u016bruokime GRUB:<\/p>\n<blockquote><p><em><code># nano -w \/boot\/grub\/menu.lst<\/code><\/em><\/p><\/blockquote>\n<p>\u012ed\u0117kime \u0161ias eilutes:<\/p>\n<blockquote><p><em><code>title=Gentoo Linux 2.6.20 # \u0161i eilut\u0117 nurodys k\u0105 rodyti GRUB meniu kaip pasirinkim\u0105 \u0161io kernel'io<br \/>\nroot (hd0,0)# nurodome kur ie\u0161koti kernel'io<br \/>\nkernel \/boot\/kernelis root=\/dev\/hda2 video=vesa:mytt:3,ywrap # konfig\u016bruokime kernel'\u012f. Jeigu nenaudojate VESA framebuffer tai i\u0161trinkite \"video=vesa:mytt:3,ywrap\".<\/code><\/em><\/p><\/blockquote>\n<p>Patikrinkime ar <em>timeout<\/em> eilut\u0117je n\u0117ra nustatyta skai\u010dius 0. Jeigu yra tai j\u012f padidinkime. Tai nurodys kiek sekund\u017ei\u0173 laukti kol pasirinksime kernel\u2019\u012f. Jeigu jo nepasirinksime tai sistema kraus t\u0105, kuris \u012f x-asis (x tai skai\u010dius nurodytas <em>default<\/em> eilut\u0117je, kernel\u2019iai numeruojami pagal j\u0173 i\u0161sid\u0117stym\u0105 meniu).<\/p>\n<p>Jeigu turime LILO tai atlikime \u0161iuos veiksmus:<\/p>\n<blockquote><p><em><code># nano -w \/etc\/lilo.conf<\/code><\/em><\/p><\/blockquote>\n<p><em>timeout<\/em> nurodykime ne ma\u017eiau kaip 0.<br \/>\n<em>default<\/em> reik\u0161m\u0119 nurodykime t\u0105 meniu punkt\u0105, kur\u012f LILO turi krauti jeigu per <em>timeout<\/em> eilut\u0117je nurodyt\u0105 sekund\u017ei\u0173 skai\u010di\u0173 j\u016bs nepasirinksite k\u0105 krauti.<\/p>\n<blockquote><p><em><code>image=\/boot\/kernel-2.6.20 # nurodykime kur yra kernel'is<br \/>\nlabel=gentoo            # Meniu punkto pavadinimas<br \/>\nread-only               # U\u017edrausime \u012fra\u0161ym\u0105 \u012f kernel'io particij\u0105<br \/>\nroot=\/dev\/hda3          # root particija<\/code><\/em><\/p><\/blockquote>\n<p>Ir i\u0161saugokime konfig\u016bracin\u012f fail\u0105.<br \/>\nDabar galima perkrauti kompiuter\u012f ir d\u017eiaugtis nauju kernel&#8217;iu.<\/p>\n<p><strong>Instaliuojame IPTABLES<\/strong><\/p>\n<p>Mes pavyzdyje naudosim\u0117s Portage, nes m\u016bs\u0173 pavyzdin\u0117 OS yra Gentoo. Jums si\u016blau naudotis savo sistemos paket\u0173 valdikliais (Aptitude, Yum, Pacman ir pan.).<\/p>\n<blockquote><p><em><code># emerge net-firewall\/iptables<\/code><\/em><\/p><\/blockquote>\n<p>Tai b\u016bt\u0173 Portage IPTABLES instaliavimo komanda Gentoo sistemoje.<br \/>\nAptitude vartotojams:<\/p>\n<blockquote><p><em><code># apt-get install iptables<\/code><\/em><\/p><\/blockquote>\n<p>Yum vartotojams:<\/p>\n<blockquote><p><em><code># yum install iptables<\/code><\/em><\/p><\/blockquote>\n<p>IPTABLES suinstaliuota. Dabar galime pereiti prie kitos dalies \u2013 IPTABLES konfig\u016bravimo.<\/p>\n<p><strong>IPTABLES konfig\u016bravimas<\/strong><\/p>\n<p>I\u0161 karto nor\u0117\u010diau pamin\u0117ti, kad vartotojai, kurie tiesiog nori ugniasien\u0117s Linux distribucijoje, gali \u012fsidiegti Firestarter (Linux ugniasien\u0117, kuri paremta IPTABLES) arba susigeneruoti konfig\u016bruojant\u012f IPTABLES bash scenarij\u0173 tinklalapyje <a href=\"http:\/\/easyfwgen.morizot.net\/gen\/\">http:\/\/easyfwgen.morizot.net\/gen\/<\/a>.<\/p>\n<p>Jeigu pasirinkote konfig\u016bracinio failo generavim\u0105 tai nueikite pateiktu adresu ir atsakykite \u012f klausimus. Jums bus pateiktas ilgas scenarijus. J\u012f i\u0161saugokite kaip \u201escenarijus.sh\u201c ir suchmodinkite:<\/p>\n<blockquote><p><code><em># chmod +x scenarijus.sh<\/em><\/code><\/p><\/blockquote>\n<p>Dabar j\u012f paleiskite:<\/p>\n<blockquote><p><code><em># sh scenarijus.sh<\/em><\/code><\/p><\/blockquote>\n<p>IPTABLES dabar tur\u0117t\u0173 b\u016bti sukonfig\u016bruota. Tiesa, tai n\u0117ra geriausias b\u016bdas apsaugoti savo kompiuter\u012f ar tinkl\u0105 nuo \u012fsilau\u017e\u0117li\u0173. Geriausia tai padaryti yra pa\u010diam konfig\u016bruojant IPTABLES. B\u016btent tod\u0117l ir ra\u0161au \u0161\u012f straipsn\u012f.<\/p>\n<p>Pirmiausiai tur\u0117tume pasirinkti kaip konfig\u016bruosime IPTABLES. Mes galime sukonfig\u016bruoti j\u0105 per bash scenarij\u0173 (pana\u0161iai kaip ir easyfwgen.morizot.net\/gen, tik vis\u0105 fail\u0105 pasira\u0161ysime patys ir taip padidinsime saugum\u0105) arba papras\u010diausiai vykdydami pavienes komandas. Tai jau j\u016bs\u0173 skonio reikalas.<\/p>\n<p>Nor\u0117dami savo bash scenarij\u0173 paleisti j\u016bs turite j\u012f suchmodinti kaip ir sugeneruot\u0105 scenarij\u0173:<\/p>\n<blockquote><p><code><em># chmod +x scenarijus.sh<\/em><\/code><\/p><\/blockquote>\n<p>O paleisti j\u012f irgi reikalautina super vartotojo teisi\u0173:<\/p>\n<blockquote><p><code><em># sh scenarijus.sh<\/em><\/code><\/p><\/blockquote>\n<p>Jeigu ra\u0161ysime bash scenarij\u0173 tai atminkime toki\u0105 jo konstrukcij\u0105 (bash scenarijai tai paprasti tekstiniai failai susidedantys i\u0161 konsol\u0117s komand\u0173):<\/p>\n<blockquote><p><code><em> #!\/bin\/bash<br \/>\n# pirmoji eilut\u0117 (\u201e#!\/bin\/bash\u201c) yra b\u016btina, o kitose eilut\u0117se grotel\u0117s (\u201e#\u201c simbolis) rei\u0161kia, kad visa toji eilut\u0117 yra komentaras ir kad ir k\u0105 j\u016bs ten bera\u0161ytum\u0117te toje eilut\u0117je, bash\u2019as \u012f tai nekreips d\u0117mesio.# pa\u010dioje scenarijaus prad\u017eioje susira\u0161ykime konstantas, kurias naudosime. Taip v\u0117liau sutaupysime daugiau laiko, nes nereik\u0117s atsiminti anks\u010diau nurodyt\u0173 duomen\u0173.<br \/>\nTINKLESKE=\u201ceth0\u201c<br \/>\nLANOMASK=\u201c192.168.2.0\/24\u201c<br \/>\n# v\u0117liau jos gali b\u016bti panaudojamos vietoje reik\u0161m\u0117s ra\u0161ant konstantos pavadinim\u0105 su dolerio \u017eenklu prie\u0161ais ir be kabu\u010di\u0173.<br \/>\n# pavyzd\u017eiui: iptables -A FORWARD -s 192.168.1.2 -i $VIDINE_KORTA -j ACCEPT<br \/>\n# komandos ra\u0161yti d\u0117l patogumo si\u016blau atskirose eilut\u0117se. Ir nera\u0161ykite komand\u0173 su grotel\u0117mis (\u201e#\u201c simbolis prie\u0161 komand\u0105), nes jas reikia ra\u0161yti be groteli\u0173 priekyje, kadangi a\u0161 grotel\u0117mis nurodau, kad komanda privaloma vykdyti super vartotojo teis\u0117mis, o dolerio \u017eenklu (\u201e$\u201c) nurodau, kad komand\u0105 patartina \u012fvykdyti su paprasto vartotojo teis\u0117mis.<br \/>\n# tai yra viskas k\u0105 jums reikia \u017einoti kuriant bash scenarijus.<\/p>\n<p><\/em><\/code><\/p><\/blockquote>\n<p>Dabar ap\u017evelkime did\u017ei\u0105j\u0105 dal\u012f komand\u0173:<\/p>\n<blockquote><p><code><em># iptables -F<\/em><\/code><\/p><\/blockquote>\n<p>\u0160ia komanda i\u0161trinsime buvusi\u0105 konfig\u016bracija.<\/p>\n<p>Prie\u0161 sekan\u010di\u0105j\u0105 komand\u0105 nor\u0117\u010diau priminti, kad INPUT \u2013 \u012feinantis srautas (pavyzd\u017eiui, norint pasiekti j\u016bs\u0173 kompiuteryje esan\u010di\u0105 serverin\u0119 tarnyb\u0105 (tarkim Apache) reikia leisti sraut\u0105 pro 80 prievad\u0105 (jeigu norime dirbti i\u0161 i\u0161or\u0117s su m\u016bs\u0173 kompiuteryje esan\u010diu Apache)); OUTPUT \u2013 i\u0161einantis srautas; FORWARD \u2013 persiun\u010diamas srautas \u012f kit\u0105 kompiuter\u012f (jeigu nor\u0117sime pakurti mar\u0161rutizatori\u0173 tai mums prireiks \u0161ios grandin\u0117s).<\/p>\n<blockquote><p><code><em># iptables -P chain DROP<\/em><\/code><\/p><\/blockquote>\n<p>\u0160i komanda nurodys IPTABLES blokuoti tai k\u0105 nurodome vietoje chain (INPUT\/OUTPUT\/FORWARD \u2013 tai tarsi taisykli\u0173 grandin\u0117s (i\u0161 angl. k. chains; kiekviena skirta vis kitam srautui), jas ir ra\u0161ykite vietoje <em>chain<\/em>). Pavyzd\u017eiui, <em>iptables -P INPUT DROP<\/em> komanda u\u017eblokuos vis\u0105 \u012feinant\u012f sraut\u0105. Vietoje DROP mes galime ra\u0161yti  anks\u010diau nurodytas grandines (INPUT\/OUTPUT\/FORWARD). Atkreipkite d\u0117mes\u012f, kad IPTABLES konfig\u016bracijoje b\u016btina blokuoti visk\u0105, kad toliau esanti konfig\u016bracija tur\u0117t\u0173 ka\u017ekoki\u0105 reik\u0161m\u0119. Vietoje DROP taip pat galite ra\u0161yti kitoki\u0105 u\u017eduot\u012f, bet mes norime visk\u0105 u\u017eblokuoti, o ne leisti.<\/p>\n<blockquote><p><code><em># iptables -A INPUT -i lo -j ACCEPT<\/em><\/code><\/p><\/blockquote>\n<p><em>A<\/em> opcija prideda taisykl\u0119 prie m\u016bs\u0173 nurodytos grandin\u0117s. <em>i<\/em> opcija mes nurodome tinklo \u012frengin\u012f, o <em>j<\/em> nurodome u\u017eduot\u012f, kuri\u0105 IPTABLES turi atlikti su tais duomenimis. ACCEPT \u2013 nurodydami \u0161i\u0105 u\u017eduot\u012f mes priimame vis\u0105 sraut\u0105 i\u0161 lo t. y. localhost.<\/p>\n<p>Nepamir\u0161kime to pa\u010dio atlikti su OUTPUT ir FORWARD:<\/p>\n<blockquote><p><code><em># iptables -A OUTPUT -o lo -j ACCEPT<\/em><\/code><\/p><\/blockquote>\n<p>Atkreipkite d\u0117mes\u012f, kad nenaudojame <em>i<\/em> opcijos, nes i opcija nurodo \u012feinan\u010dio srauto \u012frengin\u012f, o <em>o<\/em> nurodo i\u0161einan\u010dio srauto \u012frengin\u012f.<\/p>\n<blockquote><p><code><em># iptables -A FORWARD -i lo -j ACCEPT<\/em><\/code><\/p><\/blockquote>\n<p>\u0160iuo metu mes galime naudotis localhost, bet negalime naudotis internetu. Jeigu taip ir yra tai galime t\u0119sti straipsnio skaitym\u0105 kaip niekur nieko, o jeigu ne tai rekomenduoju pasiskaityti <a title=\"IPTABLES dokumentacija\" href=\"http:\/\/www.netfilter.org\/documentation\/index.html\">IPTABLES dokumentacij\u0105<\/a> ir paie\u0161koti k\u0105 darote ne taip.<\/p>\n<blockquote><p><code><em># iptables -A INPUT -j ACCEPT -i eth0 -p tcp -d xxx.xxx.xxx.xxx \u2013dport x<\/em><\/code><\/p><\/blockquote>\n<p>Vietoje eth0 \u012fra\u0161ykime tinklo plok\u0161t\u0119 (taip nepamir\u0161kime padaryti ir kitose komandose, nes apie tai, kad reikia pakeisti eth0 a\u0161 tikriausiai jau nebeu\u017esiminsiu), kuri\u0105 naudojame internetui. <em>p<\/em> opcija nurodo protokol\u0105 (TCP &#8211; Transmission Control Protocol (\u0161iuo protokolu duomenys siun\u010diami \u201ebendraujant\u201c dviems kompiuteriams t. y. vienas siun\u010dia, o kitas u\u017etikrina pirm\u0105j\u012f kompiuter\u012f, kad duomenis gauna), UDP &#8211; User Datagram Protocol (juo siun\u010diami\/gaunami duomenys tiesiog siun\u010diami be joki\u0173 \u201eklausim\u0173\u201c nutolusiam kompiuteriui)). \u0160iuo atveju tai <em>tcp<\/em>. <em>d<\/em> opcija nurodo i\u0161orin\u012f IP (pavyzdyje xxx.xxx.xxx.xxx), su kuriuo atliksime veiksm\u0105, bet prisiminkite, kad tai neb\u016btina nurodyti. Ta\u010diau IP arba prievad\u0105 nurodyti yra b\u016btina. <em>dport<\/em> opcija nurodo i\u0161orin\u012f prievad\u0105 (pavyzdyje x). Jeigu prievado nenurodysime tai bus naudojami visi prievadai.<\/p>\n<blockquote><p><code><em># iptables -A OUTPUT -j ACCEPT -o eth0 -p tcp -s xxx.xxx.xxx.xxx \u2013sport <\/em><\/code><\/p><\/blockquote>\n<p>Viskas taip pat kaip ir prie\u0161 tai buvusiame pavyzdyje, tik dabar naudojame vidinius IP adresus ir prievadus ir vietoje <em>i<\/em> nurodome <em>o<\/em> opcij\u0105.<\/p>\n<p>\u0160iomis dviem komandomis \u012fsileisime prisijungimus i\u0161 m\u016bs\u0173 nurodyt\u0173 IP adres\u0173 per m\u016bs\u0173 nurodytus prievadus (pvz., 21) TCP protokolu.<\/p>\n<blockquote><p><em><code># iptables -A INPUT -j ACCEPT -i eth0 -p udp -d xxx.xxx.xxx.xxx \u2013dport 21<br \/>\n# iptables -A OUTPUT -j ACCEPT -o eth0 -p udp -s xxx.xxx.xxx.xxx \u2013sport 21<\/code><\/em><\/p><\/blockquote>\n<p>\u010cia taip pat kaip ir su TCP, tik dabar p opcijai nurodykime UDP protokol\u0105.<\/p>\n<blockquote><p><code><em># iptables -A INPUT -i eth0 -p icmp -j ACCEPT<br \/>\n# iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT<\/em><\/code><\/p><\/blockquote>\n<p>ICMP \u2013 Internet Control Message Protocol. Tur\u0117tume \u0161\u012f protokol\u0105 leisti, nes be jo mes negal\u0117sime b\u016bti ping\u2019inami ir i\u0161kils daug kit\u0173 problem\u0173.<\/p>\n<blockquote><p><code><em># iptables -A OUTPUT -j DROP -o eth0 -d one.lt<\/em><\/code><\/p><\/blockquote>\n<p>Tokia komanda u\u017eblokuosime pri\u0117jim\u0105 prie one.lt pro eth0 tinklo plok\u0161t\u0119.<\/p>\n<p>Mano nuomone \u0161ios informacijos tur\u0117t\u0173 u\u017etekti, kad gal\u0117tum\u0117te sukonfig\u016bruoti iptables (atminkite, kad straipsnis nebaigtas ir tikriausiai ateityje dar bus pildomas ir koreguojamas, tod\u0117l rekomenduojame pastoviai tikrinti Versme.net ar n\u0117ra straipsni\u0173 apie saugum\u0105 arba ap\u017evelkite <a title=\"IPTABLES dokumentacija\" href=\"http:\/\/www.netfilter.org\/documentation\/index.html\">IPTABLES dokumentacij\u0105<\/a>).<\/p>\n<div style=\"text-align: right;\">2007 m. vasario 16 d., <strong>Pixel<\/strong><\/div>\n","protected":false},"excerpt":{"rendered":"<p>IPTABLES tai paket\u0173 filtras (prafiltruojami nereikalingi paketai (nesupratusiems tai paketai b\u016bt\u0173 tinklo srautas; juos filtruoti reikia, nes visi\u0161kai u\u017edarydami nereikalingus prievadus (pavyzd\u017eiui 80 prievad\u0105, kurio mes nenaudojame, arba 22 (SSH)) mes suma\u017einame \u012fsilau\u017eimo tikimyb\u0119), taip pat jie gali b\u016bti persiun\u010diami \u012f kit\u0105 kompiuter\u012f (su IPTABLES galima i\u0161 paprasto kompiuterio pasidaryti mar\u0161rutizatori\u0173 (aparatas, kuris apr\u016bpina tinkl\u0105 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[26,3,47,20],"tags":[460,317,453,83,463,43,459],"class_list":["post-2525","post","type-post","status-publish","format-standard","hentry","category-internetas","category-linux","category-patarimai","category-unix","tag-internetas","tag-iptables","tag-linux","tag-pamokos","tag-patarimai","tag-saugumas","tag-unix"],"_links":{"self":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/2525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/comments?post=2525"}],"version-history":[{"count":8,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/2525\/revisions"}],"predecessor-version":[{"id":3263,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/posts\/2525\/revisions\/3263"}],"wp:attachment":[{"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/media?parent=2525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/categories?post=2525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/versme.net\/blog\/wp-json\/wp\/v2\/tags?post=2525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}