{"id":40504,"date":"2026-02-27T12:21:03","date_gmt":"2026-02-27T09:21:03","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/"},"modified":"2026-02-27T12:21:03","modified_gmt":"2026-02-27T09:21:03","slug":"port-yonlendirme-neden-onemli-ve-ne-ise-yarar","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/","title":{"rendered":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?"},"content":{"rendered":"<p><title>Linux A\u011f Ge\u00e7idinde Iptables ile Port Y\u00f6nlendirme Nas\u0131l Yap\u0131l\u0131r?<\/title><br \/>\n<body><\/p>\n<p>\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r. Peki, bir Linux sunucuyu a\u011f ge\u00e7idi olarak kullanarak, Iptables ile bu port y\u00f6nlendirme i\u015flemini g\u00fcvenli ve etkin bir \u015fekilde nas\u0131l ger\u00e7ekle\u015ftirebilirsiniz? Bu makale, Iptables&#8217;\u0131n g\u00fcc\u00fcn\u00fc kullanarak a\u011f ge\u00e7idiniz \u00fczerinden portlar\u0131 nas\u0131l y\u00f6nlendirece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor, b\u00f6ylece i\u00e7 a\u011f\u0131n\u0131zdaki hizmetlerinizi d\u0131\u015far\u0131ya a\u00e7arken a\u011f g\u00fcvenli\u011finizi de koruyabileceksiniz.<\/p>\n<h2>Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz a\u011f yap\u0131lar\u0131nda, evlerimizden kurumsal ofislere kadar her yerde bir a\u011f ge\u00e7idi (router veya modem) bulunur. Bu a\u011f ge\u00e7itlerinin temel g\u00f6revlerinden biri, i\u00e7 a\u011f\u0131m\u0131zdaki cihazlar\u0131n internete \u00e7\u0131kmas\u0131n\u0131 sa\u011flamak ve d\u0131\u015far\u0131dan gelen istenmeyen ba\u011flant\u0131lar\u0131 engellemektir. Ancak bazen, i\u00e7 a\u011f\u0131m\u0131zda \u00e7al\u0131\u015fan bir web sunucusu, oyun sunucusu, IP kamera veya uzaktan eri\u015fim hizmeti gibi belirli bir uygulamaya internet \u00fczerinden eri\u015fmemiz gerekebilir. \u0130\u015fte tam bu noktada &#8220;port y\u00f6nlendirme&#8221; (port forwarding) devreye girer.<\/p>\n<p>Port y\u00f6nlendirme, basit\u00e7e ifade etmek gerekirse, a\u011f ge\u00e7idinize gelen belirli bir d\u0131\u015f ba\u011flant\u0131 talebini, i\u00e7 a\u011f\u0131n\u0131zdaki belirli bir cihaza ve o cihaz\u0131n belirli bir portuna y\u00f6nlendirme i\u015flemidir. Bunu, b\u00fcy\u00fck bir binan\u0131n resepsiyonisti gibi d\u00fc\u015f\u00fcnebilirsiniz: d\u0131\u015far\u0131dan gelen bir ziyaret\u00e7i (ba\u011flant\u0131 talebi) belirli bir ofise (i\u00e7 a\u011fdaki cihaz\u0131n IP adresi) ve o ofisteki belirli bir ki\u015fiye (port numaras\u0131) ula\u015fmak ister. Resepsiyonist (a\u011f ge\u00e7idi), ziyaret\u00e7iyi do\u011fru adrese y\u00f6nlendirir. Bu y\u00f6nlendirme i\u015flemi genellikle A\u011f Adresi \u00c7evirisi (NAT &#8211; Network Address Translation) mekanizmas\u0131n\u0131n bir par\u00e7as\u0131 olarak ger\u00e7ekle\u015fir. \u0130\u00e7 a\u011fdaki cihazlar\u0131n \u00f6zel (private) IP adresleri varken, d\u0131\u015f d\u00fcnyada tek bir genel (public) IP adresi \u00fczerinden ileti\u015fim kurmalar\u0131 sa\u011flan\u0131r. Port y\u00f6nlendirme, bu genel IP adresine gelen bir iste\u011fi, \u00f6zel IP adresine sahip bir cihaza iletmek i\u00e7in NAT kurallar\u0131n\u0131 kullan\u0131r.<\/p>\n<p>Bir Linux sunucusunu a\u011f ge\u00e7idi olarak kullanmak, bu s\u00fcre\u00e7te bize inan\u0131lmaz bir esneklik ve kontrol sa\u011flar. Donan\u0131m tabanl\u0131 router&#8217;lar\u0131n aksine, Iptables gibi g\u00fc\u00e7l\u00fc bir g\u00fcvenlik duvar\u0131 arac\u0131yla, y\u00f6nlendirme kurallar\u0131n\u0131 \u00e7ok daha detayl\u0131 bir \u015fekilde tan\u0131mlayabilir, g\u00fcvenlik politikalar\u0131n\u0131 ince ayarlarla uygulayabilir ve a\u011f trafi\u011fini \u00e7ok daha \u015feffaf bir \u015fekilde y\u00f6netebiliriz. \u00d6rne\u011fin, sadece belirli kaynak IP adreslerinden gelen ba\u011flant\u0131lara izin verebilir, belirli zaman aral\u0131klar\u0131nda y\u00f6nlendirmeyi aktif hale getirebilir veya farkl\u0131 d\u0131\u015f portlar\u0131 i\u00e7 a\u011fdaki farkl\u0131 portlara y\u00f6nlendirebiliriz. Bu kontrol seviyesi, \u00f6zellikle g\u00fcvenlik odakl\u0131 veya karma\u015f\u0131k a\u011f yap\u0131s\u0131na sahip ortamlar i\u00e7in vazge\u00e7ilmezdir. Bir Linux a\u011f ge\u00e7idi ile, hem a\u011f trafi\u011finiz \u00fczerinde tam yetki sahibi olur hem de Iptables&#8217;\u0131n sa\u011flad\u0131\u011f\u0131 geli\u015fmi\u015f filtreleme yetenekleri sayesinde a\u011f g\u00fcvenli\u011finizi en \u00fcst d\u00fczeye \u00e7\u0131karabilirsiniz. Bu sayede, i\u00e7 a\u011f\u0131n\u0131zdaki sunucular\u0131n veya hizmetlerin d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131n\u0131 sa\u011flarken, ayn\u0131 zamanda istenmeyen eri\u015fimleri de etkin bir \u015fekilde engelleyebilirsiniz. Bu durum, hem bireysel kullan\u0131c\u0131lar i\u00e7in ev a\u011flar\u0131nda bir medya sunucusuna eri\u015fim gibi basit senaryolarda, hem de kurumsal ortamlarda kritik sunuculara g\u00fcvenli uzaktan eri\u015fim sa\u011flanmas\u0131 gibi karma\u015f\u0131k senaryolarda b\u00fcy\u00fck bir avantaj sunar.<\/p>\n<h2>Iptables Temelleri ve Linux A\u011f Ge\u00e7idi Mimarisi<\/h2>\n<p>Iptables, Linux \u00e7ekirde\u011finin netfilter \u00e7er\u00e7evesi i\u00e7in bir kullan\u0131c\u0131 alan\u0131 program\u0131d\u0131r. Temel olarak, a\u011f paketlerini incelemek, de\u011fi\u015ftirmek ve y\u00f6nlendirmek i\u00e7in kurallar tan\u0131mlamam\u0131z\u0131 sa\u011flayan g\u00fc\u00e7l\u00fc bir g\u00fcvenlik duvar\u0131 arac\u0131d\u0131r. Bir Linux sunucuyu a\u011f ge\u00e7idi olarak yap\u0131land\u0131rd\u0131\u011f\u0131m\u0131zda, Iptables bu a\u011f ge\u00e7idinin beyni haline gelir ve a\u011f trafi\u011finin nas\u0131l akaca\u011f\u0131n\u0131 belirler. Port y\u00f6nlendirme i\u015fleminin ba\u015far\u0131l\u0131 olmas\u0131 i\u00e7in Iptables&#8217;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve bir Linux a\u011f ge\u00e7idinin temel mimarisini anlamak kritik \u00f6neme sahiptir.<\/p>\n<p>Iptables, paketleri i\u015flemek i\u00e7in farkl\u0131 &#8220;tablolar&#8221; ve bu tablolar\u0131n i\u00e7inde &#8220;zincirler&#8221; kullan\u0131r. Port y\u00f6nlendirme i\u00e7in en \u00e7ok ilgilenece\u011fimiz tablo <code>nat<\/code> (Network Address Translation) tablosudur. Bu tablo, paketlerin kaynak veya hedef IP adreslerini\/portlar\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r. <code>nat<\/code> tablosu i\u00e7inde, port y\u00f6nlendirme i\u00e7in genellikle iki ana zincir kullan\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>PREROUTING:<\/strong> Paketler a\u011f aray\u00fcz\u00fcne ilk ula\u015ft\u0131\u011f\u0131nda ve y\u00f6nlendirme karar\u0131 verilmeden \u00f6nce bu zincir i\u015flenir. D\u0131\u015far\u0131dan gelen bir ba\u011flant\u0131y\u0131 i\u00e7 a\u011fdaki bir sunucuya y\u00f6nlendirmek i\u00e7in Hedef NAT (DNAT &#8211; Destination NAT) kurallar\u0131 burada tan\u0131mlan\u0131r.<\/li>\n<li><strong>POSTROUTING:<\/strong> Paketler y\u00f6nlendirme karar\u0131 verildikten sonra ve a\u011f aray\u00fcz\u00fcnden \u00e7\u0131kmadan hemen \u00f6nce bu zincir i\u015flenir. \u0130\u00e7 a\u011fdan internete \u00e7\u0131kan paketlerin kaynak IP adresini de\u011fi\u015ftirmek (MASQUERADE veya SNAT &#8211; Source NAT) i\u00e7in kullan\u0131l\u0131r. Bu sayede i\u00e7 a\u011fdaki bir\u00e7ok cihaz, tek bir d\u0131\u015f IP adresi \u00fczerinden internete \u00e7\u0131kabilir.<\/li>\n<\/ul>\n<p>Bir Linux a\u011f ge\u00e7idi mimarisi genellikle iki veya daha fazla a\u011f aray\u00fcz\u00fcne sahip bir sunucudan olu\u015fur. Bir aray\u00fcz (\u00f6rne\u011fin, <code>eth0<\/code> veya <code>enp0s3<\/code>) genellikle d\u0131\u015f a\u011fa (WAN &#8211; Wide Area Network), yani internete ba\u011fl\u0131d\u0131r ve genel bir IP adresine sahiptir. Di\u011fer aray\u00fcz (\u00f6rne\u011fin, <code>eth1<\/code> veya <code>enp0s8<\/code>) ise i\u00e7 a\u011fa (LAN &#8211; Local Area Network) ba\u011fl\u0131d\u0131r ve \u00f6zel bir IP adresine sahiptir. Bu yap\u0131land\u0131rmada, i\u00e7 a\u011fdaki cihazlar Linux a\u011f ge\u00e7idini varsay\u0131lan a\u011f ge\u00e7idi olarak kullan\u0131r ve t\u00fcm internet trafi\u011fi bu sunucu \u00fczerinden ge\u00e7er.<\/p>\n<p>Port y\u00f6nlendirme i\u015fleminin \u00e7al\u0131\u015fabilmesi i\u00e7in Linux \u00e7ekirde\u011finde &#8220;IP Y\u00f6nlendirme&#8221; (IP Forwarding) \u00f6zelli\u011finin etkinle\u015ftirilmesi \u015fartt\u0131r. Bu \u00f6zellik, \u00e7ekirde\u011fin bir a\u011f aray\u00fcz\u00fcnden gelen paketleri ba\u015fka bir a\u011f aray\u00fcz\u00fcne iletmesine izin verir. Bu, genellikle <code>\/proc\/sys\/net\/ipv4\/ip_forward<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini <code>1<\/code> yaparak veya <code>sysctl -w net.ipv4.ip_forward=1<\/code> komutuyla ger\u00e7ekle\u015ftirilir. Kal\u0131c\u0131 hale getirmek i\u00e7in ise <code>\/etc\/sysctl.conf<\/code> dosyas\u0131na <code>net.ipv4.ip_forward=1<\/code> sat\u0131r\u0131 eklenir.<\/p>\n<p>A\u011f ge\u00e7idi olarak g\u00f6rev yapacak Linux sunucusunun IP yap\u0131land\u0131rmas\u0131 da do\u011fru bir \u015fekilde ayarlanmal\u0131d\u0131r. D\u0131\u015f aray\u00fcz\u00fcn genellikle DHCP ile otomatik IP almas\u0131 veya statik bir genel IP&#8217;ye sahip olmas\u0131 beklenirken, i\u00e7 aray\u00fcz\u00fcn statik bir \u00f6zel IP adresine sahip olmas\u0131 ve i\u00e7 a\u011fdaki cihazlar i\u00e7in bir a\u011f ge\u00e7idi g\u00f6revi g\u00f6rmesi gerekir. Bu temel yap\u0131land\u0131rmalar tamamland\u0131ktan sonra, Iptables kurallar\u0131 ile port y\u00f6nlendirme ve di\u011fer g\u00fcvenlik politikalar\u0131 uygulanmaya ba\u015flanabilir. Bu sayede, Linux sunucunuz sadece bir a\u011f ge\u00e7idi olmakla kalmaz, ayn\u0131 zamanda g\u00fc\u00e7l\u00fc ve \u00f6zelle\u015ftirilebilir bir g\u00fcvenlik duvar\u0131 ve NAT cihaz\u0131 olarak da hizmet verir. Bu esneklik, a\u011f y\u00f6neticilerine, a\u011f trafi\u011fi \u00fczerinde tam kontrol sa\u011flayarak, hem g\u00fcvenli\u011fi art\u0131rma hem de hizmet eri\u015filebilirli\u011fini optimize etme imkan\u0131 sunar.<\/p>\n<h3>Ad\u0131m Ad\u0131m Iptables ile Basit Port Y\u00f6nlendirme (DNAT) Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>\u015eimdi, temel kavramlar\u0131 anlad\u0131\u011f\u0131m\u0131za g\u00f6re, ger\u00e7ek bir senaryo \u00fczerinden Iptables ile basit bir port y\u00f6nlendirme kural\u0131 nas\u0131l olu\u015fturulur ona bakal\u0131m. Diyelim ki i\u00e7 a\u011f\u0131n\u0131zda, <code>192.168.1.100<\/code> IP adresine sahip bir web sunucunuz var ve bu sunucu 80 numaral\u0131 port \u00fczerinden hizmet veriyor. Amac\u0131m\u0131z, d\u0131\u015f d\u00fcnyadan gelen ba\u011flant\u0131lar\u0131n (\u00f6rne\u011fin, internetten web sitenize eri\u015fmeye \u00e7al\u0131\u015fan kullan\u0131c\u0131lar) Linux a\u011f ge\u00e7idinizin genel IP adresine (<code>203.0.113.5<\/code> oldu\u011funu varsayal\u0131m) 80 numaral\u0131 port \u00fczerinden geldi\u011finde, bu ba\u011flant\u0131lar\u0131 i\u00e7 a\u011fdaki web sunucunuza y\u00f6nlendirmek. Bu i\u015flem, Hedef NAT (DNAT) olarak bilinir.<\/p>\n<p><strong>\u00d6nko\u015fullar:<\/strong><\/p>\n<ol>\n<li>Linux a\u011f ge\u00e7idinizde IP y\u00f6nlendirme etkinle\u015ftirilmi\u015f olmal\u0131. Bunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:\n<pre><code>cat \/proc\/sys\/net\/ipv4\/ip_forward<\/code><\/pre>\n<p>            E\u011fer \u00e7\u0131kt\u0131 <code>0<\/code> ise, etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code>echo 1 > \/proc\/sys\/net\/ipv4\/ip_forward\nsysctl -p<\/code><\/pre>\n<p>            Kal\u0131c\u0131 hale getirmek i\u00e7in <code>\/etc\/sysctl.conf<\/code> dosyas\u0131na <code>net.ipv4.ip_forward=1<\/code> sat\u0131r\u0131n\u0131 eklemeyi unutmay\u0131n.<\/li>\n<li>Linux a\u011f ge\u00e7idinizin d\u0131\u015f a\u011fa (WAN) bakan aray\u00fcz\u00fcn\u00fcn ad\u0131n\u0131 biliyor olmal\u0131s\u0131n\u0131z (\u00f6rne\u011fin, <code>eth0<\/code>).<\/li>\n<li>\u0130\u00e7 a\u011fa (LAN) bakan aray\u00fcz\u00fcn\u00fcn ad\u0131n\u0131 biliyor olmal\u0131s\u0131n\u0131z (\u00f6rne\u011fin, <code>eth1<\/code>).<\/li>\n<li>\u0130\u00e7 a\u011fdaki web sunucusunun IP adresi ve portunu biliyor olmal\u0131s\u0131n\u0131z (<code>192.168.1.100:80<\/code>).<\/li>\n<\/ol>\n<p><strong>Ad\u0131m 1: DNAT Kural\u0131n\u0131 Ekleme<\/strong><\/p>\n<p>D\u0131\u015far\u0131dan gelen HTTP (80 numaral\u0131 port) trafi\u011fini i\u00e7 a\u011fdaki web sunucumuza y\u00f6nlendirmek i\u00e7in <code>nat<\/code> tablosunun <code>PREROUTING<\/code> zincirine bir kural ekleyece\u011fiz. Bu kural, paketin hedef IP adresini ve portunu de\u011fi\u015ftirecektir:<\/p>\n<pre><code>sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80<\/code><\/pre>\n<p>Bu komutu inceleyelim:<\/p>\n<ul>\n<li><code>sudo iptables<\/code>: Iptables komutunu y\u00f6netici ayr\u0131cal\u0131klar\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131r.<\/li>\n<li><code>-t nat<\/code>: <code>nat<\/code> tablosunu kullanaca\u011f\u0131m\u0131z\u0131 belirtir.<\/li>\n<li><code>-A PREROUTING<\/code>: Kural\u0131 <code>PREROUTING<\/code> zincirine ekler (Append).<\/li>\n<li><code>-i eth0<\/code>: Kural\u0131n sadece <code>eth0<\/code> (d\u0131\u015f aray\u00fcz) \u00fczerinden gelen paketler i\u00e7in ge\u00e7erli olaca\u011f\u0131n\u0131 belirtir. Bu, i\u00e7 a\u011fdan gelen trafi\u011fin yanl\u0131\u015fl\u0131kla y\u00f6nlendirilmesini engeller.<\/li>\n<li><code>-p tcp<\/code>: Kural\u0131n sadece TCP protokol\u00fc i\u00e7in ge\u00e7erli oldu\u011funu belirtir.<\/li>\n<li><code>--dport 80<\/code>: Hedef portun 80 oldu\u011funu belirtir (d\u0131\u015far\u0131dan gelen ba\u011flant\u0131n\u0131n portu).<\/li>\n<li><code>-j DNAT<\/code>: Hedef NAT (Destination NAT) i\u015flemi yap\u0131laca\u011f\u0131n\u0131 belirtir.<\/li>\n<li><code>--to-destination 192.168.1.100:80<\/code>: Paketin yeni hedef IP adresi ve portunun <code>192.168.1.100<\/code> ve <code>80<\/code> oldu\u011funu belirtir.<\/li>\n<\/ul>\n<p><strong>Ad\u0131m 2: Geri D\u00f6n\u00fc\u015f Trafi\u011fi \u0130\u00e7in MASQUERADE Kural\u0131 (E\u011fer Yoksa)<\/strong><\/p>\n<p>\u0130\u00e7 a\u011fdaki web sunucusu, d\u0131\u015far\u0131daki istemciye cevap g\u00f6nderdi\u011finde, bu cevab\u0131n da a\u011f ge\u00e7idi \u00fczerinden ge\u00e7mesi ve d\u0131\u015f IP adresiyle g\u00f6nderilmesi gerekir. E\u011fer i\u00e7 a\u011fdaki sunucunuzun varsay\u0131lan a\u011f ge\u00e7idi (default gateway) Linux sunucunuz ise, genellikle ek bir SNAT veya MASQUERADE kural\u0131na ihtiya\u00e7 duyulmaz \u00e7\u00fcnk\u00fc paketler zaten do\u011fru \u015fekilde y\u00f6nlendirilecektir. Ancak, genel bir uygulama olarak, i\u00e7 a\u011fdan d\u0131\u015far\u0131 \u00e7\u0131kan t\u00fcm trafi\u011fin kaynak IP adresini a\u011f ge\u00e7idinin d\u0131\u015f IP&#8217;si olarak maskelemek iyi bir pratiktir:<\/p>\n<pre><code>sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE<\/code><\/pre>\n<p>Bu kural, <code>eth0<\/code> (d\u0131\u015f aray\u00fcz) \u00fczerinden \u00e7\u0131kan t\u00fcm paketlerin kaynak IP adresini a\u011f ge\u00e7idinin <code>eth0<\/code> aray\u00fcz\u00fcn\u00fcn IP adresiyle de\u011fi\u015ftirir. Bu, web sunucusunun yan\u0131tlar\u0131n\u0131n d\u0131\u015far\u0131daki istemciye a\u011f ge\u00e7idi \u00fczerinden do\u011fru bir \u015fekilde ula\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<p><strong>Ad\u0131m 3: \u0130zin Veren G\u00fcvenlik Duvar\u0131 Kural\u0131<\/strong><\/p>\n<p><code>nat<\/code> tablosu paketlerin adreslerini de\u011fi\u015ftirse de, <code>filter<\/code> tablosu paketlerin ge\u00e7ip ge\u00e7emeyece\u011fine karar verir. D\u0131\u015far\u0131dan gelen trafi\u011fin i\u00e7 a\u011fdaki sunucuya ula\u015fabilmesi i\u00e7in <code>FORWARD<\/code> zincirinde bu trafi\u011fe izin veren bir kurala ihtiyac\u0131m\u0131z var:<\/p>\n<pre><code>sudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -d 192.168.1.100 -j ACCEPT<\/code><\/pre>\n<p>Bu kural, <code>eth0<\/code>&#8216;dan <code>eth1<\/code>&#8216;e do\u011fru, TCP protokol\u00fc ve 80 numaral\u0131 port \u00fczerinden, hedefi <code>192.168.1.100<\/code> olan paketlere izin verir. Ayr\u0131ca, halihaz\u0131rda kurulmu\u015f veya ilgili ba\u011flant\u0131lara izin veren genel bir kural\u0131n\u0131z olmas\u0131 da \u00f6nemlidir:<\/p>\n<pre><code>sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT<\/code><\/pre>\n<p>Bu kural, mevcut ba\u011flant\u0131larla ilgili veya onlardan t\u00fcreyen (\u00f6rne\u011fin, FTP veri ba\u011flant\u0131lar\u0131) paketlere izin verir, bu da bir\u00e7ok hizmetin d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereklidir.<\/p>\n<p><strong>Ad\u0131m 4: Kurallar\u0131 Kaydetme<\/strong><\/p>\n<p>Iptables kurallar\u0131 varsay\u0131lan olarak ge\u00e7icidir ve sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kaybolur. Kurallar\u0131 kal\u0131c\u0131 hale getirmek i\u00e7in, i\u015fletim sisteminize ba\u011fl\u0131 olarak farkl\u0131 y\u00f6ntemler kullanabilirsiniz. Debian\/Ubuntu tabanl\u0131 sistemlerde <code>netfilter-persistent<\/code> paketi \u00f6nerilir:<\/p>\n<pre><code>sudo apt-get install netfilter-persistent\nsudo netfilter-persistent save<\/code><\/pre>\n<p>CentOS\/RHEL tabanl\u0131 sistemlerde <code>iptables-services<\/code> paketi veya <code>firewalld<\/code> kullan\u0131labilir:<\/p>\n<pre><code>sudo yum install iptables-services\nsudo systemctl enable iptables\nsudo systemctl start iptables\nsudo iptables-save > \/etc\/sysconfig\/iptables<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, a\u011f ge\u00e7idinizin genel IP adresine 80 numaral\u0131 port \u00fczerinden eri\u015fmeye \u00e7al\u0131\u015fan herkes, otomatik olarak i\u00e7 a\u011fdaki web sunucunuza y\u00f6nlendirilecektir. Bu basit ama g\u00fc\u00e7l\u00fc y\u00f6nlendirme, bir\u00e7ok temel hizmetin d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131n\u0131 sa\u011flaman\u0131n ilk ad\u0131m\u0131d\u0131r.<\/p>\n<h3>Farkl\u0131 Portlara Y\u00f6nlendirme ve Birden Fazla Hizmet (DNAT) Nas\u0131l Y\u00f6netilir?<\/h3>\n<p>Bir \u00f6nceki b\u00f6l\u00fcmde tek bir hizmet i\u00e7in basit bir port y\u00f6nlendirme kural\u0131 olu\u015fturmay\u0131 \u00f6\u011frendik. Ancak ger\u00e7ek d\u00fcnya senaryolar\u0131nda, genellikle birden fazla i\u00e7 a\u011f hizmetini d\u0131\u015f d\u00fcnyaya a\u00e7mam\u0131z veya d\u0131\u015far\u0131dan gelen ba\u011flant\u0131lar\u0131 farkl\u0131 port numaralar\u0131 \u00fczerinden i\u00e7 a\u011fdaki farkl\u0131 portlara y\u00f6nlendirmemiz gerekebilir. \u00d6rne\u011fin, d\u0131\u015far\u0131dan 8080 portuna gelen bir ba\u011flant\u0131y\u0131 i\u00e7 a\u011fdaki bir sunucunun 80 portuna, d\u0131\u015far\u0131dan 2222 portuna gelen bir SSH ba\u011flant\u0131s\u0131n\u0131 ise ba\u015fka bir sunucunun standart 22 portuna y\u00f6nlendirmek isteyebiliriz. Bu, Iptables&#8217;\u0131n esnekli\u011fi sayesinde kolayca y\u00f6netilebilir.<\/p>\n<p><strong>Senaryo 1: D\u0131\u015f Portu \u0130\u00e7 Porttan Farkl\u0131 Y\u00f6nlendirme<\/strong><\/p>\n<p>Diyelim ki, a\u011f ge\u00e7idinizin genel IP adresine (<code>203.0.113.5<\/code>) 8080 numaral\u0131 port \u00fczerinden gelen web trafi\u011fini, i\u00e7 a\u011fdaki <code>192.168.1.100<\/code> IP adresine sahip web sunucunuzun standart 80 numaral\u0131 portuna y\u00f6nlendirmek istiyorsunuz. Bu, d\u0131\u015far\u0131dan eri\u015fen kullan\u0131c\u0131lar\u0131n web sitenize <code>http:\/\/203.0.113.5:8080<\/code> adresinden ula\u015fmas\u0131n\u0131 sa\u011flarken, i\u00e7 sunucunuzun hala 80 portunda \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. Kural a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre><code>sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80<\/code><\/pre>\n<p>Burada anahtar nokta, <code>--dport<\/code> ile d\u0131\u015far\u0131dan beklenen portu (8080) belirtirken, <code>--to-destination<\/code> ile i\u00e7 a\u011fdaki sunucunun IP adresi ve ger\u00e7ek portunu (<code>192.168.1.100:80<\/code>) tan\u0131mlamakt\u0131r. Bu sayede, d\u0131\u015far\u0131dan gelen ba\u011flant\u0131, a\u011f ge\u00e7idinde port numaras\u0131 de\u011fi\u015ftirilerek i\u00e7 a\u011fdaki hedefe iletilir. Benzer \u015fekilde, e\u011fer <code>192.168.1.101<\/code> IP adresine sahip ba\u015fka bir sunucunuzda \u00e7al\u0131\u015fan SSH hizmetine (port 22) d\u0131\u015far\u0131dan 2222 portu \u00fczerinden eri\u015fmek istiyorsan\u0131z, kural \u015f\u00f6yle olur:<\/p>\n<pre><code>sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.101:22<\/code><\/pre>\n<p>Bu y\u00f6ntem, ayn\u0131 d\u0131\u015f IP adresini kullanarak birden fazla i\u00e7 a\u011f hizmetine farkl\u0131 d\u0131\u015f portlar \u00fczerinden eri\u015fim sa\u011flaman\u0131za olanak tan\u0131r. Bu, \u00f6zellikle s\u0131n\u0131rl\u0131 say\u0131da genel IP adresiniz oldu\u011funda veya g\u00fcvenlik amac\u0131yla standart port numaralar\u0131n\u0131 gizlemek istedi\u011finizde olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>Senaryo 2: Birden Fazla \u0130\u00e7 Sunucuya Y\u00f6nlendirme<\/strong><\/p>\n<p>Ayn\u0131 anda birden fazla i\u00e7 a\u011f sunucusuna y\u00f6nlendirme yapmak i\u00e7in, her bir hizmet i\u00e7in ayr\u0131 bir DNAT kural\u0131 olu\u015fturman\u0131z yeterlidir. \u00d6rne\u011fin, bir web sunucusu (<code>192.168.1.100:80<\/code>) ve bir FTP sunucusu (<code>192.168.1.102:21<\/code>) i\u00e7in y\u00f6nlendirme yapmak isteyelim:<\/p>\n<pre><code># Web Sunucusu i\u00e7in y\u00f6nlendirme (D\u0131\u015f 80 -> \u0130\u00e7 192.168.1.100:80)\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80\n\n# FTP Sunucusu i\u00e7in y\u00f6nlendirme (D\u0131\u015f 21 -> \u0130\u00e7 192.168.1.102:21)\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.102:21<\/code><\/pre>\n<p>Her bir kural, belirli bir d\u0131\u015f portu belirli bir i\u00e7 IP adresi ve portuna y\u00f6nlendirir. Bu kurallar\u0131n yan\u0131 s\u0131ra, her bir y\u00f6nlendirme i\u00e7in <code>FORWARD<\/code> zincirinde izin veren kurallar\u0131n da olmas\u0131 gerekti\u011fini unutmay\u0131n:<\/p>\n<pre><code># Web trafi\u011fi i\u00e7in FORWARD kural\u0131\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -d 192.168.1.100 -j ACCEPT\n\n# FTP trafi\u011fi i\u00e7in FORWARD kural\u0131\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 21 -d 192.168.1.102 -j ACCEPT\n\n# Mevcut ve ilgili ba\u011flant\u0131lara izin veren genel kural (e\u011fer yoksa)\nsudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, a\u011f ge\u00e7idinizin tek bir d\u0131\u015f IP adresi \u00fczerinden birden fazla i\u00e7 hizmeti g\u00fcvenli bir \u015fekilde d\u0131\u015f d\u00fcnyaya a\u00e7mas\u0131n\u0131 sa\u011flar. Her bir kural\u0131 dikkatlice tan\u0131mlayarak ve <code>FORWARD<\/code> zincirinde uygun izinleri vererek, a\u011f\u0131n\u0131z\u0131n kontrol\u00fcn\u00fc elinizde tutabilirsiniz. Unutulmamal\u0131d\u0131r ki, her yeni port y\u00f6nlendirme kural\u0131 ekledi\u011finizde, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 da g\u00f6zden ge\u00e7irmeli ve yaln\u0131zca gerekli olan trafi\u011fe izin verdi\u011finizden emin olmal\u0131s\u0131n\u0131z. Kurallar\u0131 uygulamadan \u00f6nce mevcut Iptables kurallar\u0131n\u0131z\u0131 yedeklemek ve test ortam\u0131nda denemek iyi bir uygulamad\u0131r. Bu esneklik, Iptables&#8217;\u0131 \u00f6zellikle dinamik ve b\u00fcy\u00fcyen a\u011f ortamlar\u0131nda vazge\u00e7ilmez bir ara\u00e7 haline getirir.<\/p>\n<h2>Geli\u015fmi\u015f Senaryolar ve G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h2>\n<p>Basit port y\u00f6nlendirme kurallar\u0131n\u0131 olu\u015fturmay\u0131 \u00f6\u011frendik, ancak Iptables&#8217;\u0131n ger\u00e7ek g\u00fcc\u00fc, geli\u015fmi\u015f senaryolarda ve g\u00fcvenlik odakl\u0131 uygulamalarda ortaya \u00e7\u0131kar. A\u011f\u0131n\u0131z\u0131 daha g\u00fcvenli ve y\u00f6netilebilir hale getirmek i\u00e7in kullanabilece\u011finiz baz\u0131 ileri d\u00fczey teknikler ve ipu\u00e7lar\u0131 bulunmaktad\u0131r.<\/p>\n<p><strong>1. Kaynak IP K\u0131s\u0131tlamalar\u0131 ile G\u00fcvenli\u011fi Art\u0131rma:<\/strong><\/p>\n<p>Bir hizmeti d\u0131\u015far\u0131ya a\u00e7arken, bu hizmete herkesin eri\u015fmesini istemeyebilirsiniz. \u00d6rne\u011fin, sadece belirli bir ofis IP adresinden veya g\u00fcvendi\u011finiz bir VPN sunucusundan gelen SSH ba\u011flant\u0131lar\u0131na izin vermek isteyebilirsiniz. Bunu <code>-s<\/code> (source) parametresi ile yapabilirsiniz:<\/p>\n<pre><code># Sadece 85.12.34.0\/24 IP aral\u0131\u011f\u0131ndan gelen SSH ba\u011flant\u0131lar\u0131n\u0131 192.168.1.101 sunucusuna y\u00f6nlendir\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp -s 85.12.34.0\/24 --dport 2222 -j DNAT --to-destination 192.168.1.101:22\n\n# FORWARD zincirinde de ayn\u0131 k\u0131s\u0131tlamay\u0131 uygulamak \u00f6nemlidir\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp -s 85.12.34.0\/24 --dport 22 -d 192.168.1.101 -j ACCEPT<\/code><\/pre>\n<p>Bu sayede, sadece yetkili kaynaklardan gelen ba\u011flant\u0131lar\u0131n i\u00e7 a\u011fdaki hizmetinize ula\u015fmas\u0131n\u0131 sa\u011flayarak sald\u0131r\u0131 y\u00fczeyinizi \u00f6nemli \u00f6l\u00e7\u00fcde daraltm\u0131\u015f olursunuz.<\/p>\n<p><strong>2. Belirli Bir Aray\u00fcze Ba\u011flama:<\/strong><\/p>\n<p>\u00c7oklu WAN ba\u011flant\u0131s\u0131 olan bir a\u011f ge\u00e7idiniz varsa, port y\u00f6nlendirme kurallar\u0131n\u0131z\u0131 belirli bir d\u0131\u015f aray\u00fcze ba\u011flamak isteyebilirsiniz. Bu, <code>-i<\/code> (in-interface) parametresi ile kolayca yap\u0131l\u0131r:<\/p>\n<pre><code># Sadece eth0 aray\u00fcz\u00fcnden gelen trafi\u011fi y\u00f6nlendir\nsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80<\/code><\/pre>\n<p>Bu, kurallar\u0131n\u0131z\u0131n sadece belirli bir internet ba\u011flant\u0131s\u0131 \u00fczerinden ge\u00e7erli olmas\u0131n\u0131 sa\u011flar, bu da karma\u015f\u0131k a\u011f ortamlar\u0131nda y\u00f6nlendirme politikalar\u0131n\u0131 daha net hale getirir.<\/p>\n<p><strong>3. G\u00fcnl\u00fck Kayd\u0131 (Logging) ile Trafik \u0130zleme:<\/strong><\/p>\n<p>Port y\u00f6nlendirme kurallar\u0131n\u0131z\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 veya istenmeyen ba\u011flant\u0131 giri\u015fimlerini izlemek i\u00e7in g\u00fcnl\u00fck kayd\u0131 (logging) \u00f6zelli\u011fini kullanabilirsiniz. <code>LOG<\/code> hedefi, e\u015fle\u015fen paketlerin \u00e7ekirdek g\u00fcnl\u00fc\u011f\u00fcne (syslog) kaydedilmesini sa\u011flar:<\/p>\n<pre><code># Y\u00f6nlendirilen HTTP trafi\u011fini logla\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -d 192.168.1.100 -j LOG --log-prefix \"HTTP_FORWARD: \" --log-level info\n\n# Daha sonra paketi kabul et\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -d 192.168.1.100 -j ACCEPT<\/code><\/pre>\n<p>G\u00fcnl\u00fcklerinizde <code>HTTP_FORWARD:<\/code> \u00f6nekiyle bu trafi\u011fi kolayca filtreleyebilir ve izleyebilirsiniz. Bu, hata ay\u0131klama ve g\u00fcvenlik denetimleri i\u00e7in paha bi\u00e7ilmezdir.<\/p>\n<p><strong>4. Zaman Tabanl\u0131 Kurallar:<\/strong><\/p>\n<p>Iptables, <code>-m time<\/code> mod\u00fcl\u00fc ile kurallar\u0131 belirli zaman dilimlerinde aktif hale getirmenize olanak tan\u0131r. \u00d6rne\u011fin, bir hizmete sadece mesai saatleri i\u00e7inde eri\u015filmesini isteyebilirsiniz:<\/p>\n<pre><code># Hafta i\u00e7i 09:00-17:00 aras\u0131 SSH eri\u015fimine izin ver\nsudo iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 22 -d 192.168.1.101 -m time --timestart 09:00 --timestop 17:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT<\/code><\/pre>\n<p>Bu, \u00f6zellikle belirli hizmetlerin sadece belirlenmi\u015f zamanlarda kullan\u0131labilir olmas\u0131n\u0131 istedi\u011finizde g\u00fcvenlik ve y\u00f6netim kolayl\u0131\u011f\u0131 sa\u011flar.<\/p>\n<p><strong>5. Port Y\u00f6nlendirme Kurallar\u0131n\u0131 Do\u011fru S\u0131ralama:<\/strong><\/p>\n<p>Iptables kurallar\u0131 yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru i\u015flenir. Bu nedenle, daha spesifik kurallar\u0131n genel kurallardan \u00f6nce gelmesi \u00f6nemlidir. \u00d6rne\u011fin, belirli bir IP&#8217;den gelen trafi\u011fe izin veren bir kural\u0131n\u0131z varsa, bunu t\u00fcm trafi\u011fi engelleyen bir kuraldan \u00f6nce koymal\u0131s\u0131n\u0131z. Aksi takdirde, genel kural spesifik kural\u0131 ge\u00e7ersiz k\u0131labilir.<\/p>\n<p><strong>6. G\u00fcvenlik Duvar\u0131 Politikalar\u0131:<\/strong><\/p>\n<p><code>FORWARD<\/code> zincirinin varsay\u0131lan politikas\u0131n\u0131 <code>DROP<\/code> olarak ayarlamak, g\u00fcvenli\u011fi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu, a\u00e7\u0131k\u00e7a izin verilmeyen t\u00fcm trafi\u011fin engellenece\u011fi anlam\u0131na gelir:<\/p>\n<pre><code>sudo iptables -P FORWARD DROP<\/code><\/pre>\n<p>Bu politikay\u0131 uygulad\u0131ktan sonra, i\u00e7 a\u011fa y\u00f6nlendirmek istedi\u011finiz her trafik t\u00fcr\u00fc i\u00e7in a\u00e7\u0131k\u00e7a <code>ACCEPT<\/code> kurallar\u0131 eklemeniz gerekecektir. Bu &#8220;varsay\u0131lan olarak reddet&#8221; (deny-by-default) yakla\u015f\u0131m\u0131, a\u011f g\u00fcvenli\u011finin temel prensiplerindendir.<\/p>\n<p>Bu geli\u015fmi\u015f teknikler, Iptables ile port y\u00f6nlendirme yaparken sadece hizmet eri\u015filebilirli\u011fini sa\u011flamakla kalmaz, ayn\u0131 zamanda a\u011f g\u00fcvenli\u011finizi de g\u00fc\u00e7lendirmenize olanak tan\u0131r. Her zaman oldu\u011fu gibi, yeni kurallar\u0131 uygulamadan \u00f6nce dikkatli olun, mevcut kurallar\u0131n\u0131z\u0131 yedekleyin ve de\u011fi\u015fikliklerinizi bir test ortam\u0131nda do\u011frulamay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<h2>Port Y\u00f6nlendirme Kurallar\u0131n\u0131 Kal\u0131c\u0131 Hale Getirme<\/h2>\n<p>Iptables ile olu\u015fturdu\u011funuz t\u00fcm kurallar, varsay\u0131lan olarak ge\u00e7icidir. Bu, sunucunuz yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm kurallar\u0131n kaybolaca\u011f\u0131 anlam\u0131na gelir. Bu durumu \u00f6nlemek ve port y\u00f6nlendirme ayarlar\u0131n\u0131z\u0131n her zaman aktif kalmas\u0131n\u0131 sa\u011flamak i\u00e7in kurallar\u0131 kal\u0131c\u0131 hale getirmeniz gerekir. Linux da\u011f\u0131t\u0131m\u0131n\u0131za ba\u011fl\u0131 olarak bu i\u015flemi yapman\u0131n birka\u00e7 farkl\u0131 yolu vard\u0131r.<\/p>\n<p><strong>1. Debian\/Ubuntu Tabanl\u0131 Sistemlerde (<code>netfilter-persistent<\/code>):<\/strong><\/p>\n<p>Modern Debian ve Ubuntu s\u00fcr\u00fcmlerinde, Iptables kurallar\u0131n\u0131 kal\u0131c\u0131 hale getirmenin \u00f6nerilen yolu <code>netfilter-persistent<\/code> servisidir. Bu servis, Iptables kurallar\u0131n\u0131 bir dosyaya kaydeder ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak geri y\u00fckler.<\/p>\n<p>\u00d6ncelikle, <code>netfilter-persistent<\/code> paketini y\u00fcklemeniz gerekir:<\/p>\n<pre><code>sudo apt update\nsudo apt install netfilter-persistent<\/code><\/pre>\n<p>Kurulum s\u0131ras\u0131nda, mevcut Iptables kurallar\u0131n\u0131z\u0131 kaydetmek isteyip istemedi\u011finiz sorulacakt\u0131r. Evet yan\u0131t\u0131 vererek mevcut kurallar\u0131n\u0131z\u0131 kaydedebilirsiniz. Daha sonra, yeni bir kural ekledi\u011finizde veya mevcut bir kural\u0131 de\u011fi\u015ftirdi\u011finizde, de\u011fi\u015fiklikleri kal\u0131c\u0131 hale getirmek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rman\u0131z yeterlidir:<\/p>\n<pre><code>sudo netfilter-persistent save<\/code><\/pre>\n<p>Bu komut, Iptables kurallar\u0131n\u0131 <code>\/etc\/iptables\/rules.v4<\/code> (IPv4 i\u00e7in) ve <code>\/etc\/iptables\/rules.v6<\/code> (IPv6 i\u00e7in) dosyalar\u0131na kaydeder. Sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda, <code>netfilter-persistent<\/code> servisi bu dosyalar\u0131 okuyarak kurallar\u0131 otomatik olarak geri y\u00fckler.<\/p>\n<p><strong>2. CentOS\/RHEL Tabanl\u0131 Sistemlerde (<code>iptables-services<\/code> veya <code>firewalld<\/code>):<\/strong><\/p>\n<p>CentOS ve RHEL gibi Red Hat tabanl\u0131 da\u011f\u0131t\u0131mlarda, geleneksel olarak <code>iptables-services<\/code> paketi veya daha modern <code>firewalld<\/code> hizmeti kullan\u0131l\u0131r.<\/p>\n<p><strong>a) <code>iptables-services<\/code> Kullanarak:<\/strong><\/p>\n<p>E\u011fer <code>firewalld<\/code> yerine geleneksel Iptables&#8217;\u0131 kullanmay\u0131 tercih ediyorsan\u0131z, <code>iptables-services<\/code> paketini y\u00fckleyebilir ve etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code>sudo yum install iptables-services\nsudo systemctl enable iptables\nsudo systemctl start iptables<\/code><\/pre>\n<p>Kurallar\u0131 kaydetmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo iptables-save > \/etc\/sysconfig\/iptables<\/code><\/pre>\n<p>Bu komut, mevcut Iptables kurallar\u0131n\u0131z\u0131 <code>\/etc\/sysconfig\/iptables<\/code> dosyas\u0131na kaydeder. Sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda, <code>iptables<\/code> servisi bu dosyay\u0131 otomatik olarak y\u00fckleyecektir.<\/p>\n<p><strong>b) <code>firewalld<\/code> Kullanarak:<\/strong><\/p>\n<p><code>firewalld<\/code>, CentOS\/RHEL&#8217;in varsay\u0131lan g\u00fcvenlik duvar\u0131 y\u00f6netimi arac\u0131d\u0131r ve Iptables&#8217;\u0131n \u00fczerinde bir soyutlama katman\u0131 sa\u011flar. E\u011fer <code>firewalld<\/code> kullan\u0131yorsan\u0131z, port y\u00f6nlendirme kurallar\u0131n\u0131 <code>firewall-cmd<\/code> komutuyla y\u00f6netmelisiniz. Bu, Iptables komutlar\u0131n\u0131 do\u011frudan kullanmaktan farkl\u0131 bir yakla\u015f\u0131md\u0131r, ancak sonu\u00e7 ayn\u0131d\u0131r.<\/p>\n<p>\u00d6rnek olarak, d\u0131\u015f 8080 portunu i\u00e7 192.168.1.100:80&#8217;e y\u00f6nlendirmek i\u00e7in:<\/p>\n<pre><code># Belirli bir b\u00f6lgeye (zone) port y\u00f6nlendirme ekle (\u00f6rne\u011fin, public)\nsudo firewall-cmd --zone=public --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100 --permanent\n\n# De\u011fi\u015fiklikleri etkinle\u015ftir\nsudo firewall-cmd --reload<\/code><\/pre>\n<p><code>--permanent<\/code> bayra\u011f\u0131, kural\u0131n kal\u0131c\u0131 olmas\u0131n\u0131 sa\u011flar ve <code>firewall-cmd --reload<\/code> komutu, kurallar\u0131 yeniden y\u00fckleyerek hemen aktif hale getirir. <code>firewalld<\/code>, arka planda Iptables kurallar\u0131n\u0131 otomatik olarak olu\u015fturur ve y\u00f6netir.<\/p>\n<p><strong>3. Manuel Betik Olu\u015fturma (T\u00fcm Da\u011f\u0131t\u0131mlar \u0130\u00e7in):<\/strong><\/p>\n<p>Yukar\u0131daki y\u00f6ntemler da\u011f\u0131t\u0131ma \u00f6zel olabilirken, t\u00fcm Linux da\u011f\u0131t\u0131mlar\u0131nda \u00e7al\u0131\u015facak genel bir y\u00f6ntem, Iptables kurallar\u0131n\u0131 bir betik dosyas\u0131na yazmak ve bu beti\u011fi sistem ba\u015flang\u0131c\u0131nda \u00e7al\u0131\u015ft\u0131rmakt\u0131r.<\/p>\n<p>\u00d6nce, mevcut kurallar\u0131n\u0131z\u0131 bir dosyaya kaydedin:<\/p>\n<pre><code>sudo iptables-save > \/etc\/iptables\/rules.v4<\/code><\/pre>\n<p>Ard\u0131ndan, bu kurallar\u0131 sistem ba\u015flang\u0131c\u0131nda y\u00fckleyecek bir betik olu\u015fturun (\u00f6rne\u011fin, <code>\/etc\/rc.local<\/code> veya <code>systemd<\/code> servisi kullanarak):<\/p>\n<pre><code>#!\/bin\/bash\n\/sbin\/iptables-restore < \/etc\/iptables\/rules.v4\nexit 0<\/code><\/pre>\n<p>Bu beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin ve sistem ba\u015flang\u0131c\u0131nda \u00e7al\u0131\u015facak \u015fekilde yap\u0131land\u0131r\u0131n. Ancak, bu y\u00f6ntem modern Linux da\u011f\u0131t\u0131mlar\u0131nda genellikle <code>netfilter-persistent<\/code> veya <code>firewalld<\/code> gibi daha entegre \u00e7\u00f6z\u00fcmlerin yerine tercih edilmez.<\/p>\n<p>Hangi y\u00f6ntemi kullan\u0131rsan\u0131z kullan\u0131n, Iptables kurallar\u0131n\u0131z\u0131 kal\u0131c\u0131 hale getirmek, a\u011f ge\u00e7idinizin istikrarl\u0131 ve g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flaman\u0131n temelidir. Herhangi bir kural de\u011fi\u015fikli\u011finden sonra da bu kaydetme ad\u0131mlar\u0131n\u0131 tekrarlamay\u0131 unutmamal\u0131s\u0131n\u0131z.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu makale boyunca, bir Linux sunucuyu Iptables ile g\u00fc\u00e7l\u00fc bir a\u011f ge\u00e7idine d\u00f6n\u00fc\u015ft\u00fcrerek port y\u00f6nlendirme i\u015flemini nas\u0131l ger\u00e7ekle\u015ftirebilece\u011finizi ad\u0131m ad\u0131m inceledik. Temel kavramlardan ba\u015flayarak, basit DNAT kurallar\u0131 olu\u015fturmaktan, birden fazla hizmeti y\u00f6netmeye ve geli\u015fmi\u015f g\u00fcvenlik senaryolar\u0131n\u0131 uygulamaya kadar geni\u015f bir yelpazeyi kapsad\u0131k. Iptables'\u0131n esnekli\u011fi sayesinde, a\u011f trafi\u011finiz \u00fczerinde tam kontrol sahibi olabilir, i\u00e7 a\u011f\u0131n\u0131zdaki hizmetleri g\u00fcvenli bir \u015fekilde d\u0131\u015f d\u00fcnyaya a\u00e7abilir ve a\u011f\u0131n\u0131z\u0131n genel g\u00fcvenli\u011fini art\u0131rabilirsiniz. Unutmay\u0131n ki, her a\u011f yap\u0131s\u0131 farkl\u0131d\u0131r ve Iptables kurallar\u0131n\u0131z\u0131 kendi \u00f6zel ihtiya\u00e7lar\u0131n\u0131za g\u00f6re uyarlaman\u0131z gerekecektir. G\u00fcvenlik ve i\u015flevsellik aras\u0131nda do\u011fru dengeyi bulmak i\u00e7in kurallar\u0131n\u0131z\u0131 dikkatlice test etmeyi ve d\u00fczenli olarak g\u00f6zden ge\u00e7irmeyi ihmal etmeyin.<\/p>\n<p>Iptables, ba\u015flang\u0131\u00e7ta karma\u015f\u0131k g\u00f6r\u00fcnebilir, ancak temel prensipleri ve komut yap\u0131s\u0131n\u0131 anlad\u0131\u011f\u0131n\u0131zda, a\u011f y\u00f6netiminde size inan\u0131lmaz bir g\u00fc\u00e7 ve esneklik sunar. Bu bilgilerle, art\u0131k kendi Linux a\u011f ge\u00e7idinizi yap\u0131land\u0131rabilir ve a\u011f\u0131n\u0131z\u0131n potansiyelini tam olarak kullanabilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt>Port y\u00f6nlendirme g\u00fcvenli midir?<\/dt>\n<dd>Port y\u00f6nlendirme, do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda g\u00fcvenli olabilir. Ancak, bir hizmeti d\u0131\u015f d\u00fcnyaya a\u00e7t\u0131\u011f\u0131n\u0131zda, o hizmet potansiyel sald\u0131r\u0131lara maruz kal\u0131r. G\u00fcvenli\u011fi art\u0131rmak i\u00e7in sadece gerekli portlar\u0131 y\u00f6nlendirin, kaynak IP k\u0131s\u0131tlamalar\u0131 kullan\u0131n, y\u00f6nlendirilen hizmetlerin g\u00fcncel ve g\u00fcvenli oldu\u011fundan emin olun ve <code>FORWARD<\/code> zincirinde s\u0131k\u0131 g\u00fcvenlik kurallar\u0131 uygulay\u0131n. Varsay\u0131lan politikay\u0131 <code>DROP<\/code> olarak ayarlamak iyi bir ba\u015flang\u0131\u00e7t\u0131r.<\/dd>\n<dt>NAT nedir ve port y\u00f6nlendirme ile ili\u015fkisi nedir?<\/dt>\n<dd>NAT (Network Address Translation - A\u011f Adresi \u00c7evirisi), \u00f6zel IP adreslerine sahip cihazlar\u0131n tek bir genel IP adresi \u00fczerinden internete \u00e7\u0131kmas\u0131n\u0131 sa\u011flayan bir mekanizmad\u0131r. Port y\u00f6nlendirme (Destination NAT - DNAT), NAT'\u0131n bir t\u00fcr\u00fcd\u00fcr. D\u0131\u015far\u0131dan gelen bir ba\u011flant\u0131n\u0131n hedef IP adresini ve\/veya portunu i\u00e7 a\u011fdaki bir cihaza ve portuna \u00e7evirerek, \u00f6zel IP adresine sahip cihazlara d\u0131\u015far\u0131dan eri\u015fim sa\u011flar.<\/dd>\n<dt>Iptables kurallar\u0131 neden sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kayboluyor?<\/dt>\n<dd>Iptables kurallar\u0131, \u00e7ekirde\u011fin belle\u011finde tutulur ve bu nedenle ge\u00e7icidir. Sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bellek temizlenir ve kurallar kaybolur. Kurallar\u0131 kal\u0131c\u0131 hale getirmek i\u00e7in, <code>netfilter-persistent<\/code> (Debian\/Ubuntu), <code>iptables-services<\/code> (CentOS\/RHEL) gibi ara\u00e7lar veya manuel olarak kurallar\u0131 bir dosyaya kaydedip sistem ba\u015flang\u0131c\u0131nda geri y\u00fckleyen betikler kullanmal\u0131s\u0131n\u0131z.<\/dd>\n<dt>Port y\u00f6nlendirme i\u00e7in hangi portlar\u0131 kullanmal\u0131y\u0131m?<\/dt>\n<dd>Bu, y\u00f6nlendirdi\u011finiz hizmete ba\u011fl\u0131d\u0131r. HTTP i\u00e7in 80 (veya 8080 gibi alternatifler), HTTPS i\u00e7in 443, SSH i\u00e7in 22 (veya 2222 gibi alternatifler), FTP i\u00e7in 20\/21 gibi standart portlar bulunur. G\u00fcvenlik nedeniyle, bazen standart portlar yerine daha y\u00fcksek, az bilinen portlar\u0131 d\u0131\u015far\u0131ya a\u00e7mak tercih edilebilir. Ancak bu \"g\u00fcvenlik yoluyla belirsizlik\" (security by obscurity) tam bir g\u00fcvenlik sa\u011flamaz; g\u00fc\u00e7l\u00fc kimlik do\u011frulama ve g\u00fcncel yaz\u0131l\u0131m daha \u00f6nemlidir.<\/dd>\n<dt>Birden fazla i\u00e7 sunucuya ayn\u0131 d\u0131\u015f portu y\u00f6nlendirebilir miyim?<\/dt>\n<dd>Hay\u0131r, ayn\u0131 d\u0131\u015f IP adresine gelen ayn\u0131 d\u0131\u015f portu ayn\u0131 anda birden fazla i\u00e7 sunucuya do\u011frudan y\u00f6nlendiremezsiniz. Bir port y\u00f6nlendirme kural\u0131, belirli bir d\u0131\u015f portu yaln\u0131zca tek bir i\u00e7 IP adresi ve portuna e\u015fleyebilir. E\u011fer ayn\u0131 d\u0131\u015f IP \u00fczerinden birden fazla i\u00e7 sunucuya eri\u015fim sa\u011flamak istiyorsan\u0131z, her sunucu i\u00e7in farkl\u0131 bir d\u0131\u015f port kullanman\u0131z gerekir (\u00f6rne\u011fin, sunucu A i\u00e7in d\u0131\u015f port 8080, sunucu B i\u00e7in d\u0131\u015f port 8081).<\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Linux A\u011f Ge\u00e7idinde Iptables ile Port Y\u00f6nlendirme Nas\u0131l Yap\u0131l\u0131r? \u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak,&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-40504","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?<\/title>\n<meta name=\"description\" content=\"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?\" \/>\n<meta property=\"og:description\" content=\"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-27T09:21:03+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?\",\"datePublished\":\"2026-02-27T09:21:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\"},\"wordCount\":4220,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\",\"name\":\"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-27T09:21:03+00:00\",\"description\":\"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?","description":"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/","og_locale":"tr_TR","og_type":"article","og_title":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?","og_description":"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-27T09:21:03+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"24 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?","datePublished":"2026-02-27T09:21:03+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/"},"wordCount":4220,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/","url":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/","name":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-27T09:21:03+00:00","description":"\u0130\u00e7 a\u011f\u0131n\u0131zdaki sunuculara veya hizmetlere d\u0131\u015f d\u00fcnyadan eri\u015fim sa\u011flamak, bir\u00e7ok a\u011f y\u00f6neticisinin kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel bir ihtiya\u00e7t\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/port-yonlendirme-neden-onemli-ve-ne-ise-yarar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Port Y\u00f6nlendirme Neden \u00d6nemli ve Ne \u0130\u015fe Yarar?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=40504"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40504\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=40504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=40504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=40504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}