
İş Zekası Hizmeti Olarak
PlusClouds Eaglet hizmetini deneyin ve AI desteğiyle yüksek kaliteli B2B sıcak potansiyel müşteri ve fırsatları bulun.
Sanal özel ağ (VPN), iki ağ ve bireysel kullanıcılar arasında internet bağlantınızı ve çevrimiçi gizliliğinizi koruyan güvenli ve şifreli bir bağlantıdır. OpenVPN, yönlendirilmiş konfigürasyonlarda noktadan noktaya güvenli bağlantı oluşturmak için kullanılan açık kaynaklı bir VPN protokolüdür.
Bu yazımızda Debian 10 üzerinde OpenVPN server kurulumu ve konfigürasyonu yapacağız.
Başlamadan önce Debian OS paketlerimizin yüklü ve güncel olduğundan emin olun.
apt -y update apt -y upgrade
Standart olarak OpenVPN Debian repolarında mevcuttur. Aşağıdaki komut ile yükleyebilirsiniz.
apt -y install openvpn
OpenVPN yüklendikten sonra sisteminize EasyRSA yüklemeniz gerekiyor.
EasyRSA, bir PKI CA'sı oluşturmak için bir komut satırı yardımcı programıdır. Birden çok türde sertifika oluşturmanıza olanak tanır. Bir kök sertifika yetkilisi oluşturmak, OpenVPN için sertifika istemek ve imzalamak için kullanılır.
Aşağıdaki komut ile Git reposu üzerinden indirebilirsiniz.
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
İndirme işlemi tamamlandıktan sonra tar yardımıyla arşivden dosyaları çıkartın.
tar -xvzf EasyRSA-3.0.8.tgz
Çıkarttığınız dizini OpenVPN dizinine kopyalayın.
cp -r EasyRSA-3.0.8 /etc/openvpn/easy-rsa
Bu adımdan itibaren EasyRSA server'ınıza yüklenmiş olacaktır.
Şimdi sıra geldi OpenVPN için sertifika yetkilisi (CA) oluşturmaya. İlk olarak EasyRSA dizinine aşağıdaki komut ile girin.
cd /etc/openvpn/easy-rsa
Ardından bu dizin içinde bir vars dosyası oluşturmanız gerekecek. Vars dosyası, Easy-RSA'nın yapılandırma için kaynak sağlayacağı basit bir dosyadır.
Aşağıdaki komut ile oluşturun.
nano vars
İhtiyacınıza göre değiştirerek aşağıdaki satırları ekleyin.
set _var EASYRSA "$PWD"
set _var EASYRSA_PKI "$EASYRSA/pki"
set _var EASYRSA_DN "cn_only"
set _var EASYRSA_REQ_COUNTRY "TURKEY"
set _var EASYRSA_REQ_PROVINCE "ISTANBUL"
set _var EASYRSA_REQ_CITY "ISTANBUL"
set _var EASYRSA_REQ_ORG "PC CERTIFICATE AUTHORITY"
set _var EASYRSA_REQ_EMAIL "[email protected]"
set _var EASYRSA_REQ_OU "PC EASY CA"
set _var EASYRSA_KEY_SIZE 2048
set _var EASYRSA_ALGO rsa
set _var EASYRSA_CA_EXPIRE 7500
set _var EASYRSA_CERT_EXPIRE 365
set _var EASYRSA_NS_SUPPORT "no"
set _var EASYRSA_NS_COMMENT "PC CERTIFICATE AUTHORITY"
set _var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set _var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set _var EASYRSA_DIGEST "sha256"
CTRL+X ile kaydedip çıkın.
Ardından aşağıdaki komutla ortak anahtar altyapısını başlatın.
./easyrsa init-pki
Aşağıdaki gibi bir çıktı alacaksınız:
Note: using Easy-RSA configuration from : /etc/ openvpn /easy-rsa/ vars
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/ openvpn /easy-rsa/ pki
Ardından ca.crt ve ca.key dosyası oluşturmak için build-ca komutunu çalıştırmanız gerekecek. Aşağıdaki komutla çalıştırabilirsiniz:
./easyrsa build-ca nopass
Aşağıdaki gibi bir çıktı alacaksınız ve bir kaç soru sorulacak:
Note: using Easy -RSA configuration from: /etc/openvpn/easy -rsa /vars
Using SSL: openssl OpenSSL 1.1 .1 f 31 Mar 2020
Enter New CA Key Passphrase:
Re -Enter New CA Key Passphrase:
Generating RSA private key, 2048 bit long modulus ( 2 primes)
... +++++
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .+++++
e is 65537 ( 0x010001 )
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.' , the field will be left blank.
-----
Common Name (eg: your user, host, or server name) or server name " target=" _blank "> Easy -RSA CA 365 days" target= "_blank" > vpnserver
Write out database with 1 new entries
Data Base Updated
Certificate created at: /etc/openvpn/easy -rsa /pki/issued/vpnserver.crt
Tüm sertifika ve anahtar dosyasını /etc/openvpn/server/ dizinine kopyalamanız gerekecek. Aşağıdaki komutu kullanarak kopyalayabilirsiniz:
cp pki/ca.crt /etc/openvpn/server/ cp pki/dh.pem /etc/openvpn/server/ cp pki/private/vpnserver.key /etc/openvpn/server/ cp pki/issued/vpnserver.crt /etc/openvpn/server/
Ardından istemci sistemi için bir sertifika ve anahtar dosyası oluşturmanız gerekecektir.
Aşağıdaki komut ile oluşturabilirsiniz:
./easyrsa gen-req vpnclient nopass
Aşağıdaki gibi bir çıktı almalısınız:
Note: using Easy-RSA configuration from : /etc/openvpn/easy-rsa/vars
Using SSL: openssl OpenSSL 1.1 . 1 f 31 Mar 2020
Generating a RSA private key
....+++++
.................................+++++
writing new private key to '/etc/openvpn/easy-rsa/pki/easy-rsa-1563.TeOf5v/tmp.i4YxLz'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) 365 days " target=" _blank "> vpnclient
Write out database with 1 new entries
Data Base Updated
Certificate created at: /etc/openvpn/easy-rsa/pki/issued/vpnclient.crt
Ardından tüm client sertifika ve anahtar dosyalarını /etc/openvpn/client dizinine kopyalayın.
cp pki/ca.crt /etc/openvpn/client/ cp pki/issued/vpnclient.crt /etc/openvpn/client/ cp pki/private/vpnclient.key /etc/openvpn/client/
Bu noktada hem client hem de server sertifikası ve anahtarı hazır. Şimdi bir OpenVPN yapılandırma dosyası oluşturmamız ve tüm sertifikaları ve anahtarları tanımlamamız gerekiyor.
nano /etc/openvpn/server.conf
Aşağıdaki Satırları Ekleyin:
port 1194
proto udp
dev tun
ca /etc/ openvpn /server/ ca.crt
cert /etc/ openvpn /server/ vpnserver.crt
key /etc/ openvpn /server/ vpnserver.key
dh /etc/ openvpn /server/ dh.pem
server 10.8 . 0.0 255.255 . 255.0
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
duplicate-cn
cipher AES- 256 -CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES- 256 -GCM-SHA384:TLS-DHE-RSA-WITH-AES- 256 -CBC-SHA256:TLS-DHE-RSA-WITH-AES- 128 -GCM-SHA256:TLS-DHE-RSA-WITH-AES- 128 -CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
compress lz4
daemon
user nobody
group nogroup
log- append /var/ log/openvpn.log
verb 3
Dosyayı kaydedip kapatın ve ardından OpenVPN server servisini başlatın.
systemctl start openvpn@server systemctl enable openvpn@server
Her şey yolunda gittiyse yeni bir arayüz oluşturulmuş olması gerekiyor. Aşağıdaki komut ile kontrol edebilirsiniz:
ip a show tun0
Aşağıdaki gibi bir çıktı alacaksınız:
4 : tun 0 : mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link /none
inet 10.8.0.1 peer 10.8.0.2 / 32 scope global tun 0
valid_lft forever preferred_lft forever
inet6 fe 80 :: 153 d:f 29 : 39 a 2 : 571 a/ 64 scope link stable-privacy
valid_lft forever preferred_lft forever
IP yönlendirme, işletim sisteminizin gelen ağ paketlerini kabul etmesini ve diğer ağa iletmesini sağlar. Aşağıdaki komutla etkinleştirin:
nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
Dosyayı kaydedip kapatın ve değişiklikleri uygulamak için aşağıdaki komutu kullanın:
sysctl -p
Buraya kadar geldiyseniz artık farklı bir sisteme OpenVPN client kurulumu gerçekleştirip konfigüre etmeniz gerekmektedir.
İlk olarak aşağıdaki komut ile OpenVPN yükleyin:
apt -y install openvpn
Yüklendikten sonra tüm client sertiifka ve anahtar dosyalarını OpenVPN serverdan çekmemiz gerekiyor. Aşağıdaki komut ile alabilirsiniz:
scp -r root@vpn-server-ip:/etc/openvpn/client .
Ardından dizini client olarak değiştirin ve Client konfigürasyon dosyası oluşturun:
cd client nano client.ovpn
Aşağıdaki satırları ekleyin:
client
dev tun
proto udp
remote vpn-server-ip 1194
ca ca.crt
cert vpnclient.crt
key vpnclient.key
cipher AES- 256 -CBC
auth SHA 512
auth -nocache
tls -version-min 1 . 2
tls -cipher TLS-DHE-RSA-WITH-AES- 256 -GCM-SHA 384 :TLS-DHE-RSA-WITH-AES- 256 -CBC-SHA 256 :TLS-DHE-RSA-WITH-AES- 128 -GCM-SHA 256 :TLS-DHE-RSA-WITH-AES- 128 -CBC-SHA 256
resolv -retry infinite
compress lz 4
nobind
persist -key
persist -tun
mute -replay-warnings
verb 3
Kaydedip kapatın ve ardından konfigürasyon dosyanız ile OpenVPN server'ınıza bağlanın:
openvpn --config client.ovpn
Bağlantı sağlandığında aşağıdaki gibi bir çıktı alacaksınız:
Sat Feb 6 14 : 53 : 50 2021 SENT CONTROL 1 " target=" _blank "> vpnserver
Sat Feb 6 14 : 53 : 50 2021 PUSH : Received control message: 'PUSH_REPLY,redirect-gateway def1,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 20,ping-restart 60,ifconfig 10.8.0.6 10.8.0.5,peer-id 0,cipher AES-256-GCM'
Sat Feb 6 14 : 53 : 50 2021 OPTIONS IMPORT : timers and/or timeouts modified
Sat Feb 6 14 : 53 : 50 2021 OPTIONS IMPORT : --ifconfig/up options modified
Sat Feb 6 14 : 53 : 50 2021 OPTIONS IMPORT : route options modified
Aşağıdaki komut ile bağlantıyı doğrulayabilirsiniz:
ip a show tun0
Aşağıdaki gibi bir çıktı alacaksınız:
4 : tun 0 : mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link /none
inet 10.8.0.6 peer 10.8.0.5 / 32 scope global tun 0
valid_lft forever preferred_lft forever
inet6 fe 80 :: 9206 : 94 d 7 : 8 fb 2 : 6 b 21 / 64 scope link stable-privacy
valid_lft forever preferred_lft forever
Yukarıdaki çıktıyı alıyorsanız bağlantı tamamlanmış ve sorun yok anlamına gelmektedir.
İşletmeler ve sektörlerle ilgili konularda derinlemesine araştırma yapmak isteyen bir gazeteciyseniz, sizinle çalışmak istiyoruz!
PlusClouds Meraklısı