İnternet servis sağlayıcınızın (ISP) özel bir IP adresi sağlayacak kadar şanslıysanız, bir ev sunucusu kurabilir ve yönlendiriciye birkaç bağlantı noktası yönlendirme kuralı (iletme ) ekleyerek bunu İnternet'te kullanılabilir hale getirebilirsiniz. Ancak İSS'niz sizi bu IP'yi komşularınızla paylaşmaya zorlarsa, bağlantı noktası yönlendirmenin faydası olmaz. Diğer sağlayıcılar, gelen bağlantıları güvenlik duvarı kuralları aracılığıyla engeller.
Kullanıcılar sanal özel sunucular yardımıyla tüm bu kısıtlamaların üstesinden gelebilirler. Her şey 512 MB'tan daha az RAM ile çalışacaktır çünkü tek yapması gereken ağ trafiğini yeniden yönlendirmektir. Fazla RAM ve CPU tüketmez. Sunucu gelen bağlantıları alacak ve bunları bir “ ters SSH tüneli ” aracılığıyla bilgisayara yönlendirecektir . Bu şekilde çok küçük bir aylık maliyetle her türlü ev sunucusunu kurabilirsiniz.
Dosyaları yüklemek veya senkronize etmek için bir NextCloud sunucusu oluşturduğunuzu düşünün. Dosyalarınızın gizliliğini ev sunucunuzdayken koruyacaksınız ve gerekirse depolama kapasitesini artırmak için 6 TB'lık bir sabit disk satın alabilirsiniz. Sanal bir özel sunucunun aylık elektrik faturası ayda 5 ABD dolarından (115.000 VND) azdır. 6TB kapasiteli bir sunucunun aylık faturasından daha ucuz.
Not : Bu yöntem yalnızca TCP ağ trafiğini yeniden yönlendirmek için kullanılır. TCP, web sunucusu tarafından kullanılır (bağlantı noktası 80/tcp). UDP, bazı (ama hepsi değil) oyun sunucuları tarafından kullanılır, örneğin Counter Strike (port 27015/UDP). UDP tünelleme de mümkündür ancak bazı hileler gerektirir.
PC'ye harici bağlantıya izin verir
Windows 10'da artık yerleşik bir SSH istemcisi var
SSH bağlantılarını başlatmak için artık PuTTY kullanmanıza gerek yok . Bu eğitimde tüneli kurmak için yerleşik SSH istemcisini kullanacağız. Daha fazla bilgi edinmek için LuckyTemplates'in Windows 10'a OpenSSH nasıl yüklenir makalesini okuyun .
Tünel bağlantısı için sanal özel sunucuyu hazırlayın
Favori sağlayıcınızla sanal bir özel sunucu oluşturun. En önemli şey, ağ gecikmesini en aza indirmek için mümkün olduğunca yakın bir sunucu konumu seçmektir. Sunucuyu, daha güvenli olduğu için tercihen bir SSH anahtarıyla doğrudan kök hesaba giriş yapabileceğiniz şekilde kurmaya çalışın. Ayrıcalıklı bağlantı noktaları olarak da bilinen, 1024'ün altındaki bağlantı noktalarında sunucunun gelen bağlantıları "dinlemesini" istiyorsanız bu gereklidir.
Komut istemini (veya Linux kullanıyorsanız terminali) açın ve SSH aracılığıyla sunucuda oturum açın.
OpenSSH sunucu ayarlarını düzenleyin:
nano /etc/ssh/sshd_config
Eğer root olarak değil de normal bir kullanıcı olarak oturum açtıysanız, dosyayı kaydedebilmek için bu komutu kullanmanız gerekecektir:
sudo nano /etc/ssh/sshd_config
GatewayPorts adlı değişkeni bulana kadar aşağı kaydırın . Bu satır şöyle görünebilir:
#GatewayPorts no
# öğesini kaldırın (yorumdan programın bir bölümüne değiştirmek için) ve satırı şu şekilde değiştirin:
GatewayPorts yes
Bu satırı bulamazsanız, aşağıya doğru kaydırın ve satırı kendiniz ekleyin:
GatewayPorts yes

Dosyayı kaydetmek için Ctrl + X tuşlarına basın , ardından y tuşuna ve son olarak Enter tuşuna basın.
Yeni ayarları alması için SSH arka plan programını yeniden yükleyin.
systemctl reload ssh.service
SSH oturumundan çıkın.
exit
Ters SSH Tüneli nasıl kurulur
Komut parametreleri Linux, Windows ve hatta BSD'de aynıdır. Genel sözdizimi şöyledir:
ssh -R remote_port:host:localport your_username@IP-of-server
- Remote_port, sunucuya bağlantıları o bağlantı noktasında kendisine yönlendirmesini söyler.
- Ana bilgisayar, sunucuya bağlantının yönlendirileceği IP adresini bildirir. Burada kullanıcının kendi bilgisayarına yönlendirme yapmak için 127.0.0.1 kullanılacaktır.
- localport, hangi bağlantı noktası paketlerinin yeniden yönlendirilmesi gerektiğini bildirir. Burada kullanıcı, yerel bilgisayarda kurulu uygulamanın “dinlediği” port numarasını ayarlamalıdır.
Örneğin, 80 numaralı bağlantı noktasındaki (sunucuya) tüm bağlantıları iletmek ve bunları yerel bilgisayardaki 8080 numaralı bağlantı noktasına göndermek için komut şöyle olacaktır:
ssh -R 80:127.0.0.1:8080 root@203.0.113.1
Bu, yerel olarak 8080 numaralı bağlantı noktasını dinleyen Apache veya Nginx gibi bir web sunucunuz olduğunu varsayar. Ancak Apache/Nginx varsayılan 80 numaralı bağlantı noktasını dinliyorsa, önceki komutta aynı bağlantı noktasını iki kez kullanmakta sorun yoktur (çünkü başka bir sunucudaki 80 numaralı bağlantı noktasına atıfta bulunuyorlar).
ssh -R 80:127.0.0.1:80 root@203.0.113.1
Bu noktada, birisi sanal özel sunucunuzun IP adresini tarayıcısının adres çubuğuna girerse , bağlantısı yeniden yönlendirilecek ve yerel bilgisayarınız tarafından işlenecektir.
![PC'ye harici bağlantılara izin vermek için Ters SSH Tüneli nasıl kullanılır? PC'ye harici bağlantılara izin vermek için Ters SSH Tüneli nasıl kullanılır?]()
Yukarıdaki görselde Chrome için varsayılan olarak 8887 numaralı bağlantı noktasını dinleyen basit bir web sunucusu kullanılmıştır. Kullanıcılar uygulamayı yükleyip ardından resimde gösterildiği gibi komutu kullanarak bu kurulumu kendileri deneyebilirler.
Tünelin aktif kalması için SSH oturumunun aktif kalması gerektiğini belirtmekte fayda var. Tüneli kapatmak için Terminal veya Komut İstemi penceresine çıkış yazın.
Gördüğünüz gibi ters SSH tüneli oluşturmak zor değil ancak bir web sitesinin güvenliğini sağlamak farklıdır. Dolayısıyla, yerel NextCloud sunucusu gibi bir fikri uygulamayı seçerseniz, onu en azından bir sanal makinede izole edin. Bu şekilde, web sitesi saldırıya uğrarsa, en azından işletim sisteminin geri kalanı zarar görmez.
Unutulmaması gereken bir diğer önemli nokta da, kaybetme riskini almak istemediğiniz şeyleri her zaman yedeklemenizdir!
Umarım başarılısınızdır.