TR7'den bir sunucunun portuna erişilip erişilmediğini nasıl test ederim?
Kısa cevap
WEB-CLI'da önce sys-cmd route-table set ile Kurum Servisinin Route Table değeri seçilir. Ardından sys-cmd nmap ile (sys-cmd nmap -Pn -p <port> <adres>) portun open, closed ya da filtered olduğu görülür: closed hedefte o portu dinleyen servis olmadığını, filtered aradaki ya da hedefteki bir güvenlik duvarının paketi düşürdüğünü işaret eder. Porta elle bağlanıp servisin ilk yanıtını görmek için sys-cmd telnet (sys-cmd telnet <adres> <port>) kullanılır; Connected to … bağlantının kurulduğunu, Connection refused portta dinleyen servis olmadığını gösterir. Sistem komutları yalnızca User Type'ı Admin olan kullanıcıda çalışır.
Sorun: Sunucuya TR7'nin Ağından Ulaşılıyor mu?
Kurum Servisi health check'te down görünüyor ya da vService 503 dönüyor; sunucu ise kendi üzerinde çalışıyor görünüyor. Sorunun sunucuda mı, yoldaki bir güvenlik duvarında mı, yoksa yanlış port ya da route table'da mı olduğunu ayırmak için porta, istemcinin bilgisayarından değil TR7'nin kendi ağından bağlanılması gerekir.
Çözüm: İki Yöntem
İki komut birbirini tamamlar: port durumunu nmap, servisin ilk yanıtını telnet gösterir. İkisi de WEB-CLI'da seçili route table'dan çalışır.
| Durumunuz | Uygun yöntem |
|---|---|
| Portun açık mı, kapalı mı, filtreli mi olduğunu öğrenmek istiyorum; birden çok portu birlikte denetleyeceğim | Yöntem 1: sys-cmd nmap |
| Porta bağlanıp servisin ne yanıt verdiğini görmek istiyorum | Yöntem 2: sys-cmd telnet |
| Sunucunun HTTP yanıtını ve durum kodunu görmek istiyorum | sys-cmd curl → Backend'e doğrudan erişince çalışıyor, TR7 üzerinden çalışmıyor; neden? |
Yöntem 1: sys-cmd nmap Önerilen
- Nasıl çalışırsys-cmd nmap seçili route table'dan hedefin portlarını tarar ve her port için
open,closedya dafilteredsonucunu yazar; tarama bitince kendiliğinden kapanır. - Nerede açılırWEB-CLI
- GereksinimUser Type'ı Admin olan kullanıcı; sistem komutları yalnızca bu kullanıcı tipinde çalışır (System Commands).
- Kapsam Cihaz geneli; vService'e bağlı değildir. Sonuç, seçili route table'dan görülen durumdur.
Adım adım yapılandırma
Kurum Servisinin Route Table alanındaki değer seçilir; cihazın kendisi için v-device alanına Host yazılır, route table adı Tab listesinden alınır:
sys-cmd route-table set v-device Host route-table <route-table>Geçerli seçim sys-cmd route-table show ile görülür (route-table show).
Örnekte 192.0.2.21 adresli sunucunun 8080 ve 8443 portları taranır; -Pn hedefin ayakta olup olmadığını önce ICMP ile sınamaz, ICMP'yi engelleyen sunucularda gerekir:
sys-cmd nmap -Pn -p 8080,8443 192.0.2.21Port aralığı -p 8000-8100 biçiminde yazılır. Servisin adını ve sürümünü de görmek için -sV eklenir; UDP portu için -sU kullanılır (sık kullanılan parametreler).
| Sonuç | Anlamı | Bakılacak yer |
|---|---|---|
open | Porta ulaşıldı ve bir servis yanıt verdi | Health check ya da vService ayarları (Backend down görünüyor; nasıl teşhis ederim?) |
closed | Porta ulaşıldı ama dinleyen servis yok | Sunucudaki servis ya da Kurum Servisinin Port değeri |
filtered | Deneme paketine yanıt gelmedi | Yoldaki ya da sunucudaki güvenlik duvarı, route table seçimi |
Doğrulama
sys-cmd nmap çıktısındaki port satırına bakılır.
Komut: sys-cmd nmap -Pn -p 8080 192.0.2.21
8080/tcp open| to-file ile dosyaya yazılabilir; destek kaydına eklenmek üzere saklanır.Yöntem 2: sys-cmd telnet
- Nasıl çalışırsys-cmd telnet seçili route table'dan hedefin portuna TCP bağlantısı açan etkileşimli bir istemcidir; bağlantı kurulduysa yazılan her satır sunucuya gönderilir ve yanıtı ekranda görülür.
- Nerede açılırWEB-CLI
- GereksinimUser Type'ı Admin olan kullanıcı.
- Kapsam Tek bir adres ve port; vService'e bağlı değildir.
Adım adım yapılandırma
Yöntem 1'in 1. adımındaki gibi sys-cmd route-table set v-device Host route-table <route-table> çalıştırılır.
Adres ve port boşlukla ayrılarak yazılır:
sys-cmd telnet 192.0.2.21 8080telnet tam bir uçbirim oturumu açar; Ctrl+C gibi tuşlar CLI'a değil araca gider ve komuttan sonra | yazılamaz.
Birçok servis önce istemcinin konuşmasını bekler; bağlantıdan sonra ekranın boş kalması hata değildir. HTTP servisinde istek elle yazılır, ardından boş bir satır için Enter'a basılır:
GET /health HTTP/1.1
Host: www.example.comCtrl+] ile aracın komut satırına geçilir ve quit yazılır. Sunucu bağlantıyı kapattığında oturum kendiliğinden biter.
Doğrulama
Komuttan hemen sonraki satıra bakılır.
Komut: sys-cmd telnet 192.0.2.21 8080
Connected to 192.0.2.21Connection refused portta dinleyen servis olmadığını gösterir; uzun bekleyip zaman aşımına düşmesi paketin yolda ya da hedefte bir güvenlik duvarınca düşürülüyor olabileceğini gösterir.Sık Yapılan Hatalar
- Testi yanlış route table'dan yapmak. Yalıtılmış bir route table'daki sunucu varsayılan bağlamdan denendiğinde erişim yokmuş gibi görünür; teşhise başlamadan önce
sys-cmd route-table showile bağlam doğrulanır. pingyanıt verdiği için portun açık olduğunu düşünmek.pingyalnızca adrese ulaşıldığını gösterir; servis portu ayrıcanmapya datelnetile denenir.- TLS portunda
telnetile anlamlı yanıt beklemek. 443 gibi portlarda bağlantı kurulur ama düz metin yanıt almaz; TLS denetimi için sys-cmd sslscan kullanılır (Bir sunucunun desteklediği TLS sürümlerini ve cipher'ları TR7'den nasıl test ederim?). - Geniş port aralıklarını ve alt ağları taramak. Tarama sunucularda yük oluşturabilir ve saldırı tespit sistemlerini tetikleyebilir; yalnızca gereken adres ve port taranır.
- Sonucu Kurum Servisinin SNAT adresine genellemek.
nmapvetelnetKurum Servisinin SNAT ayarını kullanmaz; SNAT'ta özel bir adres seçiliyse sunucunun güvenlik duvarında o adrese de izin verildiği ayrıca kontrol edilir.
Dokümantasyonda nasıl yapılır
