<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>openvpn &#8211; CPYNET</title>
	<atom:link href="https://cpynet.com.tr/tag/openvpn/feed/" rel="self" type="application/rss+xml" />
	<link>https://cpynet.com.tr</link>
	<description>Yeni Nesil Teknoloji Platformu</description>
	<lastBuildDate>Wed, 20 Nov 2024 06:50:48 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://cpynet.com.tr/wp-content/uploads/2024/11/cropped-favicon-32x32.png</url>
	<title>openvpn &#8211; CPYNET</title>
	<link>https://cpynet.com.tr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OpenVPN Kurulum Rehberi</title>
		<link>https://cpynet.com.tr/openvpn-kurulum-rehberi/</link>
		
		<dc:creator><![CDATA[Emin Buyuk]]></dc:creator>
		<pubDate>Tue, 22 Oct 2024 08:09:18 +0000</pubDate>
				<category><![CDATA[Rehberler]]></category>
		<category><![CDATA[Açık Kaynak]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openvpn]]></category>
		<guid isPermaLink="false">https://cpynet-wordpress.wekeea.easypanel.host/openvpn-kurulum-rehberi/</guid>

					<description><![CDATA[Bu rehber, OpenVPN’in hem Ubuntu 22.04 hem de Rocky Linux işletim sistemlerinde hızlı ve sorunsuz bir şekilde kurulmasını&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Bu rehber, <strong>OpenVPN</strong>’in hem <strong>Ubuntu 22.04</strong> hem de <strong>Rocky Linux</strong> işletim sistemlerinde hızlı ve sorunsuz bir şekilde kurulmasını sağlayacak adımları ve otomasyon scriptini içermektedir. Ayrıca, kurulum sonrası yapılandırmalar ve gereksinimler hakkında detaylı bilgiler sunulmaktadır.</p>



<h3 class="wp-block-heading" id="1-gereksinimler"><strong>1. Gereksinimler</strong></h3>



<ul class="wp-block-list">
<li><strong>İşletim Sistemi:</strong>
<ul class="wp-block-list">
<li>Ubuntu 22.04 LTS</li>



<li>Rocky Linux 8 veya 9</li>
</ul>
</li>



<li><strong>Donanım:</strong>
<ul class="wp-block-list">
<li>Minimum 1 GB RAM (2 GB önerilir)</li>



<li>10 GB disk alanı</li>
</ul>
</li>



<li><strong>Yazılım:</strong>
<ul class="wp-block-list">
<li>Root erişimi veya sudo yetkisi</li>



<li>Internet bağlantısı</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="2-kurulum-scripti"><strong>2. Kurulum Scripti</strong></h3>



<p>Aşağıdaki bash scripti, OpenVPN&#8217;in hem Ubuntu 22.04 hem de Rocky Linux üzerinde otomatik olarak kurulmasını sağlar. Script, işletim sistemini algılar ve gerekli adımları uygular.</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="#!/bin/bash

# OpenVPN Kurulum Scripti
# Desteklenen Sistemler: Ubuntu 22.04, Rocky Linux 8/9

# Renkli Çıktılar için Değişkenler
GREEN='33[0;32m'
NC='33[0m' # No Color

# İşletim Sistemi Tespiti
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS=$ID
    VER=$VERSION_ID
else
    echo &quot;İşletim sistemi tespit edilemedi.&quot;
    exit 1
fi

# Güncellemeleri Yap
update_system() {
    echo -e &quot;${GREEN}Sistem güncelleniyor...${NC}&quot;
    if [[ &quot;$OS&quot; == &quot;ubuntu&quot; ]]; then
        sudo apt update &amp;&amp; sudo apt upgrade -y
    elif [[ &quot;$OS&quot; == &quot;rocky&quot; ]]; then
        sudo dnf update -y
    else
        echo &quot;Desteklenmeyen işletim sistemi.&quot;
        exit 1
    fi
    echo -e &quot;${GREEN}Sistem güncellemeleri tamamlandı.${NC}&quot;
}

# OpenVPN ve Gereksinimlerin Kurulumu
install_dependencies() {
    echo -e &quot;${GREEN}Gerekli paketler kuruluyor...${NC}&quot;
    if [[ &quot;$OS&quot; == &quot;ubuntu&quot; ]]; then
        sudo apt install -y openvpn easy-rsa ufw
    elif [[ &quot;$OS&quot; == &quot;rocky&quot; ]]; then
        sudo dnf install -y epel-release
        sudo dnf install -y openvpn easy-rsa firewalld
    fi
    echo -e &quot;${GREEN}Gerekli paketler kuruldu.${NC}&quot;
}

# Sertifika Otoritesi (CA) Oluşturma
setup_ca() {
    echo -e &quot;${GREEN}Sertifika Otoritesi (CA) kuruluyor...${NC}&quot;
    make-cadir ~/openvpn-ca
    cd ~/openvpn-ca || exit
    # Varsayılan varsayılanları kullanabilirsiniz veya ihtiyaçlarınıza göre düzenleyin
    ./easyrsa init-pki
    ./easyrsa build-ca nopass
    echo -e &quot;${GREEN}CA kurulumu tamamlandı.${NC}&quot;
}

# Sunucu Sertifikası ve Anahtarının Oluşturulması
setup_server_cert() {
    echo -e &quot;${GREEN}Sunucu sertifikası ve anahtarı oluşturuluyor...${NC}&quot;
    ./easyrsa gen-req server nopass
    ./easyrsa sign-req server server
    echo -e &quot;${GREEN}Sunucu sertifikası ve anahtarı oluşturuldu.${NC}&quot;
}

# Diffie-Hellman Parametrelerinin Oluşturulması
setup_dh() {
    echo -e &quot;${GREEN}Diffie-Hellman parametreleri oluşturuluyor...${NC}&quot;
    ./easyrsa gen-dh
    echo -e &quot;${GREEN}Diffie-Hellman parametreleri oluşturuldu.${NC}&quot;
}

# Müşteri Sertifikası ve Anahtarının Oluşturulması
setup_client_cert() {
    echo -e &quot;${GREEN}Müşteri sertifikası ve anahtarı oluşturuluyor...${NC}&quot;
    ./easyrsa gen-req client1 nopass
    ./easyrsa sign-req client client1
    echo -e &quot;${GREEN}Müşteri sertifikası ve anahtarı oluşturuldu.${NC}&quot;
}

# OpenVPN Sunucu Yapılandırması
configure_openvpn() {
    echo -e &quot;${GREEN}OpenVPN yapılandırması yapılıyor...${NC}&quot;
    sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/
    
    # OpenVPN Sunucu Konfigürasyon Dosyasını Oluşturma
    sudo bash -c 'cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push &quot;redirect-gateway def1 bypass-dhcp&quot;
push &quot;dhcp-option DNS 8.8.8.8&quot;
push &quot;dhcp-option DNS 8.8.4.4&quot;
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
EOL'
    echo -e &quot;${GREEN}OpenVPN yapılandırması tamamlandı.${NC}&quot;
}

# Firewall Ayarları
configure_firewall() {
    echo -e &quot;${GREEN}Firewall ayarları yapılıyor...${NC}&quot;
    if [[ &quot;$OS&quot; == &quot;ubuntu&quot; ]]; then
        sudo ufw allow 1194/udp
        sudo ufw allow OpenSSH
        sudo ufw enable
        sudo ufw status
    elif [[ &quot;$OS&quot; == &quot;rocky&quot; ]]; then
        sudo systemctl start firewalld
        sudo systemctl enable firewalld
        sudo firewall-cmd --add-service=openvpn --permanent
        sudo firewall-cmd --add-service=ssh --permanent
        sudo firewall-cmd --reload
        sudo firewall-cmd --list-all
    fi
    echo -e &quot;${GREEN}Firewall ayarları tamamlandı.${NC}&quot;
}

# IP Yönlendirme ve NAT Ayarları
configure_ip_forwarding() {
    echo -e &quot;${GREEN}IP yönlendirme ve NAT ayarları yapılıyor...${NC}&quot;
    sudo bash -c 'echo &quot;net.ipv4.ip_forward=1&quot; &gt;&gt; /etc/sysctl.conf'
    sudo sysctl -p
    sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    sudo iptables-save | sudo tee /etc/iptables.rules
    sudo bash -c 'cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL
[Unit]
Description=Load iptables rules
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOL'
    sudo systemctl enable iptables
    sudo systemctl start iptables
    echo -e &quot;${GREEN}IP yönlendirme ve NAT ayarları tamamlandı.${NC}&quot;
}

# OpenVPN Servisini Başlatma ve Etkinleştirme
start_enable_openvpn() {
    echo -e &quot;${GREEN}OpenVPN servisi başlatılıyor ve etkinleştiriliyor...${NC}&quot;
    sudo systemctl start openvpn@server
    sudo systemctl enable openvpn@server
    echo -e &quot;${GREEN}OpenVPN servisi çalışıyor ve sistem açılışında otomatik olarak başlayacak.${NC}&quot;
}

# Müşteri Yapılandırma Dosyasını Oluşturma
create_client_config() {
    echo -e &quot;${GREEN}Müşteri yapılandırma dosyası oluşturuluyor...${NC}&quot;
    mkdir -p ~/client-configs/keys
    cp ~/openvpn-ca/pki/ca.crt ~/client-configs/keys/
    cp ~/openvpn-ca/pki/issued/client1.crt ~/client-configs/keys/
    cp ~/openvpn-ca/pki/private/client1.key ~/client-configs/keys/
    
    # OpenVPN Client Konfigürasyon Dosyası
    cat &gt; ~/client-configs/base.conf &lt;&lt;EOL
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3
EOL
    echo -e &quot;${GREEN}Müşteri yapılandırma dosyası oluşturuldu.${NC}&quot;
    echo -e &quot;${GREEN}client1.ovpn dosyasını oluşturmak için aşağıdaki komutları çalıştırın:${NC}&quot;
    echo &quot;cd ~/client-configs &amp;&amp; bash make_config.sh client1&quot;
}

# Ana Kurulum Fonksiyonu
main() {
    update_system
    install_dependencies
    setup_ca
    setup_server_cert
    setup_dh
    setup_client_cert
    configure_openvpn
    configure_firewall
    configure_ip_forwarding
    start_enable_openvpn
    create_client_config
    echo -e &quot;${GREEN}OpenVPN kurulumu başarıyla tamamlandı!${NC}&quot;
    echo -e &quot;${GREEN}client1.ovpn dosyasını almak için lütfen ilgili adımları takip edin.${NC}&quot;
}

# Scripti Başlat
main
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #6272A4">#!/bin/bash</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># OpenVPN Kurulum Scripti</span></span>
<span class="line"><span style="color: #6272A4"># Desteklenen Sistemler: Ubuntu 22.04, Rocky Linux 8/9</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Renkli Çıktılar için Değişkenler</span></span>
<span class="line"><span style="color: #BD93F9">GREEN</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">33[0;32m</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #BD93F9">NC</span><span style="color: #FF79C6">=</span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">33[0m</span><span style="color: #E9F284">&#39;</span><span style="color: #F8F8F2"> </span><span style="color: #6272A4"># No Color</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># İşletim Sistemi Tespiti</span></span>
<span class="line"><span style="color: #FF79C6">if</span><span style="color: #F8F8F2"> [ </span><span style="color: #FF79C6">-f</span><span style="color: #F8F8F2"> /etc/os-release ]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">.</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/os-release</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #BD93F9">OS</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">$ID</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #BD93F9">VER</span><span style="color: #FF79C6">=</span><span style="color: #BD93F9">$VERSION_ID</span></span>
<span class="line"><span style="color: #FF79C6">else</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">İşletim sistemi tespit edilemedi.</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">exit</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">1</span></span>
<span class="line"><span style="color: #FF79C6">fi</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Güncellemeleri Yap</span></span>
<span class="line"><span style="color: #50FA7B">update_system</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Sistem güncelleniyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">if</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">ubuntu</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">update</span><span style="color: #F8F8F2"> &amp;&amp; </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">upgrade</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">elif</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">rocky</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">update</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">else</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">Desteklenmeyen işletim sistemi.</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #8BE9FD">exit</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">1</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">fi</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Sistem güncellemeleri tamamlandı.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># OpenVPN ve Gereksinimlerin Kurulumu</span></span>
<span class="line"><span style="color: #50FA7B">install_dependencies</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Gerekli paketler kuruluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">if</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">ubuntu</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">easy-rsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">elif</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">rocky</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">epel-release</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">easy-rsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">fi</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Gerekli paketler kuruldu.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Sertifika Otoritesi (CA) Oluşturma</span></span>
<span class="line"><span style="color: #50FA7B">setup_ca</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Sertifika Otoritesi (CA) kuruluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">make-cadir</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">cd</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">||</span><span style="color: #F8F8F2"> </span><span style="color: #8BE9FD">exit</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #6272A4"># Varsayılan varsayılanları kullanabilirsiniz veya ihtiyaçlarınıza göre düzenleyin</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">init-pki</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">build-ca</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}CA kurulumu tamamlandı.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Sunucu Sertifikası ve Anahtarının Oluşturulması</span></span>
<span class="line"><span style="color: #50FA7B">setup_server_cert</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Sunucu sertifikası ve anahtarı oluşturuluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Sunucu sertifikası ve anahtarı oluşturuldu.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Diffie-Hellman Parametrelerinin Oluşturulması</span></span>
<span class="line"><span style="color: #50FA7B">setup_dh</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Diffie-Hellman parametreleri oluşturuluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-dh</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Diffie-Hellman parametreleri oluşturuldu.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Müşteri Sertifikası ve Anahtarının Oluşturulması</span></span>
<span class="line"><span style="color: #50FA7B">setup_client_cert</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Müşteri sertifikası ve anahtarı oluşturuluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Müşteri sertifikası ve anahtarı oluşturuldu.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># OpenVPN Sunucu Yapılandırması</span></span>
<span class="line"><span style="color: #50FA7B">configure_openvpn</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}OpenVPN yapılandırması yapılıyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/server.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/server.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/dh.pem</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #6272A4"># OpenVPN Sunucu Konfigürasyon Dosyasını Oluşturma</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">port 1194</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert server.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key server.key</span></span>
<span class="line"><span style="color: #F1FA8C">dh dh.pem</span></span>
<span class="line"><span style="color: #F1FA8C">server 10.8.0.0 255.255.255.0</span></span>
<span class="line"><span style="color: #F1FA8C">ifconfig-pool-persist ipp.txt</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;redirect-gateway def1 bypass-dhcp&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.8.8&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.4.4&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">keepalive 10 120</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">user nobody</span></span>
<span class="line"><span style="color: #F1FA8C">group nogroup</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">status openvpn-status.log</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}OpenVPN yapılandırması tamamlandı.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Firewall Ayarları</span></span>
<span class="line"><span style="color: #50FA7B">configure_firewall</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Firewall ayarları yapılıyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">if</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">ubuntu</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">allow</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">1194</span><span style="color: #F1FA8C">/udp</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">allow</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">OpenSSH</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">status</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">elif</span><span style="color: #F8F8F2"> [[ </span><span style="color: #E9F284">&quot;</span><span style="color: #BD93F9">$OS</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">==</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">rocky</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> ]]; </span><span style="color: #FF79C6">then</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--add-service=openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--permanent</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--add-service=ssh</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--permanent</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--reload</span></span>
<span class="line"><span style="color: #F8F8F2">        </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--list-all</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #FF79C6">fi</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Firewall ayarları tamamlandı.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># IP Yönlendirme ve NAT Ayarları</span></span>
<span class="line"><span style="color: #50FA7B">configure_ip_forwarding</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}IP yönlendirme ve NAT ayarları yapılıyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">echo &quot;net.ipv4.ip_forward=1&quot; &gt;&gt; /etc/sysctl.conf</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sysctl</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-t</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nat</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-A</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">POSTROUTING</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-s</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">10.8</span><span style="color: #F1FA8C">.0.0/24</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-o</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">eth0</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-j</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">MASQUERADE</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables-save</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">|</span><span style="color: #F8F8F2"> </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tee</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/iptables.rules</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">[Unit]</span></span>
<span class="line"><span style="color: #F1FA8C">Description=Load iptables rules</span></span>
<span class="line"><span style="color: #F1FA8C">Before=network-pre.target</span></span>
<span class="line"><span style="color: #F1FA8C">Wants=network-pre.target</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Service]</span></span>
<span class="line"><span style="color: #F1FA8C">Type=oneshot</span></span>
<span class="line"><span style="color: #F1FA8C">ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules</span></span>
<span class="line"><span style="color: #F1FA8C">RemainAfterExit=yes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Install]</span></span>
<span class="line"><span style="color: #F1FA8C">WantedBy=multi-user.target</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}IP yönlendirme ve NAT ayarları tamamlandı.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># OpenVPN Servisini Başlatma ve Etkinleştirme</span></span>
<span class="line"><span style="color: #50FA7B">start_enable_openvpn</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}OpenVPN servisi başlatılıyor ve etkinleştiriliyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}OpenVPN servisi çalışıyor ve sistem açılışında otomatik olarak başlayacak.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Müşteri Yapılandırma Dosyasını Oluşturma</span></span>
<span class="line"><span style="color: #50FA7B">create_client_config</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Müşteri yapılandırma dosyası oluşturuluyor...${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">mkdir</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/client1.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/client1.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #F8F8F2">    </span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #6272A4"># OpenVPN Client Konfigürasyon Dosyası</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/base.conf</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">EOL</span></span>
<span class="line"><span style="color: #F1FA8C">client</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">remote YOUR_SERVER_IP 1194</span></span>
<span class="line"><span style="color: #F1FA8C">resolv-retry infinite</span></span>
<span class="line"><span style="color: #F1FA8C">nobind</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert client1.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key client1.key</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F8F8F2">EOL</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}Müşteri yapılandırma dosyası oluşturuldu.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}client1.ovpn dosyasını oluşturmak için aşağıdaki komutları çalıştırın:${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">cd ~/client-configs &amp;&amp; bash make_config.sh client1</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Ana Kurulum Fonksiyonu</span></span>
<span class="line"><span style="color: #50FA7B">main</span><span style="color: #F8F8F2">() {</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">update_system</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">install_dependencies</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">setup_ca</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">setup_server_cert</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">setup_dh</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">setup_client_cert</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">configure_openvpn</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">configure_firewall</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">configure_ip_forwarding</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">start_enable_openvpn</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #50FA7B">create_client_config</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}OpenVPN kurulumu başarıyla tamamlandı!${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">    </span><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-e</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">${</span><span style="color: #BD93F9">GREEN</span><span style="color: #F1FA8C">}client1.ovpn dosyasını almak için lütfen ilgili adımları takip edin.${</span><span style="color: #BD93F9">NC</span><span style="color: #F1FA8C">}</span><span style="color: #E9F284">&quot;</span></span>
<span class="line"><span style="color: #F8F8F2">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># Scripti Başlat</span></span>
<span class="line"><span style="color: #50FA7B">main</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Script Kullanımı:</strong></p>



<ol class="wp-block-list">
<li><strong>Scripti İndirme ve Çalıştırma:</strong></li>
</ol>



<ul class="wp-block-list">
<li>Yukarıdaki scripti bir dosyaya kaydedin, örneğin <code>install_openvpn.sh</code>.</li>



<li>Dosyaya çalıştırma izinleri verin:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="chmod +x install_openvpn.sh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">chmod</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">+x</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install_openvpn.sh</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li>Scripti çalıştırın:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo ./install_openvpn.sh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">./install_openvpn.sh</span></span>
<span class="line"></span></code></pre></div>



<ol class="wp-block-list">
<li>**Müşteri Yapılandırma Dosyasını Oluşturma:**Scriptin son adımında, müşteri konfigürasyon dosyasını oluşturmanız için gerekli komutlar verilecektir. Aşağıdaki adımları takip edin:</li>
</ol>



<ul class="wp-block-list">
<li><code>make_config.sh</code> scriptini oluşturun:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="mkdir -p ~/client-configs/files
cat &gt; ~/client-configs/make_config.sh &lt;&lt;'EOF'
#!/bin/bash

# Müşteri Konfigürasyon Dosyası Oluşturma Scripti

KEY_DIR=~/client-configs/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} 
    &lt;(echo -e '&lt;ca&gt;') 
    ${KEY_DIR}/ca.crt 
    &lt;(echo -e '&lt;/ca&gt;n&lt;cert&gt;') 
    ${KEY_DIR}/client1.crt 
    &lt;(echo -e '&lt;/cert&gt;n&lt;key&gt;') 
    ${KEY_DIR}/client1.key 
    &lt;(echo -e '&lt;/key&gt;') 
    &gt; ${OUTPUT_DIR}/client1.ovpn
EOF
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">mkdir</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/files</span></span>
<span class="line"><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">&#39;</span><span style="color: #F8F8F2">EOF</span><span style="color: #F8F8F2">&#39;</span></span>
<span class="line"><span style="color: #F1FA8C">#!/bin/bash</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C"># Müşteri Konfigürasyon Dosyası Oluşturma Scripti</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">KEY_DIR=~/client-configs/keys</span></span>
<span class="line"><span style="color: #F1FA8C">OUTPUT_DIR=~/client-configs/files</span></span>
<span class="line"><span style="color: #F1FA8C">BASE_CONFIG=~/client-configs/base.conf</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">cat ${BASE_CONFIG} </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;ca&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/ca.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/ca&gt;n&lt;cert&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/cert&gt;n&lt;key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.key </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    &gt; ${OUTPUT_DIR}/client1.ovpn</span></span>
<span class="line"><span style="color: #F8F8F2">EOF</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li>Scripti çalıştırma:</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="chmod +x ~/client-configs/make_config.sh
~/client-configs/make_config.sh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">chmod</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">+x</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span></span>
<span class="line"><span style="color: #FF79C6">~</span><span style="color: #F8F8F2">/client-configs/make_config.sh</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li><code>client1.ovpn</code> dosyasını <code>~/client-configs/files/</code> dizininde bulabilirsiniz. Bu dosyayı OpenVPN istemcisine yükleyerek bağlantıyı gerçekleştirebilirsiniz.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="3-ubuntu-2204-%C3%BCzerinde-openvpn-kurulumu"><strong>3. Ubuntu 22.04 Üzerinde OpenVPN Kurulumu</strong></h3>



<p><strong>Adım 1: Sistem Güncellemeleri</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo apt update
sudo apt upgrade -y
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">update</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">upgrade</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 2: OpenVPN ve Easy-RSA Kurulumu</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo apt install -y openvpn easy-rsa ufw
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">apt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">easy-rsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 3: Sertifika Otoritesi (CA) Oluşturma</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca nopass
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">make-cadir</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span></span>
<span class="line"><span style="color: #8BE9FD">cd</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">init-pki</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">build-ca</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 4: Sunucu Sertifikası ve Anahtarının Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-req server nopass
./easyrsa sign-req server server
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 5: Diffie-Hellman Parametrelerinin Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-dh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-dh</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 6: Müşteri Sertifikası ve Anahtarının Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 7: OpenVPN Sunucu Yapılandırması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/

sudo bash -c 'cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push &quot;redirect-gateway def1 bypass-dhcp&quot;
push &quot;dhcp-option DNS 8.8.8.8&quot;
push &quot;dhcp-option DNS 8.8.4.4&quot;
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
EOL'
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/server.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/server.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/dh.pem</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">port 1194</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert server.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key server.key</span></span>
<span class="line"><span style="color: #F1FA8C">dh dh.pem</span></span>
<span class="line"><span style="color: #F1FA8C">server 10.8.0.0 255.255.255.0</span></span>
<span class="line"><span style="color: #F1FA8C">ifconfig-pool-persist ipp.txt</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;redirect-gateway def1 bypass-dhcp&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.8.8&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.4.4&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">keepalive 10 120</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">user nobody</span></span>
<span class="line"><span style="color: #F1FA8C">group nogroup</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">status openvpn-status.log</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 8: Firewall Ayarları</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo ufw allow 1194/udp
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">allow</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">1194</span><span style="color: #F1FA8C">/udp</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">allow</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">OpenSSH</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">ufw</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">status</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 9: IP Yönlendirme ve NAT Ayarları</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="echo &quot;net.ipv4.ip_forward=1&quot; | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables.rules
sudo bash -c 'cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL
[Unit]
Description=Load iptables rules
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOL'
sudo systemctl enable iptables
sudo systemctl start iptables
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">net.ipv4.ip_forward=1</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">|</span><span style="color: #F8F8F2"> </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tee</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-a</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/sysctl.conf</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sysctl</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-t</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nat</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-A</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">POSTROUTING</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-s</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">10.8</span><span style="color: #F1FA8C">.0.0/24</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-o</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">eth0</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-j</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">MASQUERADE</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables-save</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">|</span><span style="color: #F8F8F2"> </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tee</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/iptables.rules</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">[Unit]</span></span>
<span class="line"><span style="color: #F1FA8C">Description=Load iptables rules</span></span>
<span class="line"><span style="color: #F1FA8C">Before=network-pre.target</span></span>
<span class="line"><span style="color: #F1FA8C">Wants=network-pre.target</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Service]</span></span>
<span class="line"><span style="color: #F1FA8C">Type=oneshot</span></span>
<span class="line"><span style="color: #F1FA8C">ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules</span></span>
<span class="line"><span style="color: #F1FA8C">RemainAfterExit=yes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Install]</span></span>
<span class="line"><span style="color: #F1FA8C">WantedBy=multi-user.target</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 10: OpenVPN Servisinin Başlatılması ve Etkinleştirilmesi</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 11: Müşteri Yapılandırma Dosyasını Oluşturma</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="mkdir -p ~/client-configs/keys
cp ~/openvpn-ca/pki/ca.crt ~/client-configs/keys/
cp ~/openvpn-ca/pki/issued/client1.crt ~/client-configs/keys/
cp ~/openvpn-ca/pki/private/client1.key ~/client-configs/keys/

