{"id":34995,"date":"2025-11-24T15:41:05","date_gmt":"2025-11-24T12:41:05","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34995"},"modified":"2025-11-24T15:41:05","modified_gmt":"2025-11-24T12:41:05","slug":"ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/","title":{"rendered":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda internet g\u00fcvenli\u011fi ve gizlili\u011fi her zamankinden daha kritik bir \u00f6neme sahiptir. Verilerimizin korunmas\u0131, \u00e7evrimi\u00e7i etkinliklerimizin gizli kalmas\u0131 ve co\u011frafi k\u0131s\u0131tlamalar\u0131 a\u015farak i\u00e7eri\u011fe eri\u015fim gibi ihtiya\u00e7lar, Sanal \u00d6zel A\u011f (VPN) teknolojilerini vazge\u00e7ilmez k\u0131lmaktad\u0131r. OpenVPN, a\u00e7\u0131k kaynak kodlu ve olduk\u00e7a g\u00fcvenli bir VPN \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Geni\u015f bir platform deste\u011fi sunmas\u0131, esnek yap\u0131land\u0131rma se\u00e7enekleri ve g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131 sayesinde hem bireysel kullan\u0131c\u0131lar hem de i\u015fletmeler i\u00e7in pop\u00fcler bir tercihtir.<\/p>\n<p>Bu kapsaml\u0131 teknik makale, Ubuntu 16.04 i\u015fletim sistemi y\u00fckl\u00fc bir sunucu \u00fczerinde ad\u0131m ad\u0131m OpenVPN sunucusunun nas\u0131l kurulaca\u011f\u0131n\u0131, yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ve g\u00fcvenli bir \u015fekilde nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Ubuntu 16.04, uzun s\u00fcreli destek (LTS) s\u00fcr\u00fcm\u00fc olmas\u0131na ra\u011fmen, bu makalenin yaz\u0131ld\u0131\u011f\u0131 tarihte resmi deste\u011fi sona ermi\u015ftir. Bu durum, g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131 anlam\u0131na gelir ve \u00fcretim ortamlar\u0131nda kullan\u0131lmas\u0131 \u00f6nerilmez. Ancak, bu rehber, OpenVPN&#8217;in temel kurulum prensiplerini ve eski sistemler \u00fczerindeki yap\u0131land\u0131rma ad\u0131mlar\u0131n\u0131 anlamak isteyenler i\u00e7in de\u011ferli bir kaynak olacakt\u0131r. Modern sistemlerde (Ubuntu 20.04 veya 22.04 gibi) kurulum ad\u0131mlar\u0131 benzer olsa da, baz\u0131 paket ve komut farkl\u0131l\u0131klar\u0131 olabilir. Bu makale, \u00f6zellikle Ubuntu 16.04 odakl\u0131d\u0131r.<\/p>\n<p>OpenVPN sunucusu kurarak, kendi g\u00fcvenli t\u00fcnelinizi olu\u015fturabilir, internet trafi\u011finizi \u015fifreleyebilir, herkese a\u00e7\u0131k Wi-Fi a\u011flar\u0131nda g\u00fcvende kalabilir ve a\u011f\u0131n\u0131za uzaktan g\u00fcvenli bir \u015fekilde eri\u015febilirsiniz. Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri seviyeye kadar t\u00fcm ad\u0131mlar\u0131 kapsayacak ve OpenVPN&#8217;in sundu\u011fu potansiyeli tam olarak kullanman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>OpenVPN sunucusu kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z \u00f6nemlidir:<\/p>\n<p>*   <strong>Ubuntu 16.04 Sunucusu:<\/strong> Temiz bir Ubuntu 16.04 kurulumu \u00f6nerilir. Bu, potansiyel \u00e7ak\u0131\u015fmalar\u0131 ve sorunlar\u0131 en aza indirecektir.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r.<br \/>\n*   <strong>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Temel Linux komutlar\u0131 (dizin de\u011fi\u015ftirme, dosya d\u00fczenleme, paket y\u00fckleme vb.) hakk\u0131nda bilgi sahibi olmak faydal\u0131d\u0131r.<br \/>\n*   <strong>Sabit (Statik) IP Adresi:<\/strong> OpenVPN sunucunuzun sabit bir genel IP adresine sahip olmas\u0131 gereklidir. Dinamik IP adresleri de kullan\u0131labilir ancak DNS hizmetleri (\u00f6rne\u011fin, DynDNS) ile entegrasyon gerektirir.<br \/>\n*   <strong>G\u00fcvenlik Duvar\u0131 (Firewall) Bilgisi:<\/strong> UFW (Uncomplicated Firewall) veya iptables gibi bir g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131 hakk\u0131nda temel bilgiye sahip olmak, OpenVPN trafi\u011fine izin vermek i\u00e7in gereklidir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza SSH \u00fczerinden eri\u015febilmeniz gerekmektedir.<\/p>\n<h3>Ad\u0131m 1: Sistemi G\u00fcncelleme<\/h3>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sisteminizin g\u00fcncel oldu\u011fundan emin olmak en iyi uygulamad\u0131r. Bu, potansiyel ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler ve en son g\u00fcvenlik yamalar\u0131n\u0131 uygulaman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Sunucunuza SSH ile ba\u011flan\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p><code>sudo apt update<\/code> komutu, paket listelerini g\u00fcncellerken, <code>sudo apt upgrade -y<\/code> komutu ise mevcut paketleri onay gerektirmeden y\u00fckseltir.<\/p>\n<h3>Ad\u0131m 2: OpenVPN ve Easy-RSA Kurulumu<\/h3>\n<p>OpenVPN sunucusunu kurmak i\u00e7in gerekli olan ana paket <code>openvpn<\/code> paketidir. Ayr\u0131ca, OpenVPN&#8217;in g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan sertifika yetkilisi (CA), sunucu sertifikas\u0131, istemci sertifikalar\u0131 ve anahtarlar\u0131 olu\u015fturmak i\u00e7in Easy-RSA ad\u0131 verilen bir komut dosyas\u0131 koleksiyonuna ihtiyac\u0131m\u0131z var. Ubuntu 16.04&#8217;te Easy-RSA genellikle OpenVPN paketiyle birlikte gelir veya ayr\u0131 olarak y\u00fcklenebilir.<\/p>\n<p>A\u015fa\u011f\u0131daki komutla OpenVPN ve Easy-RSA&#8217;y\u0131 y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openvpn easy-rsa -y<\/code><\/pre>\n<p>Bu komut, OpenVPN sunucusunu ve sertifika y\u00f6netimi i\u00e7in Easy-RSA ara\u00e7lar\u0131n\u0131 sisteminize kuracakt\u0131r.<\/p>\n<h3>Ad\u0131m 3: PKI (Public Key Infrastructure) Altyap\u0131s\u0131n\u0131 Olu\u015fturma<\/h3>\n<p>OpenVPN, g\u00fcvenli ileti\u015fimi sa\u011flamak i\u00e7in bir PKI kullan\u0131r. Bu altyap\u0131, sertifika yetkilisi (CA), sunucu sertifikalar\u0131 ve anahtarlar\u0131 ile istemci sertifikalar\u0131n\u0131 i\u00e7erir. Easy-RSA, bu sertifikalar\u0131 ve anahtarlar\u0131 kolayca olu\u015fturmak i\u00e7in kullan\u0131lan bir ara\u00e7 setidir. Ubuntu 16.04&#8217;te Easy-RSA&#8217;n\u0131n 2.x s\u00fcr\u00fcm\u00fc yayg\u0131nd\u0131r.<\/p>\n<p>\u00d6ncelikle, Easy-RSA dosyalar\u0131n\u0131 g\u00fcvenli bir yere kopyalayarak kendi PKI y\u00f6netim dizinimizi olu\u015fturaca\u011f\u0131z. Ev dizininizde <code>openvpn-ca<\/code> ad\u0131nda bir dizin olu\u015ftural\u0131m ve Easy-RSA dosyalar\u0131n\u0131 buraya kopyalayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">mkdir ~\/openvpn-ca\ncp -r \/usr\/share\/easy-rsa\/* ~\/openvpn-ca\/\ncd ~\/openvpn-ca<\/code><\/pre>\n<p>\u015eimdi, Easy-RSA&#8217;n\u0131n yap\u0131land\u0131rma dosyas\u0131 olan <code>vars<\/code> dosyas\u0131n\u0131 d\u00fczenleyece\u011fiz. Bu dosya, sertifikalar\u0131n\u0131z i\u00e7in varsay\u0131lan de\u011ferleri i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">nano vars<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve kendi bilgilerinize g\u00f6re d\u00fczenleyin. \u00d6zellikle <code>KEY_COUNTRY<\/code>, <code>KEY_PROVINCE<\/code>, <code>KEY_CITY<\/code>, <code>KEY_ORG<\/code>, <code>KEY_EMAIL<\/code> ve <code>KEY_OU<\/code> de\u011ferlerini doldurun. <code>KEY_NAME<\/code> genellikle sertifika yetkilisinin ad\u0131d\u0131r ve benzersiz olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-ini\">export KEY_COUNTRY=\"TR\"\nexport KEY_PROVINCE=\"Ankara\"\nexport KEY_CITY=\"Ankara\"\nexport KEY_ORG=\"OpenVPNOrg\"\nexport KEY_EMAIL=\"admin@example.com\"\nexport KEY_OU=\"IT\"\nexport KEY_NAME=\"server\" # Bu de\u011fer CA'n\u0131n CN'si i\u00e7in kullan\u0131l\u0131r, ancak genellikle build-ca komutu CN'yi do\u011frudan set eder.<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra (Ctrl+O, Enter, Ctrl+X), <code>vars<\/code> dosyas\u0131n\u0131 kaynak olarak kullanarak ortam de\u011fi\u015fkenlerini y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">source vars<\/code><\/pre>\n<p>Ard\u0131ndan, PKI dizinini temizleyerek \u00f6nceki anahtarlar\u0131 ve sertifikalar\u0131 silin. Bu, her zaman yeni bir ba\u015flang\u0131\u00e7 yapman\u0131z\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">.\/clean-all<\/code><\/pre>\n<p>\u015eimdi, Sertifika Yetkilisi (CA) anahtar\u0131n\u0131 ve sertifikas\u0131n\u0131 olu\u015fturun. Bu, t\u00fcm OpenVPN ba\u011flant\u0131lar\u0131 i\u00e7in g\u00fcven k\u00f6k\u00fc olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">.\/build-ca<\/code><\/pre>\n<p>Bu komut sizden CA&#8217;n\u0131n Ortak Ad\u0131 (Common Name) i\u00e7in onay isteyecektir. Varsay\u0131lan de\u011feri (genellikle <code>server<\/code>) kabul etmek i\u00e7in Enter tu\u015funa bas\u0131n. Bir parola isteyebilir, bu parolay\u0131 g\u00fcvenli bir yerde saklay\u0131n.<\/p>\n<h3>Ad\u0131m 4: Sunucu Sertifikas\u0131 ve Anahtar\u0131 Olu\u015fturma<\/h3>\n<p>CA sertifikas\u0131n\u0131 olu\u015fturduktan sonra, OpenVPN sunucunuz i\u00e7in bir sertifika ve \u00f6zel anahtar olu\u015fturman\u0131z gerekir. Bu sertifika, istemcilerin sunucunun kimli\u011fini do\u011frulamas\u0131na olanak tan\u0131r.<\/p>\n<pre><code class=\"language-bash\">.\/build-key-server server<\/code><\/pre>\n<p>Bu komut sizden baz\u0131 bilgiler isteyecektir. <code>Common Name<\/code> i\u00e7in varsay\u0131lan <code>server<\/code> de\u011ferini kabul edin ve di\u011fer sorular\u0131 (\u00fclke, \u015fehir vb.) Enter tu\u015funa basarak ge\u00e7ebilirsiniz, \u00e7\u00fcnk\u00fc bunlar <code>vars<\/code> dosyas\u0131nda zaten tan\u0131mlanm\u0131\u015ft\u0131r. Bir &#8220;challenge password&#8221; ve &#8220;optional company name&#8221; isteyecektir; bunlar\u0131 bo\u015f b\u0131rakmak i\u00e7in Enter tu\u015funa basabilirsiniz. Son olarak, sertifikay\u0131 imzalamak ve onaylamak i\u00e7in <code>y<\/code> tu\u015funa bas\u0131n.<\/p>\n<p>\u015eimdi olu\u015fturulan sertifika ve anahtar dosyalar\u0131n\u0131 OpenVPN yap\u0131land\u0131rma dizinine kopyalay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo cp keys\/ca.crt \/etc\/openvpn\/\nsudo cp keys\/server.crt \/etc\/openvpn\/\nsudo cp keys\/server.key \/etc\/openvpn\/<\/code><\/pre>\n<h3>Ad\u0131m 5: Diffie-Hellman Parametrelerini Olu\u015fturma<\/h3>\n<p>Diffie-Hellman (DH) parametreleri, OpenVPN&#8217;in istemcilerle g\u00fcvenli anahtar de\u011fi\u015fimi yapmas\u0131n\u0131 sa\u011flar. Bu i\u015flem biraz zaman alabilir (birka\u00e7 dakikadan on be\u015f dakikaya kadar, sunucunuzun i\u015flem g\u00fcc\u00fcne ba\u011fl\u0131 olarak).<\/p>\n<pre><code class=\"language-bash\">.\/build-dh<\/code><\/pre>\n<p>Bu komut <code>keys\/dh2048.pem<\/code> dosyas\u0131n\u0131 olu\u015fturacakt\u0131r. Bu dosyay\u0131 OpenVPN yap\u0131land\u0131rma dizinine kopyalay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo cp keys\/dh2048.pem \/etc\/openvpn\/<\/code><\/pre>\n<h3>Ad\u0131m 6: HMAC Taraf\u0131ndan \u0130mzalanm\u0131\u015f Anahtar Olu\u015fturma (tls-auth)<\/h3>\n<p><code>tls-auth<\/code> anahtar\u0131, OpenVPN ba\u011flant\u0131s\u0131na ek bir g\u00fcvenlik katman\u0131 ekler. Bu anahtar, TLS el s\u0131k\u0131\u015fmas\u0131ndan \u00f6nce OpenVPN kontrol paketlerini do\u011frulamak i\u00e7in kullan\u0131l\u0131r ve DoS sald\u0131r\u0131lar\u0131n\u0131 ve UDP port taramalar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">openvpn --genkey --secret \/etc\/openvpn\/ta.key<\/code><\/pre>\n<p>Bu komut, <code>ta.key<\/code> dosyas\u0131n\u0131 do\u011frudan <code>\/etc\/openvpn\/<\/code> dizinine olu\u015fturacakt\u0131r.<\/p>\n<h3>Ad\u0131m 7: OpenVPN Sunucu Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma<\/h3>\n<p>T\u00fcm sertifikalar ve anahtarlar haz\u0131r oldu\u011funda, OpenVPN sunucusunu yap\u0131land\u0131rmam\u0131z gerekir. \u00d6rnek bir yap\u0131land\u0131rma dosyas\u0131 <code>\/usr\/share\/doc\/openvpn\/examples\/sample-config-files\/server.conf.gz<\/code> konumunda bulunur. Bu dosyay\u0131 kopyalay\u0131p d\u00fczenleyerek kendi yap\u0131land\u0131rmam\u0131z\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<p>\u00d6nce \u00f6rnek dosyay\u0131 a\u00e7al\u0131m ve kopyalayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">gunzip -c \/usr\/share\/doc\/openvpn\/examples\/sample-config-files\/server.conf.gz > ~\/openvpn-ca\/server.conf\nsudo mv ~\/openvpn-ca\/server.conf \/etc\/openvpn\/<\/code><\/pre>\n<p>\u015eimdi <code>\/etc\/openvpn\/server.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/openvpn\/server.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun ve a\u00e7\u0131klamalara g\u00f6re d\u00fczenleyin veya ekleyin. Yorum sat\u0131rlar\u0131n\u0131 (<code>#<\/code> ile ba\u015flayanlar) kald\u0131r\u0131n ve gerekli de\u011fi\u015fiklikleri yap\u0131n:<\/p>\n<pre><code class=\"language-ini\">port 1194\nproto udp\ndev tun\n\nca ca.crt\ncert server.crt\nkey server.key\ndh dh2048.pem # Daha \u00f6nce olu\u015fturdu\u011fumuz dh2048.pem dosyas\u0131n\u0131 kullan\u0131yoruz.\n\nserver 10.8.0.0 255.255.255.0 # VPN istemcilerine atanacak IP aral\u0131\u011f\u0131\nifconfig-pool-persist ipp.txt # \u0130stemci IP atamalar\u0131n\u0131 kaydeder\n\npush \"redirect-gateway def1 bypass-dhcp\" # T\u00fcm trafi\u011fi VPN \u00fczerinden y\u00f6nlendir\npush \"dhcp-option DNS 8.8.8.8\" # \u0130stemcilere Google DNS'i atar\npush \"dhcp-option DNS 8.8.4.4\" # \u0130kinci bir Google DNS\n\nclient-to-client # \u0130stemcilerin birbirleriyle ileti\u015fim kurmas\u0131na izin verir (iste\u011fe ba\u011fl\u0131)\n\nkeepalive 10 120 # Ba\u011flant\u0131n\u0131n canl\u0131 kalmas\u0131n\u0131 sa\u011flar\n\ntls-auth ta.key 0 # Bu sat\u0131r\u0131 ekleyin, 0 sunucu taraf\u0131n\u0131 belirtir\ncipher AES-256-CBC # \u015eifreleme algoritmas\u0131 (Ubuntu 16.04 i\u00e7in yayg\u0131n)\nauth SHA256 # Kimlik do\u011frulama algoritmas\u0131\n\nuser nobody\ngroup nogroup # Ubuntu 16.04 i\u00e7in genellikle nogroup kullan\u0131l\u0131r\n\npersist-key\npersist-tun\n\nstatus openvpn-status.log # Ba\u011flant\u0131 durumunu kaydeder\nverb 3 # Loglama seviyesi\nexplicit-exit-notify 1 # \u0130stemcinin ba\u011flant\u0131y\u0131 d\u00fczg\u00fcn bir \u015fekilde kapatmas\u0131na yard\u0131mc\u0131 olur<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n (Ctrl+O, Enter, Ctrl+X).<\/p>\n<h3>Ad\u0131m 8: IP Y\u00f6nlendirmeyi Etkinle\u015ftirme<\/h3>\n<p>OpenVPN sunucunuzun internete ba\u011fl\u0131 istemcilerden gelen trafi\u011fi y\u00f6nlendirebilmesi i\u00e7in IP y\u00f6nlendirmeyi etkinle\u015ftirmeniz gerekir.<\/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>Dosyada a\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve ba\u015f\u0131ndaki <code>#<\/code> i\u015faretini kald\u0131rarak yorumdan \u00e7\u0131kar\u0131n:<\/p>\n<pre><code class=\"language-ini\">net.ipv4.ip_forward=1<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve kapat\u0131n. Ard\u0131ndan, yeni ayar\u0131 hemen uygulamak i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo sysctl -p<\/code><\/pre>\n<h3>Ad\u0131m 9: G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW)<\/h3>\n<p>G\u00fcvenlik duvar\u0131 (UFW), sunucunuzu yetkisiz eri\u015fimden korumak i\u00e7in kritik \u00f6neme sahiptir. OpenVPN trafi\u011fine izin vermek ve a\u011f adresi \u00e7evirisi (NAT) kurallar\u0131n\u0131 ayarlamak i\u00e7in UFW&#8217;yi yap\u0131land\u0131rmam\u0131z gerekiyor.<\/p>\n<p>\u00d6ncelikle UFW&#8217;nin kurulu oldu\u011fundan emin olun, de\u011filse kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y<\/code><\/pre>\n<p>SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in SSH portuna (varsay\u0131lan 22) izin verin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow ssh<\/code><\/pre>\n<p>OpenVPN portuna (varsay\u0131lan 1194 UDP) izin verin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 1194\/udp<\/code><\/pre>\n<p>\u015eimdi, UFW&#8217;nin varsay\u0131lan iletme politikas\u0131n\u0131 <code>ACCEPT<\/code> olarak ayarlamam\u0131z gerekiyor. Bu, VPN t\u00fcneli \u00fczerinden gelen trafi\u011fin internete y\u00f6nlendirilmesine izin verir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/default\/ufw<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve de\u011ferini <code>ACCEPT<\/code> olarak de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-ini\">DEFAULT_FORWARD_POLICY=\"ACCEPT\"<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve kapat\u0131n.<\/p>\n<p>Son olarak, NAT kurallar\u0131n\u0131 <code>\/etc\/ufw\/before.rules<\/code> dosyas\u0131na eklememiz gerekiyor. Bu kurallar, VPN istemcilerinden gelen trafi\u011fi sunucunuzun genel IP adresi \u00fczerinden internete y\u00f6nlendirecektir.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/ufw\/before.rules<\/code><\/pre>\n<p>Dosyan\u0131n en ba\u015f\u0131na, ilk sat\u0131rdan hemen sonra a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\"># START OPENVPN RULES\n<h2>Allow TUN interface connections to OpenVPN server<\/h2>\n-A ufw-before-input -i tun+ -j ACCEPT\n-A ufw-before-output -o tun+ -j ACCEPT\n<h2>Allow TAP interface connections to OpenVPN server<\/h2>\n-A ufw-before-input -i tap+ -j ACCEPT\n-A ufw-before-output -o tap+ -j ACCEPT\n<h2>Allow OpenVPN to access the internet<\/h2>\n-A ufw-before-forward -i tun+ -j ACCEPT\n-A ufw-before-forward -o tun+ -j ACCEPT\n<h2>Allow access to OpenVPN server<\/h2>\n-A ufw-before-input -p udp --dport 1194 -j ACCEPT\n\n*nat\n:POSTROUTING ACCEPT [0:0]\n-A POSTROUTING -s 10.8.0.0\/24 -o eth0 -j MASQUERADE\nCOMMIT\n<h2>END OPENVPN RULES<\/code><\/pre>\n<\/h2>\n<p><strong>\u00d6nemli:<\/strong> <code>-A POSTROUTING -s 10.8.0.0\/24 -o eth0 -j MASQUERADE<\/code> sat\u0131r\u0131ndaki <code>eth0<\/code> de\u011ferini sunucunuzun genel a\u011f aray\u00fcz\u00fc ile de\u011fi\u015ftirmeniz gerekebilir. Bu genellikle <code>eth0<\/code>, <code>ens3<\/code>, <code>enp0s3<\/code> veya <code>venet0<\/code> gibi bir isimdir. Do\u011fru aray\u00fcz ad\u0131n\u0131 bulmak i\u00e7in <code>ip a<\/code> komutunu kullanabilirsiniz. Genellikle <code>inet<\/code> ile ba\u015flayan ve genel IP adresinizi g\u00f6steren aray\u00fczd\u00fcr.<\/p>\n<p>De\u011fi\u015fiklikleri kaydedin ve kapat\u0131n. \u015eimdi UFW&#8217;yi etkinle\u015ftirin ve de\u011fi\u015fiklikleri uygulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw disable\nsudo ufw enable<\/code><\/pre>\n<p>Onay i\u00e7in <code>y<\/code> tu\u015funa bas\u0131n. G\u00fcvenlik duvar\u0131 durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>OpenVPN portunun ve SSH portunun izin verildi\u011fini g\u00f6rmelisiniz.<\/p>\n<h3>Ad\u0131m 10: OpenVPN Sunucusunu Ba\u015flatma ve Etkinle\u015ftirme<\/h3>\n<p>T\u00fcm yap\u0131land\u0131rma ad\u0131mlar\u0131 tamamland\u0131ktan sonra, OpenVPN sunucusunu ba\u015flatabilir ve sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirebiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start openvpn@server\nsudo systemctl enable openvpn@server<\/code><\/pre>\n<p>Sunucunun durumunu kontrol ederek d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status openvpn@server<\/code><\/pre>\n<p>Durum <code>active (running)<\/code> olarak g\u00f6r\u00fcn\u00fcyorsa, OpenVPN sunucunuz ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131yor demektir. Herhangi bir hata durumunda, loglar\u0131 kontrol etmek i\u00e7in <code>sudo journalctl -u openvpn@server<\/code> veya <code>sudo tail -f \/var\/log\/syslog<\/code> komutlar\u0131n\u0131 kullanabilirsiniz.<\/p>\n<h3>\u0130stemci Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>OpenVPN sunucusu kurulduktan sonra, istemcilerin bu sunucuya ba\u011flanabilmesi i\u00e7in sertifikalar ve yap\u0131land\u0131rma dosyalar\u0131 olu\u015fturmam\u0131z gerekir. Her istemci i\u00e7in ayr\u0131 bir sertifika olu\u015fturmak en iyi g\u00fcvenlik uygulamas\u0131d\u0131r.<\/p>\n<h4>Ad\u0131m 1: \u0130stemci Sertifikas\u0131 ve Anahtar\u0131 Olu\u015fturma<\/h4>\n<p>\u00d6ncelikle Easy-RSA dizinine geri d\u00f6n\u00fcn:<\/p>\n<pre><code class=\"language-bash\">cd ~\/openvpn-ca\nsource vars<\/code><\/pre>\n<p>\u015eimdi, <code>client1<\/code> ad\u0131nda bir istemci i\u00e7in sertifika ve anahtar olu\u015fturun. Her yeni istemci i\u00e7in farkl\u0131 bir isim kullanmal\u0131s\u0131n\u0131z (\u00f6rn. <code>client2<\/code>, <code>laptop<\/code>, <code>phone<\/code>).<\/p>\n<pre><code class=\"language-bash\">.\/build-key client1<\/code><\/pre>\n<p>Yine, Common Name i\u00e7in varsay\u0131lan <code>client1<\/code> de\u011ferini kabul edin ve di\u011fer sorular\u0131 Enter tu\u015funa basarak ge\u00e7in. Sertifikay\u0131 imzalamak ve onaylamak i\u00e7in <code>y<\/code> tu\u015funa bas\u0131n.<\/p>\n<h4>Ad\u0131m 2: \u0130stemci Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>\u0130stemciye da\u011f\u0131t\u0131lacak tek bir <code>.ovpn<\/code> dosyas\u0131 olu\u015fturmak en pratik y\u00f6ntemdir. Bu dosya, t\u00fcm gerekli sertifikalar\u0131 ve yap\u0131land\u0131rma ayarlar\u0131n\u0131 i\u00e7erecektir.<\/p>\n<p>\u00d6ncelikle istemci yap\u0131land\u0131rma dosyalar\u0131n\u0131 depolamak i\u00e7in bir dizin olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">mkdir -p ~\/client-configs\/files<\/code><\/pre>\n<p>\u015eimdi temel bir istemci yap\u0131land\u0131rma dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">nano ~\/client-configs\/base.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">client\ndev tun\nproto udp\nremote YOUR_SERVER_IP 1194 # BURAYI SUNUCUNUZUN GENEL IP ADRES\u0130 VEYA ALAN ADI \u0130LE DE\u011e\u0130\u015eT\u0130R\u0130N\nresolv-retry infinite\nnobind\npersist-key\npersist-tun\nremote-cert-tls server\ncipher AES-256-CBC\nauth SHA256\nkey-direction 1 # \u0130stemci taraf\u0131nda tls-auth anahtar y\u00f6n\u00fc 1 olmal\u0131d\u0131r\nverb 3\ncomp-lzo # \u0130ste\u011fe ba\u011fl\u0131: veri s\u0131k\u0131\u015ft\u0131rmay\u0131 etkinle\u015ftirir\nfloat # \u0130ste\u011fe ba\u011fl\u0131: istemcinin IP adresi de\u011fi\u015firse ba\u011flant\u0131y\u0131 yeniden kurmaya \u00e7al\u0131\u015f\u0131r<\/code><\/pre>\n<p><code>YOUR_SERVER_IP<\/code> yerine OpenVPN sunucunuzun genel IP adresini veya alan ad\u0131n\u0131 yazmay\u0131 unutmay\u0131n. Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<h4>Ad\u0131m 3: \u0130stemci Yap\u0131land\u0131rma Dosyalar\u0131n\u0131 Bir Araya Getirme<\/h4>\n<p>\u015eimdi, CA sertifikas\u0131n\u0131, istemci sertifikas\u0131n\u0131, istemci anahtar\u0131n\u0131 ve <code>tls-auth<\/code> anahtar\u0131n\u0131 <code>base.conf<\/code> dosyas\u0131yla birle\u015ftirerek tam bir <code>.ovpn<\/code> dosyas\u0131 olu\u015fturan bir komut dosyas\u0131 yazaca\u011f\u0131z.<\/p>\n<pre><code class=\"language-bash\">nano ~\/client-configs\/make_config.sh<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki i\u00e7eri\u011fi dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n<h2>\u0130lk arg\u00fcman: \u0130stemci Ad\u0131 (\u00f6rn. client1)<\/h2>\nKEY_DIR=~\/openvpn-ca\/keys\nOUTPUT_DIR=~\/client-configs\/files\nBASE_CONFIG=~\/client-configs\/base.conf\n\ncat ${BASE_CONFIG} \\\n    <(echo -e '<ca>') \\\n    ${KEY_DIR}\/ca.crt \\\n    <(echo -e '<\/ca>\\n<cert>') \\\n    ${KEY_DIR}\/${1}.crt \\\n    <(echo -e '<\/cert>\\n<key>') \\\n    ${KEY_DIR}\/${1}.key \\\n    <(echo -e '<\/key>\\n<tls-auth>') \\\n    \/etc\/openvpn\/ta.key \\\n    <(echo -e '<\/tls-auth>') \\\n    > ${OUTPUT_DIR}\/${1}.ovpn<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n. Ard\u0131ndan, bu komut dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">chmod +x ~\/client-configs\/make_config.sh<\/code><\/pre>\n<p>\u015eimdi, <code>client1<\/code> i\u00e7in <code>.ovpn<\/code> dosyas\u0131n\u0131 olu\u015fturmak i\u00e7in komut dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">~\/client-configs\/make_config.sh client1<\/code><\/pre>\n<p>Bu komut, <code>~\/client-configs\/files\/client1.ovpn<\/code> dosyas\u0131n\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>Ad\u0131m 4: \u0130stemci Yap\u0131land\u0131rma Dosyas\u0131n\u0131 \u0130ndirme<\/h4>\n<p>Olu\u015fturdu\u011funuz <code>.ovpn<\/code> dosyas\u0131n\u0131 OpenVPN istemcinizi kuraca\u011f\u0131n\u0131z yerel bilgisayar\u0131n\u0131za veya mobil cihaz\u0131n\u0131za indirmeniz gerekmektedir. Bunu yapmak i\u00e7in <code>scp<\/code> veya <code>sftp<\/code> gibi g\u00fcvenli dosya transfer protokollerini kullanabilirsiniz.<\/p>\n<p>\u00d6rne\u011fin, yerel makinenizden <code>scp<\/code> kullanarak indirme:<\/p>\n<pre><code class=\"language-bash\">scp your_username@your_server_ip:~\/client-configs\/files\/client1.ovpn \/path\/to\/local\/directory\/<\/code><\/pre>\n<p><code>your_username<\/code>, <code>your_server_ip<\/code> ve <code>\/path\/to\/local\/directory\/<\/code> de\u011ferlerini kendi bilgilerinizle de\u011fi\u015ftirin.<\/p>\n<h3>Test Etme<\/h3>\n<p>\u0130stemci yap\u0131land\u0131rma dosyas\u0131n\u0131 indirdikten sonra, OpenVPN istemcisini (Windows, macOS, Linux, Android, iOS i\u00e7in mevcuttur) kurun ve <code>.ovpn<\/code> dosyas\u0131n\u0131 i\u00e7e aktar\u0131n. Ba\u011flant\u0131y\u0131 ba\u015flat\u0131n.<\/p>\n<p>Ba\u011fland\u0131ktan sonra, IP adresinizi kontrol edin. Yeni IP adresinizin OpenVPN sunucunuzun IP adresine yak\u0131n (10.8.0.0\/24 a\u011f\u0131ndan bir IP) ve genel IP adresinizin sunucunuzun genel IP adresi olmas\u0131 gerekir. \u0130nternet eri\u015fiminizin sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>\u0130stemci Ekleme\/\u0130ptal Etme<\/h3>\n<h4>Yeni \u0130stemci Ekleme<\/h4>\n<p>Yeni bir istemci eklemek i\u00e7in, sadece Ad\u0131m 1&#8217;deki istemci sertifikas\u0131 olu\u015fturma ve Ad\u0131m 3&#8217;teki <code>.ovpn<\/code> dosyas\u0131n\u0131 olu\u015fturma ad\u0131mlar\u0131n\u0131 yeni bir istemci ad\u0131yla tekrarlaman\u0131z yeterlidir:<\/p>\n<pre><code class=\"language-bash\">cd ~\/openvpn-ca\nsource vars\n.\/build-key newclientname # 'newclientname' yerine istedi\u011finiz istemci ad\u0131n\u0131 kullan\u0131n\n~\/client-configs\/make_config.sh newclientname<\/code><\/pre>\n<p>Ard\u0131ndan, olu\u015fturulan <code>newclientname.ovpn<\/code> dosyas\u0131n\u0131 yeni istemcinize aktar\u0131n.<\/p>\n<h4>\u0130stemci \u0130ptal Etme (Revoke)<\/h4>\n<p>Bir istemcinin VPN eri\u015fimini iptal etmek i\u00e7in, istemci sertifikas\u0131n\u0131 iptal etmeniz ve sunucuya bir Sertifika \u0130ptal Listesi (CRL) sa\u011flaman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">cd ~\/openvpn-ca\nsource vars\n.\/revoke-full client1 # \u0130ptal etmek istedi\u011finiz istemcinin ad\u0131n\u0131 kullan\u0131n<\/code><\/pre>\n<p>Bu komut, <code>client1<\/code> sertifikas\u0131n\u0131 iptal edecek ve yeni bir CRL olu\u015fturacakt\u0131r. \u015eimdi bu CRL dosyas\u0131n\u0131 OpenVPN yap\u0131land\u0131rma dizinine kopyalay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo cp keys\/crl.pem \/etc\/openvpn\/<\/code><\/pre>\n<p>Ard\u0131ndan, OpenVPN sunucusuna CRL dosyas\u0131n\u0131 kullanmas\u0131n\u0131 s\u00f6ylemek i\u00e7in <code>\/etc\/openvpn\/server.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/openvpn\/server.conf<\/code><\/pre>\n<p>Dosyaya herhangi bir yere a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-ini\">crl-verify crl.pem<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n. Son olarak, OpenVPN sunucusunu yeniden ba\u015flat\u0131n ki yeni CRL&#8217;yi y\u00fcklesin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart openvpn@server<\/code><\/pre>\n<p>Art\u0131k <code>client1<\/code> sertifikas\u0131na sahip istemciler OpenVPN sunucunuza ba\u011flanamayacakt\u0131r.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>OpenVPN kurulumu s\u0131ras\u0131nda veya sonras\u0131nda sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcm \u00f6nerileri:<\/p>\n<p>*   <strong>Ba\u011flant\u0131 Kurulam\u0131yor:<\/strong><br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> Sunucunuzdaki g\u00fcvenlik duvar\u0131n\u0131n (UFW) 1194\/UDP portuna ve NAT kurallar\u0131na do\u011fru \u015fekilde izin verdi\u011finden emin olun. <code>sudo ufw status<\/code> ile kontrol edin.<br \/>\n    *   <strong>IP Y\u00f6nlendirme:<\/strong> IP y\u00f6nlendirmenin etkin oldu\u011fundan emin olun (<code>net.ipv4.ip_forward=1<\/code> ve <code>sudo sysctl -p<\/code>).<br \/>\n    *   <strong>Sunucu Loglar\u0131:<\/strong> OpenVPN sunucu loglar\u0131n\u0131 kontrol edin: <code>sudo journalctl -u openvpn@server<\/code> veya <code>sudo tail -f \/var\/log\/syslog<\/code>. Hata mesajlar\u0131 size yol g\u00f6sterecektir.<br \/>\n    *   <strong>\u0130stemci Yap\u0131land\u0131rmas\u0131:<\/strong> <code>.ovpn<\/code> dosyas\u0131ndaki sunucu IP adresinin veya alan ad\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   <strong>Sertifikalar\/Anahtarlar:<\/strong> Sertifika ve anahtar dosyalar\u0131n\u0131n (<code>ca.crt<\/code>, <code>server.crt<\/code>, <code>server.key<\/code>, <code>dh2048.pem<\/code>, <code>ta.key<\/code>) <code>\/etc\/openvpn\/<\/code> dizininde do\u011fru isimlerle bulundu\u011fundan ve eri\u015filebilir oldu\u011fundan emin olun.<br \/>\n*   <strong>Ba\u011flan\u0131yor ama \u0130nternet Eri\u015fimi Yok:<\/strong><br \/>\n    *   <strong>NAT Kurallar\u0131:<\/strong> <code>\/etc\/ufw\/before.rules<\/code> dosyas\u0131ndaki NAT kural\u0131n\u0131n do\u011fru aray\u00fcz (<code>eth0<\/code> yerine <code>ens3<\/code> gibi) ve do\u011fru VPN a\u011f\u0131 (<code>10.8.0.0\/24<\/code>) ile yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong><code>redirect-gateway<\/code>:<\/strong> <code>server.conf<\/code> dosyas\u0131nda <code>push \"redirect-gateway def1 bypass-dhcp\"<\/code> sat\u0131r\u0131n\u0131n yorum sat\u0131r\u0131 olmad\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong>DNS Ayarlar\u0131:<\/strong> <code>server.conf<\/code> dosyas\u0131ndaki <code>push \"dhcp-option DNS ...\"<\/code> sat\u0131rlar\u0131n\u0131n do\u011fru DNS sunucular\u0131n\u0131 g\u00f6sterdi\u011finden emin olun.<br \/>\n*   <strong>Yava\u015f Ba\u011flant\u0131 H\u0131z\u0131:<\/strong><br \/>\n    *   <strong>\u015eifreleme Algoritmas\u0131:<\/strong> Daha g\u00fc\u00e7l\u00fc \u015fifrelemeler (\u00f6rn. AES-256-CBC) daha fazla i\u015flem g\u00fcc\u00fc gerektirebilir. Sunucunuzun donan\u0131m\u0131na g\u00f6re <code>cipher<\/code> ayar\u0131n\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<br \/>\n    *   <strong><code>comp-lzo<\/code>:<\/strong> \u0130stemci ve sunucu yap\u0131land\u0131rmalar\u0131nda <code>comp-lzo<\/code> ayar\u0131n\u0131n tutarl\u0131 oldu\u011fundan emin olun.<br \/>\n    *   <strong>Sunucu Y\u00fck\u00fc:<\/strong> Sunucunuzun CPU veya a\u011f bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 kontrol edin.<\/p>\n<h3>G\u00fcvenlik Hususlar\u0131<\/h3>\n<p>OpenVPN sunucunuzu kurarken ve y\u00f6netirken dikkate alman\u0131z gereken baz\u0131 \u00f6nemli g\u00fcvenlik hususlar\u0131 vard\u0131r:<\/p>\n<p>*   <strong>Ubuntu 16.04 Deste\u011fi:<\/strong> Bu makale Ubuntu 16.04 i\u00e7in yaz\u0131lm\u0131\u015f olsa da, bu s\u00fcr\u00fcm\u00fcn resmi deste\u011fi sona ermi\u015ftir. Bu, g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131 anlam\u0131na gelir ve bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 savunmas\u0131z kalabilir. <strong>\u00dcretim ortamlar\u0131nda Ubuntu&#8217;nun desteklenen bir LTS s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rn. Ubuntu 20.04 veya 22.04) kullanman\u0131z \u015fiddetle tavsiye edilir.<\/strong> Bu rehber sadece e\u011fitimsel veya eski sistemleri ele almak ama\u00e7l\u0131d\u0131r.<br \/>\n*   <strong>G\u00fcncel Tutma:<\/strong> Sunucunuzdaki t\u00fcm yaz\u0131l\u0131mlar\u0131, \u00f6zellikle OpenVPN&#8217;i ve i\u015fletim sistemini d\u00fczenli olarak g\u00fcncel tutun (ancak 16.04 i\u00e7in art\u0131k resmi g\u00fcncelleme almayacakt\u0131r).<br \/>\n*   <strong>G\u00fc\u00e7l\u00fc Parolalar:<\/strong> CA anahtar\u0131n\u0131z\u0131 ve di\u011fer \u00f6nemli anahtarlar\u0131n\u0131z\u0131 olu\u015ftururken g\u00fc\u00e7l\u00fc parolalar kullan\u0131n.<br \/>\n*   <strong>Sertifika Y\u00f6netimi:<\/strong> Kullan\u0131lmayan veya g\u00fcvenli\u011fi ihlal edilmi\u015f istemci sertifikalar\u0131n\u0131 derhal iptal edin. CRL&#8217;nizi d\u00fczenli olarak g\u00fcncelleyin.<br \/>\n*   <strong>SSH G\u00fcvenli\u011fi:<\/strong> Sunucunuzun SSH eri\u015fimini g\u00fcvence alt\u0131na al\u0131n. Parola yerine anahtar tabanl\u0131 kimlik do\u011frulama kullan\u0131n, varsay\u0131lan SSH portunu de\u011fi\u015ftirin ve root ile do\u011frudan oturum a\u00e7may\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n.<br \/>\n*   <strong>Minimum Yetki Prensibi:<\/strong> OpenVPN servisini <code>nobody<\/code> ve <code>nogroup<\/code> gibi d\u00fc\u015f\u00fck yetkili bir kullan\u0131c\u0131 ve grup alt\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n*   <strong>Log \u0130zleme:<\/strong> OpenVPN sunucunuzun loglar\u0131n\u0131 d\u00fczenli olarak izleyin. Anormal etkinlikler veya ba\u011flant\u0131 denemeleri hakk\u0131nda bilgi sa\u011flayabilirler.<br \/>\n*   <strong>Fiziksel G\u00fcvenlik:<\/strong> Sunucunuzun fiziksel g\u00fcvenli\u011fini sa\u011flay\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde ad\u0131m ad\u0131m kendi OpenVPN sunucunuzu nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve y\u00f6netece\u011finizi \u00f6\u011frendiniz. Kendi VPN sunucunuza sahip olmak, \u00e7evrimi\u00e7i gizlili\u011finizi ve g\u00fcvenli\u011finizi art\u0131rman\u0131n, internet trafi\u011finizi \u015fifrelemenin ve co\u011frafi k\u0131s\u0131tlamalar\u0131 a\u015fman\u0131n g\u00fc\u00e7l\u00fc bir yoludur.<\/p>\n<p>Sertifika yetkilisi olu\u015fturmaktan, sunucu ve istemci sertifikalar\u0131n\u0131 y\u00f6netmeye, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 ayarlamaya ve istemci yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturmaya kadar her ad\u0131m\u0131 detayl\u0131 bir \u015fekilde ele ald\u0131k. Ayr\u0131ca, OpenVPN&#8217;in g\u00fcvenli ve verimli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in \u00f6nemli g\u00fcvenlik hususlar\u0131na ve sorun giderme ipu\u00e7lar\u0131na da de\u011findik.<\/p>\n<p>Unutmay\u0131n ki Ubuntu 16.04&#8217;\u00fcn destek s\u00fcresi dolmu\u015ftur ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan g\u00fcncel bir i\u015fletim sistemi kullanmak her zaman en iyi uygulamad\u0131r. Ancak, bu rehber OpenVPN&#8217;in temel prensiplerini anlamak ve eski sistemlerdeki kurulum s\u00fcre\u00e7lerini \u00f6\u011frenmek i\u00e7in de\u011ferli bir kaynak sunmaktad\u0131r. Kendi OpenVPN sunucunuzla, dijital d\u00fcnyada daha g\u00fcvenli ve \u00f6zg\u00fcr bir deneyimin tad\u0131n\u0131 \u00e7\u0131karabilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda internet g\u00fcvenli\u011fi ve gizlili\u011fi her zamankinden daha krit","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-34995","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>Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu - 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\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu Giri\u015f G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda internet g\u00fcvenli\u011fi ve gizlili\u011fi her zamankinden daha krit\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-24T12:41:05+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu\",\"datePublished\":\"2025-11-24T12:41:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\"},\"wordCount\":2940,\"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\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\",\"name\":\"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-24T12:41:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu\"}]},{\"@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":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu - 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\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu","og_description":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu Giri\u015f G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda internet g\u00fcvenli\u011fi ve gizlili\u011fi her zamankinden daha krit","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-24T12:41:05+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu","datePublished":"2025-11-24T12:41:05+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/"},"wordCount":2940,"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\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/","name":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-24T12:41:05+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-openvpn-sunucusu-kurulumu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerinde OpenVPN Sunucusu Kurulumu"}]},{"@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\/34995","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=34995"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34995\/revisions"}],"predecessor-version":[{"id":34996,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34995\/revisions\/34996"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}