Belgeler

Hızlı başlangıç + her bölüm ve her cihaz için işlev açıklamaları (sürekli güncelleniyor)

NAT sunucusu algılama ve tünelleme önerisi

Bu belge, panelin NAT sunucularını nasıl otomatik tanıdığını, «portu ayarlanabilen NAT» ile «portu ayarlanamayan NAT» arasındaki ayrımı ve gerektiğinde kullanıcının tünelleme ile yönetime nasıl yönlendirildiğini açıklar.

Önce şunu anlayın: NAT nedir

NAT sunucusu, «yalnızca iç ağ IP'si olan, bağımsız genel IP'si olmayan» sunucudur. Örneğin pek çok ucuz NAT VPS'te sağlayıcı size bir iç ağ adresi verir (örneğin 192.168.x.x); ona genel ağdan doğrudan erişemezsiniz, yalnızca sağlayıcının sunduğu port eşlemesi (genel ağdaki bir portu sizin iç ağınıza yönlendirme) üzerinden erişebilirsiniz.

İşlev özeti

Sunucu eklendikten sonra, SSH bağlantısı kurulduğunda panel bu makinenin NAT tipi olup olmadığını (makinede yalnızca iç ağ adresi bulunup bağımsız genel IP bulunmaması) otomatik algılar. NAT algılandığında sunucu kartında küçük bir rozet gösterilir ve «Genel bakış» görünümünün üstünde toplu bir açıklama görüntülenir. Kullanıcı sarı rozete tıklayarak bu NAT sunucusunda sağlayıcı panelinden port yönlendirme ayarlanıp ayarlanamayacağını onaylayabilir ve böylece tünelleme ile yönetimin gerekip gerekmediğine karar verebilir.

NAT ayrımı neden gerekli

«İç ağ IP'si» ≠ «tünelleme gerekir». NAT sunucuları iki sınıfa ayrılır:

TipÖzellikTünelleme gerekir mi
Portu ayarlanabilen NATSağlayıcı bir port eşleme paneli sunar; kullanıcı genel bir portu iç ağ portuna kendisi eşleyebilir❌ Gerekmez, portu kendiniz halledebilirsiniz
Portu ayarlanamayan NATSağlayıcı yalnızca SSH(22) gibi birkaç portu sabit eşlemiştir; diğer portlar genel ağdan giremez✅ Tünelleme ile yönetim gerekir

Yalnızca «portu ayarlanamayan NAT» için tünelleme ile yönetim gerekir. Portu ayarlanabilen NAT'ta portu kendiniz eşleyebilirsiniz; kullanımı genel IP'li bir makineden farksızdır ve sürekli uyarı gösterilmemelidir.

Algılama mantığı

Panel, SSH bağlantısı başarıyla kurulduktan sonra salt okunur ip -4 addr show komutunu çalıştırarak sunucunun yerel ağ kartı IP'sini okur ve tümünün iç ağ aralığına girip girmediğini değerlendirir:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 100.64.0.0/10 (CGNAT, operatör düzeyi NAT)
  • 127.0.0.0/8, 169.254.0.0/16, 0.0.0.0/8

Herhangi bir genel ağ aralığı IP'si varsa «genel IP var» (NAT değil), tümü iç ağ aralığındaysa «NAT» olarak değerlendirilir.

> Algılama komutu salt okunurdur; sunucunun hiçbir durumunu değiştirmez. Algılama sonucu veritabanına yazılır ve yalnızca ilk bağlantıda bir kez algılanır; sonrasında sonuç doğrudan kullanılır ve bağlantı yavaşlatılmaz.

Rozetler ve açıklamaların konumu

NAT algılandığında uyarı iki yerde gösterilir:

1. Sistem yönetimi panelinin «Genel bakış» sekmesi: Bir sunucu kartındaki «Sistem yönetimi»ne tıklayıp panele girdikten sonra ilk sekme olan «Genel bakış»ta ilgili NAT uyarı şeridi görüntülenir — sarı işaretli sunucularda sarı açıklama (işareti kaldırma yönergesiyle birlikte), kırmızı işaretli sunucularda kırmızı tünelleme yönlendirmesi gösterilir. Uyarı yalnızca NAT olan ve onaylanmamış doğrudan bağlantılı sunucularda görünür, kartı sıkıştırmaz.

2. Karttaki küçük rozet: Kartta yalnızca küçük bir rozet tutulur; üç durumu vardır:

RozetRenkAnlamıTıklama davranışı
NATSarıNAT algılandı (yerel IP iç ağ aralığında), onay bekliyorOnay kutusu açılır
Tünelleme gerekirKırmızıPorta genel ağdan erişilemiyor, tünelleme gerekiyorTünelleme ile yönetim yönlendirmesi açılır
(rozet yok)—«Portta sorun yok» olarak onaylandı, işaret kaldırıldı—

Sarı NAT rozeti «onay bekliyor» durumudur: Tıklandığında açılan onay kutusunda iki seçenekten biri seçilebilir:

  • «Portta sorun yok, işareti kaldır» → rozet kaybolur, bir daha uyarı gösterilmez;
  • «Porta erişilemiyor, tünelleme gerekli olarak işaretle» → rozet kırmızıya döner ve tünelleme ile yönetime yönlendirir.

Kırmızı Tünelleme gerekir bir «uyarı»dır: Tıklayınca doğrudan tünelleme ile yönetim + port tünellemeye gider.

> «Porta erişilebiliyor mu» otomatik algılama neden yapılmıyor: Panel sunucusu ile hedef sunucu aynı veri merkezinde olabilir; panelin algılaması iç ağdan geçer, «erişilebilir» çıkması dışarıdaki bir ziyaretçinin erişebileceği anlamına gelmez, sonuç güvenilir değildir. Bu nedenle «tünelleme gerekir» işaretini kullanıcı sarı açıklama penceresinden elle koyar.

NAT sunucuları neden «bir süre kullanıldıktan sonra kopar»

NAT sunucularının sağlayıcı ağ geçidinde bir idle timeout (boşta bağlantı zaman aşımı) vardır. SSH bağlantısı birkaç dakika boşta kalınca ağ geçidi bağlantıyı sessizce keser (TCP yarı açık) ve iki taraf da bunu fark etmez.

Panel bunu şu iki noktayla kökten çözer:

1. SSH bağlantısında keepalive açılır: Tüm bağlantılar kurulduktan sonra her 30 saniyede bir canlılık paketi gönderilir; hem NAT'ın boşta kesmesi önlenir hem de yarı ölü bağlantılar zamanında fark edilir.

2. Bağlantı havuzu düzenli olarak temizlenir: Arka plan iş parçacığı her 2 dakikada bir, 2 dakikadan uzun süredir boşta olan bağlantıları kapatır; yarı ölü bağlantıların sınırsız birikmesi engellenir.

Dikkat edilecekler

1. Algılama, SSH bağlantısının başarılı olmasına bağlıdır: Sunucu çevrimdışıysa veya parola yanlışsa algılama yapılamaz ve rozet gösterilmez.

2. Rozet gösterilmeyen sunucular: Genel IP'li sunucular, Android cihazlar (Termux) ve tünellemesi kurulmuş cihazlar (tunnel_token olanlar) NAT rozetini göstermez — zaten kendi kanallarını kullanırlar, NAT uyarısı gerekmez.

3. Özel durumlara pay bırakılır: Çok az görülen «1:1 NAT» (tüm portları açık sunucular) durumunda yerel IP de iç ağdadır ve NAT olarak algılanır. Bu durumda kullanıcı onay kutusunda «sorun yok» seçeneğini seçtiğinde kullanım etkilenmez.

4. Onaydan sonra değiştirilebilir: Rozet durumunu kullanıcının onayı belirler; rozete tıklayarak istendiği zaman değiştirilebilir.

İlgili belgeler