cat &gt; ~/client-configs/base.conf &lt;&lt;EOL
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3
EOL

# make_config.sh scriptini oluşturun
cat &gt; ~/client-configs/make_config.sh &lt;&lt;'EOF'
#!/bin/bash

# Müşteri Konfigürasyon Dosyası Oluşturma Scripti

KEY_DIR=~/client-configs/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} 
    &lt;(echo -e '&lt;ca&gt;') 
    ${KEY_DIR}/ca.crt 
    &lt;(echo -e '&lt;/ca&gt;n&lt;cert&gt;') 
    ${KEY_DIR}/client1.crt 
    &lt;(echo -e '&lt;/cert&gt;n&lt;key&gt;') 
    ${KEY_DIR}/client1.key 
    &lt;(echo -e '&lt;/key&gt;') 
    &gt; ${OUTPUT_DIR}/client1.ovpn
EOF

chmod +x ~/client-configs/make_config.sh
~/client-configs/make_config.sh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">mkdir</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/client1.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/client1.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/base.conf</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">EOL</span></span>
<span class="line"><span style="color: #F1FA8C">client</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">remote YOUR_SERVER_IP 1194</span></span>
<span class="line"><span style="color: #F1FA8C">resolv-retry infinite</span></span>
<span class="line"><span style="color: #F1FA8C">nobind</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert client1.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key client1.key</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F8F8F2">EOL</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># make_config.sh scriptini oluşturun</span></span>
<span class="line"><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">&#39;</span><span style="color: #F8F8F2">EOF</span><span style="color: #F8F8F2">&#39;</span></span>
<span class="line"><span style="color: #F1FA8C">#!/bin/bash</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C"># Müşteri Konfigürasyon Dosyası Oluşturma Scripti</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">KEY_DIR=~/client-configs/keys</span></span>
<span class="line"><span style="color: #F1FA8C">OUTPUT_DIR=~/client-configs/files</span></span>
<span class="line"><span style="color: #F1FA8C">BASE_CONFIG=~/client-configs/base.conf</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">cat ${BASE_CONFIG} </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;ca&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/ca.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/ca&gt;n&lt;cert&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/cert&gt;n&lt;key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.key </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    &gt; ${OUTPUT_DIR}/client1.ovpn</span></span>
<span class="line"><span style="color: #F8F8F2">EOF</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">chmod</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">+x</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span></span>
<span class="line"><span style="color: #FF79C6">~</span><span style="color: #F8F8F2">/client-configs/make_config.sh</span></span>
<span class="line"></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="4-rocky-linux-%C3%BCzerinde-openvpn-kurulumu"><strong>4. Rocky Linux Üzerinde OpenVPN Kurulumu</strong></h3>



