Portlar ve güvenlik duvarı

Windows Server'da PowerShell ile port nasıl açılır

Windows güvenlik duvarında gelen ve giden TCP ile UDP trafiğini iki satırla açın, kuralların doğru oluşturulduğunu kontrol edin ve bazen neden hâlâ çalışmadığını öğrenin.

3 dakikalık okumaSon güncelleme: 19 Ekim 2026

Windows VPS'te bir oyun sunucusu kurduğunuzda kimse bağlanamıyorsa suçlu neredeyse her zaman aynıdır: Windows güvenlik duvarı portu engelliyordur. Portu komutlarla nasıl açacağınızı aşağıda bulabilirsiniz; bu yol menülerde dolaşmaktan daha hızlıdır ve en önemlisi hata yapmadan kopyalayıp yapıştırılabilir.

VPS'te yapılandırmanız gereken bir modem ya da yönlendirici yoktur. Eğitimlerde göreceğiniz “port yönlendirme” (port forwarding) işlemini unutun: o, evdeki sunucular içindir. VPS'inizin kendine ait herkese açık bir IP adresi vardır; bu yüzden oyuncularınızla sunucunuz arasındaki tek engel Windows güvenlik duvarıdır.

Bir oyuncunun sunucunuza giden yolu: oyuncunun PC'si, internet, AntiDDoS filtresi, VPS'in güvenlik duvarı ve kendi portunu dinleyen sunucunuz
Bu adımlardan herhangi birinde port doğru protokolle açık değilse oyuncu sunucuya giremez.

PowerShell'i yönetici olarak açın

VPS'inize Uzak Masaüstü ile bağlanın (nasıl yapılacağını burada anlatıyoruz), Başlat düğmesine sağ tıklayın ve Terminal (Admin) ya da Windows PowerShell (Admin) seçeneğini seçin. Seçenekte “Admin” ibaresi yoksa komutlar bir izin hatasıyla başarısız olur.

Port açma: TCP ve UDP, gelen ve giden

Bu örnek 30120 portunu açar; numarayı ve adı kendinize göre değiştirin. Bloğun tamamını tek seferde yapıştırın:

$port = 30120
$ad = "Oyun sunucusu"

New-NetFirewallRule -DisplayName "$ad TCP $port (gelen)" -Direction Inbound  -Protocol TCP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$ad UDP $port (gelen)" -Direction Inbound  -Protocol UDP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$ad TCP $port (giden)" -Direction Outbound -Protocol TCP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$ad UDP $port (giden)" -Direction Outbound -Protocol UDP -LocalPort $port -Action Allow -Profile Any

Uyarlamak isterseniz diye her bölümün ne işe yaradığı:

  • -Direction Inbound dışarıdan gelen trafiktir (asıl ihtiyacınız olan budur), Outbound ise dışarı çıkan trafiktir.
  • -Protocol: TCP veya UDP. Bunlar birbirinin yerine kullanılamaz. Oyununuz UDP kullanıyorsa ve siz yalnızca TCP'yi açarsanız kimse giremez: en sık tekrarlanan hata budur.
  • -LocalPort, sunucunuzun dinlediği porttur.
  • -Profile Any kuralı üç ağ profilinin hepsine (etki alanı, özel ve ortak) uygular. VPS'te bağlantı genellikle “Public” (ortak) profilinde olduğu için bu önemlidir.

Giden kurallar gerekli mi? Windows Server'da giden trafiğe varsayılan olarak izin verilir; bu yüzden normalde gerekmez. Zarar vermedikleri için ve biri daha önce güvenlik duvarını sıkılaştırdıysa tam da eksik olan şey bunlar olacağı için eklenmişlerdir.

Port aralığı için

New-NetFirewallRule -DisplayName "Oyun UDP 7777-7778 (gelen)" -Direction Inbound -Protocol UDP -LocalPort 7777-7778 -Action Allow -Profile Any

Virgülle ayrılmış bir liste de kullanabilirsiniz: -LocalPort 27015,27020.

Kuralların doğru oluşturulduğunu kontrol etme

Get-NetFirewallRule -DisplayName "*30120*" | ForEach-Object {
    $f = $_ | Get-NetFirewallPortFilter
    [pscustomobject]@{
        Kural    = $_.DisplayName
        Etkin    = $_.Enabled
        Yon      = $_.Direction
        Eylem    = $_.Action
        Protokol = $f.Protocol
        Port     = $f.LocalPort
    }
} | Format-Table -AutoSize

Dört kuralın tamamı listelenmeli; Enabled (Etkin) değeri True, Action (Eylem) değeri Allow olmalıdır.

Sunucunuzun dinlediğini kontrol etme

Arkasında dinleyen bir şey yoksa portu açmanın hiçbir faydası olmaz. Oyun sunucusu çalışırken:

Get-NetTCPConnection -LocalPort 30120 -State Listen
Get-NetUDPEndpoint  -LocalPort 30120

Hiçbir sonuç dönmüyorsa sorun güvenlik duvarında değildir: sunucunuz başlamamış, çökmüş ya da başka bir porta ayarlanmıştır. Kurallarla oynamaya devam etmeden önce oyunun konsoluna bakın.

Bir kuralı silme

Remove-NetFirewallRule -DisplayName "Oyun sunucusu TCP 30120 (gelen)"

Fareyle yapmayı tercih ederseniz

Win + R tuşlarına basın, wf.msc yazıp Enter'a basın. Sol bölmede Inbound Rules (Gelen Kuralları) → sağ sütunda New Rule… (Yeni Kural…) → Port (Bağlantı noktası) → TCP veya UDP seçin ve numarayı Specific local ports (Belirli yerel bağlantı noktaları) alanına yazın → Allow the connection (Bağlantıya izin ver) → üç profili de işaretli bırakın → kurala bir ad verin ve tamamlayın. İşlemi diğer protokol için tekrarlayın: bir kural yalnızca TCP'yi ya da UDP'yi kapsar, asla ikisini birden kapsamaz.

Hâlâ çalışmıyorsa

Şu sırayla kontrol edin; olasılıkları en hızlı eleyen sıra budur:

  1. Sunucu dinliyor mu? Yukarıdaki iki komutla kontrol edin. Açık ara en yaygın hata budur.
  2. Doğru protokolü mü açtınız? Oyunların yarısı UDP kullanır. Hem TCP'yi hem UDP'yi açarak şüpheden kurtulun.
  3. Sunucunun kendisinden mi deniyorsunuz? İçeriden her zaman çalışır. Başka bir bağlantıdan deneyin ya da birinden sunucuya girmesini isteyin.
  4. AntiDDoS filtreleme. Hizmetinizin sayfasındaki Güvenlik sekmesinde ağ filtreleri bulunur. Elle oluşturduğunuz filtreler varsa bunların oyununuzun portunu ve protokolünü kapsadığından emin olun.

Güvenlik duvarını asla tamamen kapatmayın, “denemek için” bile. Herkese açık IP adresi olan bir VPS, açıldıktan birkaç dakika sonra otomatik taramalarla karşılaşır. İhtiyacınız olan portları açın, geri kalanını kapalı bırakın.

İlgili makaleler

Yardım merkezine dön

Aradığınızı bulamadınız mı?

Panelinizden bir destek talebi oluşturun, 5 dakikanın altında yanıt verelim.