WireGuard - Linux için Hızlı, Modern ve Güvenli Bir VPN Tüneli
WireGuard modern, güvenli, platformlar arası ve en son teknolojiye sahip şifrelemeyi kullanan genel amaçlı bir VPN uygulamasıdır. IPsec'ten daha hızlı, daha basit, daha yalın ve daha işlevsel olmayı ve OpenVPN'den daha performanslı olmayı amaçlıyor.
Çeşitli durumlarda kullanılmak üzere tasarlanmıştır ve yerleşik arayüzlere, tam yüklü omurga yönlendiricilerine ve benzer şekilde süper bilgisayarlara dağıtılabilir; Linux, Windows, macOS, BSD, iOS ve Android işletim sistemlerinde çalışır.
Önerilen Okuma: Ömür Boyu Abonelik ile En İyi 13 VPN Hizmeti
SSH kadar basit, yapılandırılması ve dağıtılması kolay olmayı hedefleyen son derece basit ama güçlü bir arayüz sunar. Temel özellikleri arasında basit bir ağ arayüzü, kripto anahtar yönlendirmesi, yerleşik dolaşım ve konteyner desteği yer alır.
Yazma sırasında yoğun bir geliştirme aşamasında olduğunu unutmayın: bazı parçaları kararlı bir 1.0 sürümüne doğru çalışırken diğerleri zaten orada (iyi çalışıyor).
Bu makalede, iki Linux ana bilgisayarı arasında bir VPN tüneli oluşturmak için Linux'ta WireGuard'ı nasıl kuracağınızı ve yapılandıracağınızı öğreneceksiniz.
Test Ortamı
Bu kılavuz için kurulumumuz (ana bilgisayar adı ve genel IP) aşağıdaki gibidir:
Node 1 : tecmint-appserver1: 10.20.20.4
Node 2 : tecmint-dbserver1: 10.20.20.3
Linux Dağıtımlarında WireGuard Nasıl Kurulur
Her iki düğümünüzde de oturum açın ve aşağıdaki Linux dağıtımlarınıza uygun komutu kullanarak WireGuard'ı yükleyin.
WireGuard'ı RHEL 8'e yükleyin
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools
WireGuard'ı CentOS 8'e yükleyin
sudo yum install epel-release
sudo yum config-manager --set-enabled PowerTools
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools
WireGuard'ı RHEL/CentOS 7'ye yükleyin
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum install wireguard-dkms wireguard-tools
WireGuard'ı Fedora'ya yükleyin
sudo dnf install wireguard-tools
WireGuard'ı Debian'a yükleyin
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard
WireGuard'ı Ubuntu'ya yükleyin
sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard
WireGuard'ı OpenSUSE'ye yükleyin
sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
sudo zypper install wireguard-kmp-default wireguard-tools
İki Linux Ana Bilgisayarı Arasında WireGuard VPN Tüneli Yapılandırma
Her iki düğümde de wireguard kurulumu tamamlandığında, her iki düğümde de aşağıdaki komutu kullanarak düğümlerinizi yeniden başlatabilir veya Linux çekirdeğinden wireguard modülünü ekleyebilirsiniz.
sudo modprobe wireguard
OR
modprobe wireguard
Daha sonra gösterildiği gibi her iki düğümde de wg yardımcı programını kullanarak base64 kodlu genel ve özel anahtarlar oluşturun.
---------- On Node 1 ----------
umask 077
wg genkey >private_appserver1
---------- On Node 2 ----------
umask 077
wg genkey >private_dbserver1
wg pubkey < private_dbserver1
Daha sonra, aşağıda gösterildiği gibi eşler üzerinde wiregaurd için bir ağ arayüzü (örn. wg0) oluşturmanız gerekir. Daha sonra oluşturulan yeni ağ arayüzüne IP adresleri atayın (bu kılavuz için 192.168.10.0/24 ağını kullanacağız).
---------- On Node 1 ----------
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.1/24 dev wg0
---------- On Node 2 ----------
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.2/24 dev wg0
Eşlerdeki bağlı ağ arayüzlerini ve bunların IP adreslerini görüntülemek için aşağıdaki IP komutunu kullanın.
ip ad
Daha sonra, her eş için özel anahtarı wg0 ağ arayüzüne atayın ve arayüzü gösterildiği gibi açın.
---------- On Node 1 ----------
sudo wg set wg0 private-key ./private_appserver1
sudo ip link set wg0 up
---------- On Node 2 ----------
sudo wg set wg0 private-key ./private_dbserver1
sudo ip link set wg0 up
Artık her iki bağlantı da kendileriyle ilişkilendirilmiş özel anahtarlarla hazır olduğuna göre, eşlerdeki WireGuard arayüzlerinin yapılandırmasını almak için herhangi bir argüman olmadan wg yardımcı programını çalıştırın. Daha sonra Wireguard VPN tünelinizi aşağıdaki gibi oluşturun.
Eş (genel anahtar), izin verilen IP'ler (ağ/alt ağ maskesi) ve uç nokta (genel ip:bağlantı noktası) karşı eşindir .
---------- On Node1 (Use the IPs and Public Key of Node 2) ----------
sudo wg
sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24 endpoint 10.20.20.3:54371
---------- On Node2 (Use the IPs and Public Key of Node 1) ----------
sudo wg
sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint 10.20.20.4:42930
Linux Sistemleri Arasında WireGuard VPN Tünelinin Test Edilmesi
Wireguard VPN tüneli oluşturulduktan sonra, wireguard ağ arayüzünün adresini kullanarak karşı eşe ping atın. Ardından, gösterildiği gibi eşler arasındaki el sıkışmayı onaylamak için wg yardımcı programını bir kez daha çalıştırın.
---------- On Node 1 ----------
ping 192.168.10.2
sudo wg
---------- On Node 2 ----------
ping 192.168.10.1
sudo wg
Şimdilik bu kadar! WireGuard geleceğe yönelik modern, güvenli, basit ama güçlü ve yapılandırması kolay bir VPN çözümüdür. Ağır bir gelişme geçiriyor, dolayısıyla çalışmalar devam ediyor. Özellikle dahili iç işleyişi ve diğer konfigürasyon seçenekleri hakkında daha fazla bilgiye WireGuard ana sayfasından ulaşabilirsiniz.