<p><strong>Adım 1: Sistem Güncellemeleri</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo dnf update -y
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">update</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 2: OpenVPN ve Easy-RSA Kurulumu</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo dnf install -y epel-release
sudo dnf install -y openvpn easy-rsa firewalld
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">epel-release</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">dnf</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">install</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-y</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">easy-rsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 3: Sertifika Otoritesi (CA) Oluşturma</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca nopass
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">make-cadir</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span></span>
<span class="line"><span style="color: #8BE9FD">cd</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">init-pki</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">build-ca</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 4: Sunucu Sertifikası ve Anahtarının Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-req server nopass
./easyrsa sign-req server server
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">server</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 5: Diffie-Hellman Parametrelerinin Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-dh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-dh</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 6: Müşteri Sertifikası ve Anahtarının Oluşturulması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">gen-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nopass</span></span>
<span class="line"><span style="color: #50FA7B">./easyrsa</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sign-req</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">client1</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 7: OpenVPN Sunucu Yapılandırması</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/

sudo bash -c 'cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push &quot;redirect-gateway def1 bypass-dhcp&quot;
push &quot;dhcp-option DNS 8.8.8.8&quot;
push &quot;dhcp-option DNS 8.8.4.4&quot;
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
EOL'
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/server.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/server.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/dh.pem</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/openvpn/</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/openvpn/server.conf &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">port 1194</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert server.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key server.key</span></span>
<span class="line"><span style="color: #F1FA8C">dh dh.pem</span></span>
<span class="line"><span style="color: #F1FA8C">server 10.8.0.0 255.255.255.0</span></span>
<span class="line"><span style="color: #F1FA8C">ifconfig-pool-persist ipp.txt</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;redirect-gateway def1 bypass-dhcp&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.8.8&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">push &quot;dhcp-option DNS 8.8.4.4&quot;</span></span>
<span class="line"><span style="color: #F1FA8C">keepalive 10 120</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">user nobody</span></span>
<span class="line"><span style="color: #F1FA8C">group nogroup</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">status openvpn-status.log</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 8: Firewall Ayarları</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --add-service=openvpn --permanent
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewalld</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--add-service=openvpn</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--permanent</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--add-service=ssh</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--permanent</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--reload</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">firewall-cmd</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">--list-all</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 9: IP Yönlendirme ve NAT Ayarları</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="echo &quot;net.ipv4.ip_forward=1&quot; | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables.rules
sudo bash -c 'cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL
[Unit]
Description=Load iptables rules
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOL'
sudo systemctl enable iptables
sudo systemctl start iptables
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #8BE9FD">echo</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&quot;</span><span style="color: #F1FA8C">net.ipv4.ip_forward=1</span><span style="color: #E9F284">&quot;</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">|</span><span style="color: #F8F8F2"> </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tee</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-a</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/sysctl.conf</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">sysctl</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-t</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">nat</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-A</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">POSTROUTING</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-s</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">10.8</span><span style="color: #F1FA8C">.0.0/24</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-o</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">eth0</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-j</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">MASQUERADE</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables-save</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">|</span><span style="color: #F8F8F2"> </span><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tee</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/etc/iptables.rules</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">bash</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-c</span><span style="color: #F8F8F2"> </span><span style="color: #E9F284">&#39;</span><span style="color: #F1FA8C">cat &gt; /etc/systemd/system/iptables.service &lt;&lt;EOL</span></span>
<span class="line"><span style="color: #F1FA8C">[Unit]</span></span>
<span class="line"><span style="color: #F1FA8C">Description=Load iptables rules</span></span>
<span class="line"><span style="color: #F1FA8C">Before=network-pre.target</span></span>
<span class="line"><span style="color: #F1FA8C">Wants=network-pre.target</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Service]</span></span>
<span class="line"><span style="color: #F1FA8C">Type=oneshot</span></span>
<span class="line"><span style="color: #F1FA8C">ExecStart=/sbin/iptables-restore &lt; /etc/iptables.rules</span></span>
<span class="line"><span style="color: #F1FA8C">RemainAfterExit=yes</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">[Install]</span></span>
<span class="line"><span style="color: #F1FA8C">WantedBy=multi-user.target</span></span>
<span class="line"><span style="color: #F1FA8C">EOL</span><span style="color: #E9F284">&#39;</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">iptables</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 10: OpenVPN Servisinin Başlatılması ve Etkinleştirilmesi</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">start</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">enable</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"></span></code></pre></div>



