OpenVPN ile Kendi Özel Ağınızı Kurun

Vultr, aynı yerde çalışan sunucular için harika özel ağ bağlantısı sunar. Ancak bazen farklı ülkelerdeki / veri merkezlerindeki iki sunucunun özel ve güvenli bir şekilde iletişim kurabilmesini istersiniz. Bu eğitimde, OpenVPN yardımıyla bunu nasıl başaracağınız gösterilecektir. Burada kullanılan işletim sistemleri, sadece iki farklı yapılandırma göstermek için Debian ve CentOS'tur. Bu Debian -> Debian, Ubuntu -> FreeBSD ve benzeri için kolayca uyarlanabilir.

  • Makine 1: Debian, sunucu olarak görev yapacak (Konum: NL)
  • Makine 2: CentOS, istemci olarak hareket edecek (Konum: FR)

Makine 1

OpenVPN'i kurarak makine 1'de başlayın:

apt-get install openvpn

Ardından, örnek yapılandırma ve üretme anahtarlarının aracını kopyalamak easy-rsaiçin /etc/openvpn:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

Bu açık ayarı /etc/openvpn/easy-rsa/2.0/varsfavori metin düzenleyicinizle düzeltmek ve aşağıdaki satırı değiştirmek için anahtarlarınız için varsayılan değerler artık tam olarak güvenli değildir :

export KEY_SIZE=4096

Ardından, değerlerin mevcut oturumunuza yüklendiğinden emin olun, sonunda var olan anahtarları temizleyin ve sertifika yetkilinizi oluşturun:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

Sizden bilgi istenecektir. Sunucunuz hakkında, örneğin nerede bulunduğu ve FQDN'nin ne olduğu / ne olacağı hakkında bilgi sağlayarak hayatınızı kolaylaştırın. Bu, sorunları ayıklamanız gerektiğinde kullanışlıdır:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Diğer bir zorunluluk Diffie-Hellman anahtar değişimi için parametrelerdir. Bunların da üretilmesi gerekiyor:

./build-dh

Önemli : build-dhKomut, sunucunuzun kaynaklarına bağlı olarak on dakika kadar sürebilen nispeten karmaşık bir işlemdir.

Bu bağlantının güvenliğini daha da artırmak için, tüm istemciler arasında dağıtılması gereken statik bir sır üreteceğiz:

mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key

Şimdi sunucu için anahtar oluşturabilirsiniz:

./build-key-server server1

Bu komut bazı bilgiler ister:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Son adım, CA'nın anahtarıyla yeni oluşturulan sertifika isteğini imzalamaktır:

1 out of 1 certificate requests certified, commit? [y/n]y

Gerekli anahtarları ve sertifikaları ayrı bir klasöre kopyalayın:

cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*

Şimdi yapılandırma için sıkıştırmayı açın ...

cd /etc/openvpn
gunzip server.conf.gz

... ve sonucu server.conffavori metin düzenleyicinizle açın. Yapılandırma şuna benzer olmalıdır:

port 1194
proto udp
dev tun

ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key 
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client

keepalive 10 120
tls-auth keys/ta.key 0 

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
verb 3
mute 20

Hizmeti yeniden başlattıktan sonra günlüğünüzü biraz izlemelisiniz ...

service openvpn restart && tail -f /var/log/syslog

... her şeyin çalıştığından emin olmak için. Hiçbir hata algılanmazsa, ikinci sunucunuz için anahtarlar oluşturabilirsiniz:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2

Yine, sizden bilgi istenecektir:

Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) 
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [mail@host.domain]:youraddress@yourdomain.tld

Şimdi, gerekli dosyaları tercihen şifrelenmiş ikinci sunucunuza aktarmanız gerekir:

cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar

Makine 2

İkinci sunucunuzun SSH bağlantısına geçme zamanı . İlk adım OpenVPN'yi kurmaktır ...

yum install openvpn

... ve devre dışı bırakmak için firewalld. Değiştirme düz iptables olacak.

systemctl stop firewalld
systemctl disable firewalld

Sunucuya yeni taşıdığınız arşivi paketinden çıkarın ve dosyalar üzerinde uygun izinleri ayarlayın:

cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *

Oluşturma /etc/openvpn/client.confsevdiğiniz metin editörü ile. Şöyle görünmelidir:

client
dev tun
proto udp

remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn


persist-key
persist-tun

ca keys/ca.crt
cert keys/server2.crt
key keys/.key

ns-cert-type server
tls-auth keys/ta.key 1

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384

remote-cert-tls server

comp-lzo
verb 3
mute 20

Son adım, hizmeti başlatmak ve etkinleştirmektir:

systemctl start openvpn@client.service
systemctl enable openvpn@client.service

Her şey çalışıyorsa, ilk sunucuya ping işlemi yaparken sorun yaşamamanız gerekir:

PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms

Artık İnternet üzerinden özel bir bağlantınız var!

Herhangi bir hatayı gidermeniz gerekiyorsa, günlükleri aşağıdaki komutla kontrol etmeyi deneyin:

journalctl -xn

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.