{"id":30659,"date":"2025-09-30T10:40:56","date_gmt":"2025-09-30T07:40:56","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=30659"},"modified":"2025-09-30T10:40:56","modified_gmt":"2025-09-30T07:40:56","slug":"tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/","title":{"rendered":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>Tinc, \u00e7ok y\u00f6nl\u00fc ve esnek bir a\u011f sanalla\u015ft\u0131rma yaz\u0131l\u0131m\u0131d\u0131r. Geleneksel VPN \u00e7\u00f6z\u00fcmlerinden farkl\u0131 olarak, Tinc bir istemci-sunucu modeline ba\u011fl\u0131 kalmak yerine, d\u00fc\u011f\u00fcmler aras\u0131nda do\u011frudan ba\u011flant\u0131lar kurabilen bir mesh (\u00f6rg\u00fc) VPN olu\u015fturma yetene\u011fine sahiptir. Bu makalede, Tinc&#8217;in Ubuntu 18.04 i\u015fletim sistemi \u00fczerinde nas\u0131l kurulaca\u011f\u0131n\u0131 ve temel bir VPN a\u011f\u0131n\u0131n nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z. Bu sayede, farkl\u0131 co\u011frafi konumlardaki sunucular\u0131n\u0131z\u0131 veya cihazlar\u0131n\u0131z\u0131 tek bir sanal a\u011f alt\u0131nda birle\u015ftirerek g\u00fcvenli ileti\u015fim sa\u011flayabilirsiniz.<\/p>\n<p>Tinc, \u00f6zellikle da\u011f\u0131t\u0131k sistemler, IoT cihazlar\u0131 veya birden fazla bulut sa\u011flay\u0131c\u0131s\u0131nda bar\u0131nd\u0131r\u0131lan sunucular aras\u0131nda g\u00fcvenli ve esnek bir ileti\u015fim katman\u0131 olu\u015fturmak isteyenler i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr. OpenVPN gibi daha bilinen \u00e7\u00f6z\u00fcmlere g\u00f6re yap\u0131land\u0131rmas\u0131 biraz daha farkl\u0131 olsa da, sundu\u011fu mesh yap\u0131s\u0131 ve peer-to-peer (e\u015ften-e\u015fe) ba\u011flant\u0131 yetene\u011fi sayesinde b\u00fcy\u00fck avantajlar sa\u011flar.<\/p>\n<h3>Tinc VPN Nedir ve Neden Kullan\u0131lmal\u0131d\u0131r?<\/h3>\n<p>Tinc, sanal \u00f6zel a\u011flar (VPN&#8217;ler) olu\u015fturmak i\u00e7in tasarlanm\u0131\u015f a\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131md\u0131r. Ancak, \u00e7o\u011fu VPN \u00e7\u00f6z\u00fcm\u00fcnden ayr\u0131lan temel \u00f6zelli\u011fi, merkezi bir sunucuya ihtiya\u00e7 duymadan, a\u011fdaki t\u00fcm d\u00fc\u011f\u00fcmlerin birbirine do\u011frudan ba\u011flanabildi\u011fi bir &#8220;mesh&#8221; veya &#8220;\u00f6rg\u00fc&#8221; topoloji olu\u015fturabilmesidir. Bu, bir d\u00fc\u011f\u00fcm\u00fcn di\u011ferine ula\u015fmak i\u00e7in mutlaka merkezi bir sunucu \u00fczerinden ge\u00e7mek zorunda olmad\u0131\u011f\u0131 anlam\u0131na gelir. E\u011fer do\u011frudan bir ba\u011flant\u0131 m\u00fcmk\u00fcnse (\u00f6rne\u011fin, g\u00fcvenlik duvar\u0131 veya NAT arkas\u0131nda de\u011fillerse), Tinc bu do\u011frudan ba\u011flant\u0131y\u0131 tercih eder. Aksi takdirde, di\u011fer d\u00fc\u011f\u00fcmler \u00fczerinden y\u00f6nlendirme yaparak ileti\u015fimi sa\u011flar.<\/p>\n<h4>Tinc&#8217;in Temel \u00d6zellikleri ve Avantajlar\u0131:<\/h4>\n<p>*   <strong>Mesh VPN Topolojisi:<\/strong> Her d\u00fc\u011f\u00fcm di\u011fer herhangi bir d\u00fc\u011f\u00fcmle do\u011frudan ileti\u015fim kurabilir. Bu, a\u011f\u0131n daha esnek, dayan\u0131kl\u0131 ve \u00f6l\u00e7eklenebilir olmas\u0131n\u0131 sa\u011flar. Merkezi bir sunucunun \u00e7\u00f6kmesi t\u00fcm a\u011f\u0131 etkilemez.<br \/>\n*   <strong>Kolay Yap\u0131land\u0131rma:<\/strong> Temel bir kurulum i\u00e7in nispeten basit yap\u0131land\u0131rma dosyalar\u0131 gerektirir.<br \/>\n*   <strong>Platform Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/strong> Linux, Windows, macOS ve di\u011fer bir\u00e7ok UNIX benzeri sistemde \u00e7al\u0131\u015f\u0131r.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> T\u00fcm trafik, OpenSSL kullan\u0131larak g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131yla \u015fifrelenir. Her d\u00fc\u011f\u00fcm\u00fcn kendi anahtar \u00e7ifti vard\u0131r.<br \/>\n*   <strong>NAT Ge\u00e7i\u015fi:<\/strong> \u00c7o\u011fu zaman, d\u00fc\u011f\u00fcmlerin genel IP adresleri olmasa bile (NAT arkas\u0131nda olsalar bile) birbirleriyle ileti\u015fim kurmalar\u0131n\u0131 sa\u011flayabilir.<br \/>\n*   <strong>IPv6 Deste\u011fi:<\/strong> Hem IPv4 hem de IPv6 trafi\u011fini t\u00fcnelleyebilir.<br \/>\n*   <strong>Esneklik:<\/strong> VPN \u00fczerinden belirli alt a\u011flar\u0131 veya t\u00fcm trafi\u011fi y\u00f6nlendirebilir.<\/p>\n<p>Tinc, \u00f6zellikle birden fazla lokasyonda sunucular\u0131 olan veya farkl\u0131 bulut sa\u011flay\u0131c\u0131lar\u0131nda da\u011f\u0131t\u0131k sistemler \u00e7al\u0131\u015ft\u0131ran kurulu\u015flar i\u00e7in idealdir. Ayr\u0131ca, evdeki farkl\u0131 cihazlar\u0131 (Raspberry Pi&#8217;ler, sunucular vb.) g\u00fcvenli bir \u015fekilde birbirine ba\u011flamak i\u00e7in de kullan\u0131labilir.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Tinc kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olunuz:<\/p>\n<p>*   <strong>\u0130ki veya Daha Fazla Ubuntu 18.04 Sunucusu\/Sanal Makinesi:<\/strong> Bu rehberde en az iki d\u00fc\u011f\u00fcm \u00fczerinden ilerleyece\u011fiz. Her d\u00fc\u011f\u00fcm\u00fcn kendi genel IP adresi veya en az\u0131ndan bir d\u00fc\u011f\u00fcm\u00fcn genel IP adresi olmas\u0131 gerekmektedir (NAT ge\u00e7i\u015fi i\u00e7in).<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Her sunucuya SSH \u00fczerinden eri\u015fiminizin olmas\u0131 gerekmektedir.<br \/>\n*   <strong><code>sudo<\/code> Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131.<br \/>\n*   <strong>Temel A\u011f Bilgisi:<\/strong> IP adresleri, alt a\u011flar ve y\u00f6nlendirme (routing) hakk\u0131nda temel anlay\u0131\u015f.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (UFW) Bilgisi:<\/strong> Sunucular\u0131n\u0131zda UFW (Uncomplicated Firewall) veya ba\u015fka bir g\u00fcvenlik duvar\u0131 kullan\u0131l\u0131yorsa, Tinc&#8217;in kullanaca\u011f\u0131 portu a\u00e7man\u0131z gerekecektir.<\/p>\n<p>Bu rehber, iki d\u00fc\u011f\u00fcml\u00fc bir VPN a\u011f\u0131 kurmay\u0131 hedefleyecektir: &#8220;node1&#8221; ve &#8220;node2&#8221;.<\/p>\n<p>*   <strong>node1:<\/strong><br \/>\n    *   Genel IP: <code>203.0.113.1<\/code> (\u00d6rnek)<br \/>\n    *   VPN Sanal IP: <code>10.0.0.1<\/code><br \/>\n*   <strong>node2:<\/strong><br \/>\n    *   Genel IP: <code>203.0.113.2<\/code> (\u00d6rnek)<br \/>\n    *   VPN Sanal IP: <code>10.0.0.2<\/code><\/p>\n<p>VPN a\u011f\u0131m\u0131z\u0131n ad\u0131 <code>myvpn<\/code> olacak ve sanal IP aral\u0131\u011f\u0131 <code>10.0.0.0\/24<\/code> olacakt\u0131r.<\/p>\n<h3>Tinc Kurulum Ad\u0131mlar\u0131<\/h3>\n<p>Her bir d\u00fc\u011f\u00fcm \u00fczerinde a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 tekrarlaman\u0131z gerekmektedir.<\/p>\n<h4>Sistem G\u00fcncelleme<\/h4>\n<p>Kuruluma ba\u015flamadan \u00f6nce, paket listelerini g\u00fcncelleyip mevcut paketleri y\u00fckseltmek iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<h4>Tinc Kurulumu<\/h4>\n<p>Tinc paketi Ubuntu&#8217;nun resmi depolar\u0131nda mevcuttur. A\u015fa\u011f\u0131daki komut ile kolayca kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install tinc -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Tinc servisinin sistemde y\u00fckl\u00fc oldu\u011funu ancak hen\u00fcz yap\u0131land\u0131r\u0131lmad\u0131\u011f\u0131 i\u00e7in \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 g\u00f6receksiniz.<\/p>\n<h3>VPN A\u011f\u0131n\u0131n Yap\u0131land\u0131r\u0131lmas\u0131<\/h3>\n<p>Bu b\u00f6l\u00fcm, Tinc VPN a\u011f\u0131n\u0131n temel yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 i\u00e7ermektedir. Her d\u00fc\u011f\u00fcm i\u00e7in benzer ad\u0131mlar uygulanacak, ancak baz\u0131 dosyalar\u0131n i\u00e7eri\u011fi d\u00fc\u011f\u00fcme \u00f6zel olacakt\u0131r.<\/p>\n<h4>A\u011f Dizini Olu\u015fturma<\/h4>\n<p>Tinc, her VPN a\u011f\u0131 i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dizini kullan\u0131r. A\u011f\u0131m\u0131z\u0131n ad\u0131n\u0131 <code>myvpn<\/code> olarak belirledik. Bu dizini olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/etc\/tinc\/myvpn\/hosts<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/tinc\/myvpn<\/code> dizinini ve bunun alt\u0131ndaki <code>hosts<\/code> dizinini olu\u015fturacakt\u0131r. <code>myvpn<\/code> dizini, a\u011fa \u00f6zel yap\u0131land\u0131rma dosyalar\u0131n\u0131 (tinc.conf, tinc-up, tinc-down) ve anahtar \u00e7iftlerini bar\u0131nd\u0131r\u0131rken, <code>hosts<\/code> dizini a\u011fdaki di\u011fer d\u00fc\u011f\u00fcmlerin herkese a\u00e7\u0131k anahtarlar\u0131n\u0131 ve yap\u0131land\u0131rma bilgilerini saklayacakt\u0131r.<\/p>\n<h4>Anahtar \u00c7ifti Olu\u015fturma<\/h4>\n<p>Her Tinc d\u00fc\u011f\u00fcm\u00fc, g\u00fcvenli ileti\u015fim i\u00e7in bir RSA anahtar \u00e7iftine ihtiya\u00e7 duyar. Bu anahtarlar, Tinc&#8217;in \u015fifreleme ve kimlik do\u011frulama s\u00fcre\u00e7lerinde kullan\u0131l\u0131r. A\u015fa\u011f\u0131daki komut, mevcut d\u00fc\u011f\u00fcm i\u00e7in bir anahtar \u00e7ifti olu\u015fturacakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo tincd -n myvpn -K<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Tinc sizden bir dosya ad\u0131 isteyecektir. Varsay\u0131lan olarak d\u00fc\u011f\u00fcm\u00fcn hostname&#8217;ini \u00f6nerir. \u00d6rne\u011fin, <code>node1<\/code> i\u00e7in <code>node1<\/code> veya <code>node2<\/code> i\u00e7in <code>node2<\/code> yazabilirsiniz. Bu, <code>\/etc\/tinc\/myvpn\/hosts\/<\/code> dizini alt\u0131nda bir dosya olu\u015fturacak ve bu dosya hem herkese a\u00e7\u0131k anahtar\u0131 (public key) hem de \u00f6zel anahtar\u0131 (private key) i\u00e7erecektir. <strong>\u00d6zel anahtar\u0131n\u0131z\u0131 asla kimseyle payla\u015fmay\u0131n!<\/strong><\/p>\n<p>Komutun \u00e7\u0131kt\u0131s\u0131 \u015f\u00f6yle g\u00f6r\u00fcnecektir:<\/p>\n<pre><code class=\"language-\">Generating 2048 bits rsa keypair.\nPlease enter a file to save the private key in [\/etc\/tinc\/myvpn\/hosts\/node1]:<\/code><\/pre>\n<p>Burada <code>node1<\/code> (veya ilgili d\u00fc\u011f\u00fcm ad\u0131) yaz\u0131p Enter tu\u015funa bas\u0131n.<\/p>\n<p>Bu i\u015flem sonucunda, <code>\/etc\/tinc\/myvpn\/hosts\/node1<\/code> (veya <code>\/etc\/tinc\/myvpn\/hosts\/node2<\/code>) dosyas\u0131 olu\u015fturulacakt\u0131r. Bu dosyan\u0131n i\u00e7inde hem herkese a\u00e7\u0131k anahtar (public key) hem de \u00f6zel anahtar (private key) bulunacakt\u0131r.<\/p>\n<h3>D\u00fc\u011f\u00fcm Yap\u0131land\u0131rmas\u0131 Detaylar\u0131<\/h3>\n<p>\u015eimdi her d\u00fc\u011f\u00fcm i\u00e7in \u00f6zel yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015ftural\u0131m.<\/p>\n<h4>D\u00fc\u011f\u00fcm 1 (node1) Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>SSH ile <code>node1<\/code> sunucusuna ba\u011flan\u0131n.<\/p>\n<h5><code>tinc.conf<\/code> Dosyas\u0131<\/h5>\n<p>Bu dosya, Tinc daemon&#8217;unun temel davran\u0131\u015f\u0131n\u0131 tan\u0131mlar.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc.conf<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-ini\"># \/etc\/tinc\/myvpn\/tinc.conf for node1\nName = node1\nAddressFamily = ipv4\nInterface = myvpn\nPort = 655\nMode = switch\n<h2>PrivateKeyFile = \/etc\/tinc\/myvpn\/rsa_key.priv (E\u011fer -K komutuyla farkl\u0131 bir isimle kaydettiyseniz)<\/code><\/pre>\n<\/h2>\n<p>*   <strong><code>Name = node1<\/code><\/strong>: Bu d\u00fc\u011f\u00fcm\u00fcn a\u011fdaki ad\u0131d\u0131r. Di\u011fer d\u00fc\u011f\u00fcmler bu ad\u0131 kullanarak bu d\u00fc\u011f\u00fcme ba\u011flan\u0131r.<br \/>\n*   <strong><code>AddressFamily = ipv4<\/code><\/strong>: IPv4 trafi\u011fini t\u00fcnelleyece\u011fimizi belirtir. IPv6 i\u00e7in <code>ipv6<\/code> veya her ikisi i\u00e7in <code>any<\/code> kullanabilirsiniz.<br \/>\n*   <strong><code>Interface = myvpn<\/code><\/strong>: Tinc&#8217;in olu\u015fturaca\u011f\u0131 sanal a\u011f aray\u00fcz\u00fcn\u00fcn ad\u0131d\u0131r.<br \/>\n*   <strong><code>Port = 655<\/code><\/strong>: Tinc&#8217;in gelen ba\u011flant\u0131lar\u0131 dinleyece\u011fi UDP portudur. Varsay\u0131lan 655&#8217;tir, de\u011fi\u015ftirebilirsiniz ancak g\u00fcvenlik duvar\u0131nda da a\u00e7man\u0131z gerekir.<br \/>\n*   <strong><code>Mode = switch<\/code><\/strong>: Tinc&#8217;in bir ethernet anahtar\u0131 gibi davranmas\u0131n\u0131 sa\u011flar, bu da t\u00fcm d\u00fc\u011f\u00fcmlerin ayn\u0131 sanal alt a\u011fda olmas\u0131n\u0131 ve do\u011frudan birbirleriyle ileti\u015fim kurmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<h5><code>tinc-up<\/code> Beti\u011fi<\/h5>\n<p>Bu betik, Tinc aray\u00fcz\u00fc aya\u011fa kalkt\u0131\u011f\u0131nda \u00e7al\u0131\u015f\u0131r ve sanal a\u011f aray\u00fcz\u00fcne IP adresi atar ve gerekirse y\u00f6nlendirme kurallar\u0131 ekler.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc-up<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/sh\n<h2>\/etc\/tinc\/myvpn\/tinc-up for node1<\/h2>\nifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0\n<h2>Ya da ip komutunu kullanabilirsiniz:<\/h2>\n<h2>ip link set $INTERFACE up<\/h2>\n<h2>ip addr add 10.0.0.1\/24 dev $INTERFACE<\/code><\/pre>\n<\/h2>\n<p>*   <code>$INTERFACE<\/code>: Tinc taraf\u0131ndan otomatik olarak atanacak olan sanal aray\u00fcz ad\u0131d\u0131r (<code>myvpn<\/code>).<br \/>\n*   <code>10.0.0.1<\/code>: Bu d\u00fc\u011f\u00fcm\u00fcn VPN a\u011f\u0131 i\u00e7indeki sanal IP adresidir.<br \/>\n*   <code>netmask 255.255.255.0<\/code>: VPN a\u011f\u0131n\u0131n alt a\u011f maskesidir.<\/p>\n<p>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 755 \/etc\/tinc\/myvpn\/tinc-up<\/code><\/pre>\n<h5><code>tinc-down<\/code> Beti\u011fi<\/h5>\n<p>Bu betik, Tinc aray\u00fcz\u00fc kapat\u0131ld\u0131\u011f\u0131nda \u00e7al\u0131\u015f\u0131r ve atanan IP adresini kald\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc-down<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/sh\n<h2>\/etc\/tinc\/myvpn\/tinc-down<\/h2>\nifconfig $INTERFACE down\n<h2>Ya da ip komutunu kullanabilirsiniz:<\/h2>\n<h2>ip addr del 10.0.0.1\/24 dev $INTERFACE<\/h2>\n<h2>ip link set $INTERFACE down<\/code><\/pre>\n<\/h2>\n<p>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 755 \/etc\/tinc\/myvpn\/tinc-down<\/code><\/pre>\n<h5>Host Dosyas\u0131 (<code>\/etc\/tinc\/myvpn\/hosts\/node1<\/code>)<\/h5>\n<p>Bu dosya, anahtar \u00e7ifti olu\u015fturuldu\u011funda otomatik olarak olu\u015fmu\u015ftur. \u015eimdi i\u00e7ine bu d\u00fc\u011f\u00fcm\u00fcn genel IP adresini ve VPN alt a\u011f\u0131n\u0131 eklememiz gerekiyor.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/hosts\/node1<\/code><\/pre>\n<p>Dosyan\u0131n en alt\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (mevcut <code>-----BEGIN RSA PUBLIC KEY-----<\/code> ve <code>-----END RSA PUBLIC KEY-----<\/code> sat\u0131rlar\u0131na dokunmay\u0131n):<\/p>\n<pre><code class=\"language-ini\"># \/etc\/tinc\/myvpn\/hosts\/node1\nAddress = 203.0.113.1 # node1'in genel IP adresi\nSubnet = 10.0.0.1\/32 # node1'in VPN i\u00e7indeki sanal IP adresi\nPort = 655 # Tinc'in d\u0131\u015far\u0131dan ba\u011flanaca\u011f\u0131 port<\/code><\/pre>\n<p>*   <strong><code>Address = 203.0.113.1<\/code><\/strong>: Bu, <code>node1<\/code>&#8216;in d\u0131\u015f d\u00fcnyadan eri\u015filebilen genel IP adresidir. E\u011fer <code>node1<\/code> bir NAT arkas\u0131ndaysa ve port y\u00f6nlendirme yap\u0131ld\u0131ysa, buraya y\u00f6nlendirme yap\u0131lan genel IP adresini yaz\u0131n.<br \/>\n*   <strong><code>Subnet = 10.0.0.1\/32<\/code><\/strong>: Tinc&#8217;in bu d\u00fc\u011f\u00fcm \u00fczerinden <code>10.0.0.1<\/code> IP adresine ula\u015fabilece\u011fini belirtir. <code>\/32<\/code> maskesi, sadece bu IP adresinin bu d\u00fc\u011f\u00fcme ait oldu\u011funu g\u00f6sterir.<\/p>\n<h4>D\u00fc\u011f\u00fcm 2 (node2) Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>\u015eimdi SSH ile <code>node2<\/code> sunucusuna ba\u011flan\u0131n ve ayn\u0131 ad\u0131mlar\u0131 tekrarlay\u0131n, ancak d\u00fc\u011f\u00fcme \u00f6zel bilgileri (isim, IP adresleri) do\u011fru girdi\u011finizden emin olun.<\/p>\n<h5><code>tinc.conf<\/code> Dosyas\u0131<\/h5>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc.conf<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-ini\"># \/etc\/tinc\/myvpn\/tinc.conf for node2\nName = node2\nAddressFamily = ipv4\nInterface = myvpn\nPort = 655\nMode = switch\nConnectTo = node1 # Buras\u0131 \u00f6nemli! node1'e ba\u011flanmas\u0131n\u0131 s\u00f6yl\u00fcyoruz.<\/code><\/pre>\n<p>*   <strong><code>Name = node2<\/code><\/strong>: Bu d\u00fc\u011f\u00fcm\u00fcn a\u011fdaki ad\u0131d\u0131r.<br \/>\n*   <strong><code>ConnectTo = node1<\/code><\/strong>: Bu sat\u0131r, Tinc&#8217;e a\u011fdaki hangi d\u00fc\u011f\u00fcme ba\u011flanarak a\u011f\u0131 ke\u015ffetmeye ba\u015flayaca\u011f\u0131n\u0131 s\u00f6yler. En az bir d\u00fc\u011f\u00fcme ba\u011flanman\u0131z gerekir. <code>node1<\/code>&#8216;in <code>ConnectTo<\/code> sat\u0131r\u0131 i\u00e7ermemesi, onun &#8220;merkezi&#8221; bir ba\u015flang\u0131\u00e7 noktas\u0131 olaca\u011f\u0131 anlam\u0131na gelmez, sadece o da ba\u015fka bir d\u00fc\u011f\u00fcme ba\u011flanabilir. Mesh yap\u0131s\u0131nda her d\u00fc\u011f\u00fcm di\u011ferini ke\u015ffeder.<\/p>\n<h5><code>tinc-up<\/code> Beti\u011fi<\/h5>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc-up<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/sh\n<h2>\/etc\/tinc\/myvpn\/tinc-up for node2<\/h2>\nifconfig $INTERFACE 10.0.0.2 netmask 255.255.255.0\n<h2>Ya da ip komutunu kullanabilirsiniz:<\/h2>\n<h2>ip link set $INTERFACE up<\/h2>\n<h2>ip addr add 10.0.0.2\/24 dev $INTERFACE<\/code><\/pre>\n<\/h2>\n<p>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 755 \/etc\/tinc\/myvpn\/tinc-up<\/code><\/pre>\n<h5><code>tinc-down<\/code> Beti\u011fi<\/h5>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/tinc-down<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi olmal\u0131d\u0131r:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/sh\n<h2>\/etc\/tinc\/myvpn\/tinc-down<\/h2>\nifconfig $INTERFACE down\n<h2>Ya da ip komutunu kullanabilirsiniz:<\/h2>\n<h2>ip addr del 10.0.0.2\/24 dev $INTERFACE<\/h2>\n<h2>ip link set $INTERFACE down<\/code><\/pre>\n<\/h2>\n<p>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod 755 \/etc\/tinc\/myvpn\/tinc-down<\/code><\/pre>\n<h5>Host Dosyas\u0131 (<code>\/etc\/tinc\/myvpn\/hosts\/node2<\/code>)<\/h5>\n<pre><code class=\"language-bash\">sudo nano \/etc\/tinc\/myvpn\/hosts\/node2<\/code><\/pre>\n<p>Dosyan\u0131n en alt\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\"># \/etc\/tinc\/myvpn\/hosts\/node2\nAddress = 203.0.113.2 # node2'nin genel IP adresi\nSubnet = 10.0.0.2\/32 # node2'nin VPN i\u00e7indeki sanal IP adresi\nPort = 655 # Tinc'in d\u0131\u015far\u0131dan ba\u011flanaca\u011f\u0131 port<\/code><\/pre>\n<h3>Host Dosyalar\u0131n\u0131 Payla\u015fma<\/h3>\n<p>Bu ad\u0131m, Tinc mesh a\u011f\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik \u00f6neme sahiptir. Her d\u00fc\u011f\u00fcm, di\u011fer d\u00fc\u011f\u00fcmlerin herkese a\u00e7\u0131k anahtarlar\u0131n\u0131 ve genel IP adreslerini i\u00e7eren host dosyalar\u0131na sahip olmal\u0131d\u0131r.<\/p>\n<p>*   <strong>node1&#8217;den node2&#8217;nin host dosyas\u0131n\u0131 al\u0131n:<\/strong><br \/>\n    *   <code>node2<\/code> \u00fczerinde <code>\/etc\/tinc\/myvpn\/hosts\/node2<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini kopyalay\u0131n.<br \/>\n    *   <code>node1<\/code> \u00fczerinde <code>\/etc\/tinc\/myvpn\/hosts\/node2<\/code> ad\u0131nda yeni bir dosya olu\u015fturun ve kopyalad\u0131\u011f\u0131n\u0131z i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>*   <strong>node2&#8217;den node1&#8217;in host dosyas\u0131n\u0131 al\u0131n:<\/strong><br \/>\n    *   <code>node1<\/code> \u00fczerinde <code>\/etc\/tinc\/myvpn\/hosts\/node1<\/code> dosyas\u0131n\u0131n i\u00e7eri\u011fini kopyalay\u0131n.<br \/>\n    *   <code>node2<\/code> \u00fczerinde <code>\/etc\/tinc\/myvpn\/hosts\/node1<\/code> ad\u0131nda yeni bir dosya olu\u015fturun ve kopyalad\u0131\u011f\u0131n\u0131z i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>\u00d6zetle, her d\u00fc\u011f\u00fcm\u00fcn <code>\/etc\/tinc\/myvpn\/hosts\/<\/code> dizininde kendi host dosyas\u0131 (\u00f6zel anahtar\u0131 da i\u00e7eren) ve a\u011fdaki di\u011fer her d\u00fc\u011f\u00fcm\u00fcn host dosyas\u0131 (sadece herkese a\u00e7\u0131k anahtar\u0131 i\u00e7eren) bulunmal\u0131d\u0131r.<\/p>\n<p><strong>\u00d6rnek (node1 \u00fczerinde):<\/strong><\/p>\n<pre><code class=\"language-bash\"># node1 \u00fczerinde\nls -l \/etc\/tinc\/myvpn\/hosts\/<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 \u015f\u00f6yle olmal\u0131:<\/p>\n<pre><code class=\"language-\">-rw------- 1 root root 1000 Tem 20 10:00 node1  # Kendi host dosyas\u0131 (private key i\u00e7erir)\n-rw-r--r-- 1 root root  500 Tem 20 10:05 node2  # node2'den kopyalanm\u0131\u015f host dosyas\u0131 (sadece public key i\u00e7erir)<\/code><\/pre>\n<p><strong>\u00d6rnek (node2 \u00fczerinde):<\/strong><\/p>\n<pre><code class=\"language-bash\"># node2 \u00fczerinde\nls -l \/etc\/tinc\/myvpn\/hosts\/<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 \u015f\u00f6yle olmal\u0131:<\/p>\n<pre><code class=\"language-\">-rw-r--r-- 1 root root  500 Tem 20 10:05 node1  # node1'den kopyalanm\u0131\u015f host dosyas\u0131 (sadece public key i\u00e7erir)\n-rw------- 1 root root 1000 Tem 20 10:00 node2  # Kendi host dosyas\u0131 (private key i\u00e7erir)<\/code><\/pre>\n<p>Bu kopyalama i\u015flemini SCP (Secure Copy Protocol) ile yapabilirsiniz:<\/p>\n<p>\u00d6rne\u011fin, <code>node1<\/code>&#8216;den <code>node2<\/code>&#8216;nin host dosyas\u0131n\u0131 almak i\u00e7in <code>node1<\/code> \u00fczerinde:<\/p>\n<pre><code class=\"language-bash\"># node1 \u00fczerinde\nscp user@203.0.113.2:\/etc\/tinc\/myvpn\/hosts\/node2 \/etc\/tinc\/myvpn\/hosts\/node2<\/code><\/pre>\n<p>Ve <code>node2<\/code>&#8216;den <code>node1<\/code>&#8216;in host dosyas\u0131n\u0131 almak i\u00e7in <code>node2<\/code> \u00fczerinde:<\/p>\n<pre><code class=\"language-bash\"># node2 \u00fczerinde\nscp user@203.0.113.1:\/etc\/tinc\/myvpn\/hosts\/node1 \/etc\/tinc\/myvpn\/hosts\/node1<\/code><\/pre>\n<p><code>user<\/code> yerine SSH kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve IP adresleri yerine sunucular\u0131n\u0131z\u0131n ger\u00e7ek genel IP adreslerini kullanmay\u0131 unutmay\u0131n.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131 (UFW)<\/h3>\n<p>Tinc&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in, d\u00fc\u011f\u00fcmlerin Tinc portu \u00fczerinden birbirleriyle ileti\u015fim kurabilmesi gerekir. Varsay\u0131lan olarak Tinc UDP portu 655&#8217;i kullan\u0131r. Her d\u00fc\u011f\u00fcm \u00fczerinde bu portu a\u00e7man\u0131z gerekmektedir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 655\/udp\nsudo ufw enable # E\u011fer UFW etkin de\u011filse\nsudo ufw status # Kontrol etmek i\u00e7in<\/code><\/pre>\n<h4>IP Y\u00f6nlendirmeyi Etkinle\u015ftirme (Gerekirse)<\/h4>\n<p>E\u011fer Tinc VPN&#8217;i sadece d\u00fc\u011f\u00fcmler aras\u0131nda ileti\u015fim kurmak i\u00e7in de\u011fil, ayn\u0131 zamanda VPN \u00fczerinden ba\u015fka alt a\u011flara veya internete eri\u015fim sa\u011flamak i\u00e7in kullanacaksan\u0131z, IP y\u00f6nlendirmeyi etkinle\u015ftirmeniz gerekebilir. Bu, \u00f6zellikle bir d\u00fc\u011f\u00fcm\u00fcn di\u011fer alt a\u011flar i\u00e7in bir a\u011f ge\u00e7idi (gateway) olarak i\u015flev g\u00f6rmesini istedi\u011finizde \u00f6nemlidir.<\/p>\n<p><code>\/etc\/sysctl.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/sysctl.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve yorum sat\u0131r\u0131 <code>#<\/code> i\u015faretini kald\u0131rarak etkinle\u015ftirin (veya ekleyin):<\/p>\n<pre><code class=\"language-ini\">net.ipv4.ip_forward = 1<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra sysctl ayarlar\u0131n\u0131 yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo sysctl -p<\/code><\/pre>\n<p>Bu, her iki d\u00fc\u011f\u00fcmde de yap\u0131lmal\u0131d\u0131r, ancak sadece y\u00f6nlendirme yapacak d\u00fc\u011f\u00fcmde bu ayar\u0131n aktif olmas\u0131 yeterlidir.<\/p>\n<h3>Tinc Servisini Ba\u015flatma ve Y\u00f6netme<\/h3>\n<p>T\u00fcm yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 tamamlad\u0131ktan sonra, Tinc servisini ba\u015flatabilir ve a\u00e7\u0131l\u0131\u015fta otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h4>Servisi Ba\u015flatma<\/h4>\n<p>Her d\u00fc\u011f\u00fcmde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start tinc@myvpn<\/code><\/pre>\n<p><code>tinc@myvpn<\/code> ifadesindeki <code>@myvpn<\/code>, Tinc&#8217;e <code>myvpn<\/code> a\u011f yap\u0131land\u0131rmas\u0131n\u0131 kullanmas\u0131n\u0131 s\u00f6yler.<\/p>\n<h4>Servisin Durumunu Kontrol Etme<\/h4>\n<p>Servisin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status tinc@myvpn<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 <code>Active: active (running)<\/code> ve <code>Loaded: loaded<\/code> gibi ifadeler i\u00e7ermelidir. Ayr\u0131ca, Tinc&#8217;in di\u011fer d\u00fc\u011f\u00fcmlere ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 veya ba\u011fland\u0131\u011f\u0131n\u0131 g\u00f6steren log mesajlar\u0131 da g\u00f6rebilirsiniz.<\/p>\n<h4>A\u00e7\u0131l\u0131\u015fta Otomatik Ba\u015flatma<\/h4>\n<p>Sistemin yeniden ba\u015flat\u0131lmas\u0131ndan sonra Tinc&#8217;in otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable tinc@myvpn<\/code><\/pre>\n<h4>G\u00fcnl\u00fckleri Kontrol Etme<\/h4>\n<p>Herhangi bir sorun ya\u015faman\u0131z durumunda, Tinc&#8217;in g\u00fcnl\u00fcklerini kontrol etmek faydal\u0131 olacakt\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo journalctl -u tinc@myvpn -f<\/code><\/pre>\n<p>Bu komut, Tinc servisinin ger\u00e7ek zamanl\u0131 g\u00fcnl\u00fcklerini g\u00f6sterecektir (<code>-f<\/code> bayra\u011f\u0131 &#8220;follow&#8221; anlam\u0131na gelir).<\/p>\n<h3>Ba\u011flant\u0131y\u0131 Test Etme<\/h3>\n<p>Tinc servisi her iki d\u00fc\u011f\u00fcmde de \u00e7al\u0131\u015fmaya ba\u015flad\u0131ktan sonra, VPN ba\u011flant\u0131s\u0131n\u0131n ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 test edebiliriz.<\/p>\n<h4>Sanal Aray\u00fcz\u00fc Kontrol Etme<\/h4>\n<p>Her iki d\u00fc\u011f\u00fcmde de <code>myvpn<\/code> aray\u00fcz\u00fcn\u00fcn olu\u015ftu\u011funu ve do\u011fru IP adresini ald\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">ip a show myvpn<\/code><\/pre>\n<p>Veya eski <code>ifconfig<\/code> komutu ile:<\/p>\n<pre><code class=\"language-bash\">ifconfig myvpn<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>myvpn<\/code> aray\u00fcz\u00fcn\u00fcn <code>10.0.0.1<\/code> (node1 i\u00e7in) veya <code>10.0.0.2<\/code> (node2 i\u00e7in) IP adresini ald\u0131\u011f\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Ping ile Test Etme<\/h4>\n<p>\u015eimdi bir d\u00fc\u011f\u00fcmden di\u011ferinin VPN IP adresine ping atarak ba\u011flant\u0131y\u0131 test edin.<\/p>\n<p><strong>node1 \u00fczerinden node2&#8217;ye ping at\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">ping 10.0.0.2<\/code><\/pre>\n<p><strong>node2 \u00fczerinden node1&#8217;e ping at\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">ping 10.0.0.1<\/code><\/pre>\n<p>E\u011fer ping komutlar\u0131 ba\u015far\u0131l\u0131 olursa, Tinc VPN a\u011f\u0131n\u0131z ba\u015far\u0131yla kurulmu\u015f ve \u00e7al\u0131\u015f\u0131yor demektir! Art\u0131k bu iki d\u00fc\u011f\u00fcm, internet \u00fczerinden g\u00fcvenli ve \u015fifreli bir \u015fekilde ileti\u015fim kurabilir.<\/p>\n<h3>Geli\u015fmi\u015f Yap\u0131land\u0131rma ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>Temel bir Tinc VPN a\u011f\u0131 kurmu\u015f olsan\u0131z da, Tinc&#8217;in daha geli\u015fmi\u015f \u00f6zellikleri ve kullan\u0131m senaryolar\u0131 mevcuttur.<\/p>\n<h4>Daha Fazla D\u00fc\u011f\u00fcm Ekleme<\/h4>\n<p>Mesh yap\u0131n\u0131n g\u00fczelli\u011fi, a\u011fa yeni d\u00fc\u011f\u00fcmler eklemenin kolay olmas\u0131d\u0131r. Yeni bir d\u00fc\u011f\u00fcm eklemek i\u00e7in:<\/p>\n<p>1.  Yeni d\u00fc\u011f\u00fcme Tinc&#8217;i kurun.<br \/>\n2.  Yeni d\u00fc\u011f\u00fcm i\u00e7in anahtar \u00e7ifti olu\u015fturun (<code>sudo tincd -n myvpn -K<\/code>).<br \/>\n3.  Yeni d\u00fc\u011f\u00fcm\u00fcn <code>tinc.conf<\/code>, <code>tinc-up<\/code> ve <code>tinc-down<\/code> dosyalar\u0131n\u0131 uygun \u015fekilde yap\u0131land\u0131r\u0131n (kendi ad\u0131 ve VPN IP adresi ile).<br \/>\n4.  Yeni d\u00fc\u011f\u00fcm\u00fcn host dosyas\u0131n\u0131 (public key ve genel IP i\u00e7eren) t\u00fcm mevcut d\u00fc\u011f\u00fcmlere kopyalay\u0131n.<br \/>\n5.  T\u00fcm mevcut d\u00fc\u011f\u00fcmlerin host dosyalar\u0131n\u0131 (public key i\u00e7eren) yeni d\u00fc\u011f\u00fcme kopyalay\u0131n.<br \/>\n6.  Yeni d\u00fc\u011f\u00fcm\u00fcn <code>tinc.conf<\/code> dosyas\u0131na a\u011fdaki mevcut bir d\u00fc\u011f\u00fcme <code>ConnectTo<\/code> sat\u0131r\u0131 ekleyin.<br \/>\n7.  G\u00fcvenlik duvar\u0131nda 655\/udp portunu a\u00e7\u0131n.<br \/>\n8.  Tinc servisini ba\u015flat\u0131n ve etkinle\u015ftirin.<\/p>\n<p>Tinc, otomatik olarak yeni d\u00fc\u011f\u00fcmle di\u011ferleri aras\u0131ndaki ba\u011flant\u0131lar\u0131 ke\u015ffedecek ve kuracakt\u0131r.<\/p>\n<h4>Routing (Y\u00f6nlendirme) Senaryolar\u0131<\/h4>\n<p>Tinc sadece d\u00fc\u011f\u00fcmler aras\u0131nda do\u011frudan ileti\u015fim sa\u011flamakla kalmaz, ayn\u0131 zamanda farkl\u0131 alt a\u011flar\u0131 da birbirine ba\u011flayabilir. E\u011fer bir d\u00fc\u011f\u00fcm, kendi yerel a\u011f\u0131ndaki ba\u015fka bir alt a\u011f\u0131 Tinc VPN \u00fczerinden eri\u015filebilir k\u0131lmak isterse, o d\u00fc\u011f\u00fcm\u00fcn host dosyas\u0131na <code>Subnet<\/code> sat\u0131r\u0131na ilgili alt a\u011f\u0131 eklemesi gerekir.<\/p>\n<p>\u00d6rne\u011fin, <code>node1<\/code>&#8216;in <code>192.168.1.0\/24<\/code> alt a\u011f\u0131na sahip oldu\u011funu ve bu alt a\u011f\u0131n VPN \u00fczerinden eri\u015filebilir olmas\u0131n\u0131 istedi\u011fini varsayal\u0131m. <code>node1<\/code>&#8216;in <code>\/etc\/tinc\/myvpn\/hosts\/node1<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 eklersiniz:<\/p>\n<pre><code class=\"language-ini\">Subnet = 192.168.1.0\/24<\/code><\/pre>\n<p>Bu, Tinc&#8217;e <code>192.168.1.0\/24<\/code> alt a\u011f\u0131na g\u00f6nderilen trafi\u011fin <code>node1<\/code> \u00fczerinden y\u00f6nlendirilmesi gerekti\u011fini s\u00f6yler. Ayr\u0131ca, <code>node1<\/code>&#8216;in bu alt a\u011fa y\u00f6nlendirme yapabilmesi i\u00e7in IP y\u00f6nlendirme (<code>net.ipv4.ip_forward = 1<\/code>) ayar\u0131n\u0131n etkin olmas\u0131 ve gerekirse NAT kurallar\u0131 tan\u0131mlanmas\u0131 gerekebilir.<\/p>\n<h4>Persistent Keepalive<\/h4>\n<p>Baz\u0131 a\u011f ortamlar\u0131nda (\u00f6zellikle NAT arkas\u0131nda), ba\u011flant\u0131lar belirli bir s\u00fcre etkinlik olmad\u0131\u011f\u0131nda kapanabilir. Tinc&#8217;in <code>tinc.conf<\/code> dosyas\u0131nda <code>PingInterval<\/code> ayar\u0131n\u0131 kullanarak d\u00fczenli aral\u0131klarla &#8220;keepalive&#8221; paketleri g\u00f6ndermesini sa\u011flayabilirsiniz.<\/p>\n<pre><code class=\"language-ini\"># \/etc\/tinc\/myvpn\/tinc.conf\nPingInterval = 10 # Her 10 saniyede bir ping g\u00f6nderir<\/code><\/pre>\n<p>Bu, ba\u011flant\u0131n\u0131n canl\u0131 kalmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Tinc kurulumu s\u0131ras\u0131nda veya sonras\u0131nda baz\u0131 sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>D\u00fc\u011f\u00fcmler Birbirine Ping Atam\u0131yor:<\/strong><br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> En yayg\u0131n sorun budur. Her iki d\u00fc\u011f\u00fcmde de Tinc&#8217;in kulland\u0131\u011f\u0131 UDP portunun (varsay\u0131lan 655) g\u00fcvenlik duvar\u0131nda a\u00e7\u0131k oldu\u011fundan emin olun (<code>sudo ufw status<\/code>).<br \/>\n    *   <strong>Genel IP Adresleri:<\/strong> Host dosyalar\u0131ndaki <code>Address<\/code> sat\u0131rlar\u0131n\u0131n do\u011fru genel IP adreslerini i\u00e7erdi\u011finden emin olun.<br \/>\n    *   <strong>NAT Sorunlar\u0131:<\/strong> E\u011fer d\u00fc\u011f\u00fcmlerden biri veya ikisi de NAT arkas\u0131ndaysa, genel IP adresleri ve port y\u00f6nlendirmelerinin do\u011fru yap\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong>Host Dosyalar\u0131:<\/strong> Her d\u00fc\u011f\u00fcm\u00fcn <code>\/etc\/tinc\/myvpn\/hosts\/<\/code> dizininde kendi host dosyas\u0131 ve di\u011fer t\u00fcm d\u00fc\u011f\u00fcmlerin host dosyalar\u0131 oldu\u011fundan emin olun. Host dosyalar\u0131n\u0131n i\u00e7eri\u011fini (\u00f6zellikle public key k\u0131s\u0131mlar\u0131n\u0131) kontrol edin.<br \/>\n    *   <strong>Sanal IP Adresleri:<\/strong> <code>tinc-up<\/code> betiklerinde atanan sanal IP adreslerinin benzersiz oldu\u011fundan ve do\u011fru alt a\u011fda oldu\u011fundan emin olun.<br \/>\n    *   <strong>Tinc Servis Durumu:<\/strong> Her iki d\u00fc\u011f\u00fcmde de Tinc servisinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo systemctl status tinc@myvpn<\/code>).<br \/>\n    *   <strong>G\u00fcnl\u00fckleri Kontrol Edin:<\/strong> <code>sudo journalctl -u tinc@myvpn -f<\/code> komutuyla Tinc g\u00fcnl\u00fcklerini kontrol edin. Ba\u011flant\u0131 sorunlar\u0131yla ilgili ipu\u00e7lar\u0131 bulabilirsiniz.<\/p>\n<p>*   <strong><code>myvpn<\/code> Aray\u00fcz\u00fc Olu\u015fmuyor:<\/strong><br \/>\n    *   <code>tinc-up<\/code> beti\u011finin \u00e7al\u0131\u015ft\u0131r\u0131labilir oldu\u011fundan emin olun (<code>sudo chmod 755 \/etc\/tinc\/myvpn\/tinc-up<\/code>).<br \/>\n    *   <code>tinc.conf<\/code> dosyas\u0131ndaki <code>Interface<\/code> ad\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   Tinc servisini yeniden ba\u015flatmay\u0131 deneyin (<code>sudo systemctl restart tinc@myvpn<\/code>).<\/p>\n<p>*   <strong>Y\u00f6nlendirme \u00c7al\u0131\u015fm\u0131yor (Alt A\u011flara Eri\u015fim):<\/strong><br \/>\n    *   <code>net.ipv4.ip_forward = 1<\/code> ayar\u0131n\u0131n <code>\/etc\/sysctl.conf<\/code> i\u00e7inde etkin oldu\u011fundan ve <code>sudo sysctl -p<\/code> ile uyguland\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   Host dosyalar\u0131ndaki <code>Subnet<\/code> sat\u0131rlar\u0131n\u0131n do\u011fru alt a\u011flar\u0131 i\u00e7erdi\u011finden emin olun.<br \/>\n    *   Gerekirse, Tinc aray\u00fcz\u00fc \u00fczerinden gelen trafi\u011fi yerel a\u011fa y\u00f6nlendirmek i\u00e7in <code>iptables<\/code> kurallar\u0131 (NAT\/MASQUERADE) tan\u0131mlaman\u0131z gerekebilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu 18.04 \u00fczerinde Tinc VPN&#8217;i kurma ve temel bir mesh a\u011f\u0131 yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceledik. Tinc, da\u011f\u0131t\u0131k sistemler i\u00e7in esnek, g\u00fcvenli ve merkeziyetsiz bir VPN \u00e7\u00f6z\u00fcm\u00fc sunar. \u0130ki d\u00fc\u011f\u00fcml\u00fc basit bir yap\u0131land\u0131rma ile ba\u015flayarak, Tinc&#8217;in nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve temel ayarlar\u0131n\u0131n neler oldu\u011funu anlad\u0131k.<\/p>\n<p>Tinc&#8217;in mesh mimarisi, geleneksel istemci-sunucu VPN&#8217;lerine g\u00f6re daha fazla dayan\u0131kl\u0131l\u0131k ve esneklik sa\u011flar. Bir d\u00fc\u011f\u00fcm\u00fcn \u00e7\u00f6kmesi durumunda bile, di\u011fer d\u00fc\u011f\u00fcmlerin birbirleriyle ileti\u015fim kurmaya devam edebilmesi, \u00f6zellikle kritik altyap\u0131lar i\u00e7in \u00f6nemli bir avantajd\u0131r. Ayr\u0131ca, Tinc&#8217;in g\u00fc\u00e7l\u00fc \u015fifreleme yetenekleri sayesinde, t\u00fcnellenen t\u00fcm veriler g\u00fcvenli bir \u015fekilde aktar\u0131l\u0131r.<\/p>\n<p>Bu temel kurulumu tamamlad\u0131ktan sonra, Tinc&#8217;i daha karma\u015f\u0131k senaryolara (\u00f6rne\u011fin, farkl\u0131 alt a\u011flar\u0131 birbirine ba\u011flama, daha fazla d\u00fc\u011f\u00fcm ekleme, NAT ge\u00e7i\u015fi optimizasyonlar\u0131) uyarlayabilirsiniz. Tinc&#8217;in sa\u011flad\u0131\u011f\u0131 bu yetenekler, modern a\u011f altyap\u0131lar\u0131nda g\u00fcvenli ve esnek ba\u011flant\u0131 ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Unutmay\u0131n, herhangi bir a\u011f yap\u0131land\u0131rmas\u0131nda oldu\u011fu gibi, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131z\u0131 ve a\u011f topolojinizi dikkatlice planlamak, sorunsuz ve g\u00fcvenli bir \u00e7al\u0131\u015fma ortam\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131\nTinc, \u00e7ok y\u00f6nl\u00fc ve esnek bir a\u011f sanalla\u015ft\u0131rma yaz\u0131l\u0131m\u0131d\u0131r. Geleneks","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":[1468],"tags":[],"class_list":{"0":"post-30659","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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>Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131\" \/>\n<meta property=\"og:description\" content=\"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 Tinc, \u00e7ok y\u00f6nl\u00fc ve esnek bir a\u011f sanalla\u015ft\u0131rma yaz\u0131l\u0131m\u0131d\u0131r. Geleneks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-30T07:40:56+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131\",\"datePublished\":\"2025-09-30T07:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\"},\"wordCount\":3223,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\",\"name\":\"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-30T07:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131\"}]},{\"@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":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131","og_description":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 Tinc, \u00e7ok y\u00f6nl\u00fc ve esnek bir a\u011f sanalla\u015ft\u0131rma yaz\u0131l\u0131m\u0131d\u0131r. Geleneks","og_url":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-30T07:40:56+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131","datePublished":"2025-09-30T07:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/"},"wordCount":3223,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/","url":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/","name":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-30T07:40:56+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/tinc-kurulumu-ve-ubuntu-18-04-uzerinde-temel-bir-vpn-yapilandirmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tinc Kurulumu ve Ubuntu 18.04 \u00dczerinde Temel Bir VPN Yap\u0131land\u0131rmas\u0131"}]},{"@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\/30659","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=30659"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30659\/revisions"}],"predecessor-version":[{"id":30660,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30659\/revisions\/30660"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}