<p><strong>Adım 11: Müşteri Yapılandırma Dosyasını Oluşturma</strong></p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="mkdir -p ~/client-configs/keys
cp ~/openvpn-ca/pki/ca.crt ~/client-configs/keys/
cp ~/openvpn-ca/pki/issued/client1.crt ~/client-configs/keys/
cp ~/openvpn-ca/pki/private/client1.key ~/client-configs/keys/

cat &gt; ~/client-configs/base.conf &lt;&lt;EOL
client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
verb 3
EOL

# make_config.sh scriptini oluşturun
cat &gt; ~/client-configs/make_config.sh &lt;&lt;'EOF'
#!/bin/bash

# Müşteri Konfigürasyon Dosyası Oluşturma Scripti

KEY_DIR=~/client-configs/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} 
    &lt;(echo -e '&lt;ca&gt;') 
    ${KEY_DIR}/ca.crt 
    &lt;(echo -e '&lt;/ca&gt;n&lt;cert&gt;') 
    ${KEY_DIR}/client1.crt 
    &lt;(echo -e '&lt;/cert&gt;n&lt;key&gt;') 
    ${KEY_DIR}/client1.key 
    &lt;(echo -e '&lt;/key&gt;') 
    &gt; ${OUTPUT_DIR}/client1.ovpn
EOF

chmod +x ~/client-configs/make_config.sh
~/client-configs/make_config.sh
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">mkdir</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-p</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/ca.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/issued/client1.crt</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"><span style="color: #50FA7B">cp</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/openvpn-ca/pki/private/client1.key</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/keys/</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/base.conf</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">EOL</span></span>
<span class="line"><span style="color: #F1FA8C">client</span></span>
<span class="line"><span style="color: #F1FA8C">dev tun</span></span>
<span class="line"><span style="color: #F1FA8C">proto udp</span></span>
<span class="line"><span style="color: #F1FA8C">remote YOUR_SERVER_IP 1194</span></span>
<span class="line"><span style="color: #F1FA8C">resolv-retry infinite</span></span>
<span class="line"><span style="color: #F1FA8C">nobind</span></span>
<span class="line"><span style="color: #F1FA8C">persist-key</span></span>
<span class="line"><span style="color: #F1FA8C">persist-tun</span></span>
<span class="line"><span style="color: #F1FA8C">ca ca.crt</span></span>
<span class="line"><span style="color: #F1FA8C">cert client1.crt</span></span>
<span class="line"><span style="color: #F1FA8C">key client1.key</span></span>
<span class="line"><span style="color: #F1FA8C">cipher AES-256-CBC</span></span>
<span class="line"><span style="color: #F1FA8C">verb 3</span></span>
<span class="line"><span style="color: #F8F8F2">EOL</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6272A4"># make_config.sh scriptini oluşturun</span></span>
<span class="line"><span style="color: #50FA7B">cat</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&gt;</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span><span style="color: #F8F8F2"> </span><span style="color: #FF79C6">&lt;&lt;</span><span style="color: #F8F8F2">&#39;</span><span style="color: #F8F8F2">EOF</span><span style="color: #F8F8F2">&#39;</span></span>
<span class="line"><span style="color: #F1FA8C">#!/bin/bash</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C"># Müşteri Konfigürasyon Dosyası Oluşturma Scripti</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">KEY_DIR=~/client-configs/keys</span></span>
<span class="line"><span style="color: #F1FA8C">OUTPUT_DIR=~/client-configs/files</span></span>
<span class="line"><span style="color: #F1FA8C">BASE_CONFIG=~/client-configs/base.conf</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F1FA8C">cat ${BASE_CONFIG} </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;ca&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/ca.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/ca&gt;n&lt;cert&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.crt </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/cert&gt;n&lt;key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    ${KEY_DIR}/client1.key </span></span>
<span class="line"><span style="color: #F1FA8C">    &lt;(echo -e &#39;&lt;/key&gt;&#39;) </span></span>
<span class="line"><span style="color: #F1FA8C">    &gt; ${OUTPUT_DIR}/client1.ovpn</span></span>
<span class="line"><span style="color: #F8F8F2">EOF</span></span>
<span class="line"></span>
<span class="line"><span style="color: #50FA7B">chmod</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">+x</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">~/client-configs/make_config.sh</span></span>
<span class="line"><span style="color: #FF79C6">~</span><span style="color: #F8F8F2">/client-configs/make_config.sh</span></span>
<span class="line"></span></code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="5-kurulum-sonras%C4%B1-ad%C4%B1mlar"><strong>5. Kurulum Sonrası Adımlar</strong></h3>



<ol class="wp-block-list">
<li><strong>OpenVPN&#8217;e Erişim:</strong></li>
</ol>



<ul class="wp-block-list">
<li><code>client1.ovpn</code> dosyasını OpenVPN istemcisine yükleyin (Windows, macOS, Linux, Android, iOS vb.).</li>



<li>OpenVPN istemcisini açın ve <code>client1.ovpn</code> dosyasını içe aktarın.</li>



<li>Bağlantıyı başlatın.</li>
</ul>



<ol class="wp-block-list">
<li><strong>Sunucu Durumunu Kontrol Etme:</strong></li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo systemctl status openvpn@server
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">systemctl</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">status</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">openvpn@server</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li>Servisin aktif ve çalışır durumda olduğundan emin olun.</li>
</ul>



<ol class="wp-block-list">
<li><strong>Log Dosyalarını İnceleme:</strong></li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="sudo tail -f /var/log/openvpn-status.log
" style="color:#F8F8F2;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dracula" style="background-color: #282A36" tabindex="0"><code><span class="line"><span style="color: #50FA7B">sudo</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">tail</span><span style="color: #F8F8F2"> </span><span style="color: #BD93F9">-f</span><span style="color: #F8F8F2"> </span><span style="color: #F1FA8C">/var/log/openvpn-status.log</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li>Bağlantı durumlarını ve olası hataları kontrol edebilirsiniz.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="6-openvpne-eri%C5%9Fim-ve-i%CC%87lk-ayarlar"><strong>6. OpenVPN&#8217;e Erişim ve İlk Ayarlar</strong></h3>



<ul class="wp-block-list">
<li><strong>Müşteri Yapılandırma Dosyası (client1.ovpn):</strong>
<ul class="wp-block-list">
<li>Bu dosya, OpenVPN istemcisine yüklenerek VPN bağlantısını gerçekleştirmek için kullanılır.</li>



<li>Güvenli bir şekilde istemci cihazınıza aktarın.</li>
</ul>
</li>



<li><strong>Güvenlik Duvarı ve NAT Ayarları:</strong>
<ul class="wp-block-list">
<li>Sunucuya gelen OpenVPN trafiğinin izinlendiğinden ve NAT işlemlerinin doğru yapılandırıldığından emin olun.</li>
</ul>
</li>



<li><strong>DNS Ayarları:</strong>
<ul class="wp-block-list">
<li>OpenVPN yapılandırmasında belirtilen DNS sunucuları (8.8.8.8 ve 8.8.4.4) istemcilerin DNS sorgularını güvenli bir şekilde çözmesini sağlar.</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="7-g%C3%BCvenlik-ve-bak%C4%B1m-i%CC%87pu%C3%A7lar%C4%B1"><strong>7. Güvenlik ve Bakım İpuçları</strong></h3>



<ul class="wp-block-list">
<li><strong>Sertifikaların Güvenliği:</strong>
<ul class="wp-block-list">
<li>CA, sunucu ve müşteri sertifikalarını güvenli bir yerde saklayın.</li>



<li>Özel anahtarları (server.key, client1.key) kesinlikle paylaşmayın.</li>
</ul>
</li>



<li><strong>Düzenli Güncellemeler:</strong>
<ul class="wp-block-list">
<li>OpenVPN ve işletim sistemi paketlerini düzenli olarak güncelleyin.</li>



<li>Güvenlik yamalarını takip edin.</li>
</ul>
</li>



<li><strong>Firewall ve Güvenlik Duvarı Ayarları:</strong>
<ul class="wp-block-list">
<li>Gereksiz portları kapalı tutun.</li>



<li>Yalnızca gerekli servislerin erişimine izin verin.</li>
</ul>
</li>



<li><strong>Log Yönetimi:</strong>
<ul class="wp-block-list">
<li>Log dosyalarını düzenli olarak kontrol edin.</li>



<li>Şüpheli aktiviteleri tespit etmek için logları izleyin.</li>
</ul>
</li>



<li><strong>Kullanıcı Yönetimi:</strong>
<ul class="wp-block-list">
<li>Müşteri sertifikalarını gerektiğinde iptal edin.</li>



<li>Yeni kullanıcılar eklerken ve mevcut kullanıcıları kaldırırken dikkatli olun.</li>
</ul>
</li>
</ul>



<p><strong>Cpynet üyeleri için faydalı olması dileğiyle!</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Not:</strong> <code>YOUR_SERVER_IP</code> ifadesini, OpenVPN sunucunuzun gerçek IP adresiyle değiştirmeyi unutmayın. Ayrıca, müşteri sertifikalarını oluştururken güvenlik önlemlerine dikkat edin ve sertifikaları güvenli bir şekilde dağıtın.</p>



<p>Herhangi bir sorunla karşılaşırsanız, OpenVPN Resmi Dokümantasyonu üzerinden detaylı bilgi alabilirsiniz.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
