Ekran Kartlı Sunucu Satışları Başladı. İncele
Linux ve Ubuntu’da Sunucu Kurulumu

UFW ile Minecraft Sunucu Portunu Açma

Ubuntu’da UFW kurulumu, 25565/TCP ve 19132/UDP portlarını açma, IP kısıtlama, SSH portunu koruma ve kural doğrulama komutları.

  • 10 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • Java Edition için tek komut yeterlidir: sudo ufw allow 25565/tcp. Bedrock sunucusu için sudo ufw allow 19132/udp kuralını ekleyin.
  • UFW’yi etkinleştirmeden ÖNCE mutlaka sudo ufw allow OpenSSH komutunu çalıştırın; aksi halde ufw enable anında SSH oturumunuzu kilitler.
  • Java Edition yalnızca TCP kullanır. 25565/UDP kuralı sadece enable-query=true ise gerekir; RCON portu (25575) asla herkese açılmaz.
  • Kural yazdığınız hâlde bağlanamıyorsanız sorun büyük ihtimalle UFW’de değil: sunucu dinlemiyordur veya server-ip yanlıştır.

UFW ile Minecraft sunucu portunu açmak tek satırlık bir iştir: sudo ufw allow 25565/tcp. Java Edition sunucuları 25565/TCP, Bedrock Dedicated Server ise 19132/UDP portunu dinler. Kuralı yazdığınız anda UFW onu devreye alır, servisi yeniden başlatmanız gerekmez.

Asıl mesele komutun kendisi değil, komutun etrafındaki sıra ve ayrıntılar. UFW’yi SSH kuralı yazmadan etkinleştirirseniz kendinizi sunucudan kilitlersiniz. Java Edition için gereksiz yere UDP açarsanız saldırı yüzeyini büyütürsünüz. RCON portunu herkese açarsanız sunucu konsolunu internete servis edersiniz. Bu sayfada Ubuntu 24.04 LTS üzerinde UFW kurulumundan kural doğrulamaya, IP kısıtlamasından "port açık ama bağlanamıyorum" teşhisine kadar tüm akışı gerçek komutlarla anlatıyoruz.

Anlatım Ubuntu ve Debian tabanlı dağıtımlar içindir. AlmaLinux veya Rocky Linux kullanıyorsanız UFW yerine firewalld vardır; o durumda RHEL tabanlı dağıtımlarda Minecraft kurulumu sayfasındaki firewall-cmd örneklerine bakın.

UFW Nedir ve Minecraft Sunucusunda Neden Gerekir?#

UFW (Uncomplicated Firewall), Linux çekirdeğindeki netfilter/iptables kural setinin önüne konmuş sade bir arayüzdür. Ham iptables kuralı yazmak yerine allow, deny, limit gibi tek kelimelik komutlarla çalışırsınız; UFW arka planda karşılık gelen zincir kurallarını üretir.

Taze kurulmuş bir Ubuntu sunucusunda UFW kuruludur ama pasiftir. Yani hiçbir port filtrelenmez; sunucuda dinleyen her servis internete açıktır. Minecraft sunucusu kuran çoğu kişi bunu fark etmez, çünkü sunucu zaten çalışır. Sorun şurada: aynı makinede duran MySQL 3306, Redis 6379, RCON 25575 veya panel arayüzü de aynı şekilde açıktır.

Doğru kurgu tersidir: gelen her şeyi kapat, sadece gerekli portları aç. Minecraft sunucusunda bu genellikle üç dört kuraldan ibarettir.

DikkatUFW’yi ufw enable ile açmadan önce SSH kuralını mutlaka yazın. Varsayılan gelen politikası deny olduğu için, kuralsız etkinleştirme aktif SSH oturumunuzu düşürür ve sunucuya konsol erişiminiz yoksa tek çözüm sağlayıcı panelinden kurtarma moduna girmektir.

Minecraft Sunucusunda Hangi Portlar Açılmalı?#

Her portu açmak yerine, hangi servisin hangi protokole ihtiyaç duyduğunu bilerek ilerleyin. Aşağıdaki tablo bir Minecraft sunucusunda karşınıza çıkacak portların tamamını kapsar.

PortProtokolKullanımKime açılmalı
25565TCPJava Edition oyun trafiğiHerkese
25565UDPGameSpy4 sorgu (enable-query)Sadece gerekiyorsa
19132UDPBedrock Dedicated Server / GeyserHerkese
19133UDPBedrock IPv6 dinleyicisiIPv6 kullanılıyorsa
22TCPSSH yönetim erişimiKendi IP’nize
25575TCPRCON uzak konsolAsla herkese
8123TCPDynmap / BlueMap web haritasıİsteğe bağlı
8080 / 8443TCPPanel arayüzü (Pterodactyl vb.)İsteğe bağlı
25577TCPBungeeCord / Velocity proxyHerkese
30066+TCPProxy arkasındaki alt sunucularSadece proxy IP’sine
Minecraft sunucularında kullanılan portlar ve erişim politikası

Tablodaki iki satır özellikle önemli. Birincisi RCON: 25575 portu şifreyle korunur ama şifre düz metin gider ve kaba kuvvet denemesine açıktır. İkincisi proxy arkasındaki alt sunucular: BungeeCord veya Velocity ile sunucu ağı kurduysanız alt sunucu portları dışarıya kesinlikle kapalı olmalıdır, aksi halde oyuncular proxy’yi atlayıp doğrudan alt sunucuya bağlanır.

UFW Kurulumu ve İlk Yapılandırma#

Sunucuya SSH ile bağlandıktan sonra aşağıdaki sırayı izleyin. Bu sıra kendinizi kilitlemenizi engeller.

  1. UFW’nin kurulu olduğunu doğrulayın#

    Ubuntu 24.04 LTS ve Debian 12 kurulumlarının çoğunda UFW hazır gelir. Yoksa apt ile kurun.

    sudo apt update
    sudo apt install -y ufw
    ufw --version
  2. Varsayılan politikaları belirleyin#

    Gelen tüm trafiği reddedin, giden trafiğe izin verin. Bu, güvenlik duvarının temel mantığıdır.

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
  3. Önce SSH kuralını yazın#

    UFW’nin OpenSSH uygulama profili 22/TCP’yi açar. SSH portunuzu değiştirdiyseniz profil yerine port numarasını kullanın.

    sudo ufw allow OpenSSH
    # SSH portunu değiştirdiyseniz, örnek 2222:
    # sudo ufw allow 2222/tcp comment 'SSH'
  4. Minecraft portunu açın#

    Java Edition için TCP, Bedrock için UDP. comment parametresi kuralı ileride tanımanızı sağlar.

    sudo ufw allow 25565/tcp comment 'Minecraft Java'
    sudo ufw allow 19132/udp comment 'Minecraft Bedrock'
  5. Güvenlik duvarını etkinleştirin#

    Komut SSH oturumunu kesebileceğine dair uyarı verir; kuralı yazdıysanız y deyip devam edin.

    sudo ufw enable
    sudo ufw status verbose

Son komutun çıktısı şuna benzemelidir:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere
25565/tcp                  ALLOW IN    Anywhere                   # Minecraft Java
19132/udp                  ALLOW IN    Anywhere                   # Minecraft Bedrock
İpucuUFW kuralları yeniden başlatmadan sonra da geçerlidir; ufw enable aynı zamanda servisi systemctl enable ile açılışa ekler. Sunucuyu yeniden kurduğunuzda kuralları sıfırdan yazmak istemiyorsanız /etc/ufw/user.rules ve /etc/ufw/user6.rules dosyalarını yedekleyin.

Farklı Port, Port Aralığı ve Birden Fazla Sunucu#

Tek makinede birden fazla Minecraft örneği çalıştırmak yaygındır: bir survival, bir creative, bir test sunucusu. Her örneğin server.properties içindeki server-port değeri farklı olmalıdır ve her biri için kural gerekir.

# Tek tek kural
sudo ufw allow 25566/tcp comment 'MC creative'
sudo ufw allow 25567/tcp comment 'MC test'

# Aralık olarak (iki nokta üst üste ile, tire ile değil)
sudo ufw allow 25565:25570/tcp comment 'MC sunucu havuzu'

Aralık yazarken UFW 25565:25570 biçimini bekler; 25565-25570 yazarsanız komut hata verir. Ayrıca aralık kurallarında protokol belirtmek zorunludur, protokolsüz aralık kabul edilmez.

Port değerini server.properties tarafında değiştirdiyseniz iki dosyanın uyumlu olduğundan emin olun. Tüm ayarların listesi için server.properties ayarları referansına bakabilirsiniz.

server-ip=
server-port=25566
enable-query=false
enable-rcon=false
rcon.port=25575

server-ip satırının boş olması gerekir. Buraya bir değer yazarsanız sunucu yalnızca o arayüzü dinler ve dışarıdan gelen bağlantılar UFW izin verse bile reddedilir. Bu, "Failed to bind to port" hatasının ve sessiz bağlantı redlerinin en yaygın sebeplerinden biridir.

Kuralları Listeleme, Numaralandırma ve Silme#

Kural yönetimi UFW’nin en çok karıştırılan tarafıdır. Üç komutu ezberleyin:

# Kuralları ayrıntılı görüntüle
sudo ufw status verbose

# Kuralları sil/düzenle için numaralandır
sudo ufw status numbered

# Numaraya göre sil
sudo ufw delete 3

# Kuralı birebir tekrarlayarak sil
sudo ufw delete allow 25565/tcp

Numarayla silerken dikkatli olun: her silme işleminden sonra liste yeniden numaralanır. Üç kural silecekseniz her seferinde status numbered çıktısını tekrar okuyun, yoksa yanlış kuralı silersiniz. Toplu temizlik gerekiyorsa şu komut her şeyi sıfırlar:

sudo ufw reset
Uyarıufw reset güvenlik duvarını devre dışı bırakır ve tüm kuralları siler; SSH kuralı da gider. Uzaktan bağlıysanız komutun ardından hemen SSH kuralını yeniden yazıp ufw enable yapın. Bu komutu asla yarım bırakılmış bir bakım penceresinde çalıştırmayın.

Minecraft için özel UFW uygulama profili#

Kuralları port numarasıyla değil isimle yönetmek isterseniz UFW’ye kendi uygulama profilinizi tanımlayabilirsiniz. /etc/ufw/applications.d/minecraft dosyasını nano ile oluşturun:

[Minecraft-Java]
title=Minecraft Java Edition Server
description=Minecraft Java Edition dedicated server
ports=25565/tcp

[Minecraft-Bedrock]
title=Minecraft Bedrock Dedicated Server
description=Bedrock Dedicated Server UDP dinleyicisi
ports=19132,19133/udp

Ardından profili tanıtıp kullanın:

sudo ufw app update Minecraft-Java
sudo ufw app list
sudo ufw allow Minecraft-Java
sudo ufw app info Minecraft-Bedrock

IP Bazlı Kısıtlama: RCON, SSH ve Alt Sunucular#

Bazı portlar internete açık olmamalıdır, ama tamamen kapalı da olamaz; sadece belirli adreslerden erişilebilmelidir. UFW’nin from söz dizimi bu iş içindir.

# RCON'a yalnızca kendi ev IP'nizden erişim
sudo ufw allow from 203.0.113.45 to any port 25575 proto tcp comment 'RCON yonetici'

# SSH'ı tek IP'ye kilitle (önce mevcut genel kuralı silin)
sudo ufw delete allow OpenSSH
sudo ufw allow from 203.0.113.45 to any port 22 proto tcp comment 'SSH yonetici'

# Proxy arkasındaki alt sunucuya yalnızca proxy makinesinden erişim
sudo ufw allow from 10.0.0.5 to any port 30066 proto tcp comment 'Velocity backend'

# Bir IP bloğunu tamamen engelle
sudo ufw deny from 198.51.100.0/24 comment 'kotucul blok'
BilgiUFW kuralları yazıldıkları sırayla değil, özgüllük sırasıyla değerlendirilir: UFW deny kurallarını listenin üstüne yerleştirmez. Belirli bir IP’yi engellemek istiyorsanız engelleme kuralını genel allow kuralından önce eklemeniz gerekir. Araya kural sokmak için sudo ufw insert 1 deny from 198.51.100.10 biçimini kullanın.

Dinamik IP’niz varsa SSH’ı tek adrese kilitlemek riskli olur. Bu durumda kaba kuvvet denemelerini yavaşlatan limit kuralı daha pratiktir:

sudo ufw limit 22/tcp comment 'SSH brute-force limiti'

Bu kural aynı IP’den 30 saniye içinde 6’dan fazla bağlantı denemesini düşürür. Aynı kuralı 25565 için kullanmayın. Minecraft istemcileri sunucu listesi ping’i ve giriş sırasında arka arkaya bağlantı açar; limit kuralı gerçek oyuncuları da düşürür.

Loglama ve Kuralların Gerçekten Çalıştığını Doğrulama#

UFW’nin bir kuralı uyguladığını görmenin en net yolu logdur. Loglamayı açın ve engellenen paketleri izleyin:

sudo ufw logging on
sudo ufw logging medium
sudo tail -f /var/log/ufw.log

Bir istemci bağlanmaya çalışırken [UFW BLOCK] satırı düşüyorsa kural eksik demektir. Hiç satır düşmüyorsa paket zaten sunucuya ulaşmıyordur; sorun sağlayıcı tarafındaki ağ filtresinde veya yönlendirmede olabilir.

Dinleyen portları görmek için:

# Hangi süreç hangi portu dinliyor
sudo ss -tulnp | grep -E '25565|19132|25575'

# UFW'nin ürettiği ham kuralları gör
sudo iptables -L ufw-user-input -n --line-numbers

Dışarıdan test için başka bir makineden şu komutları kullanın. nc TCP portunu, nmap ise UDP portunu doğrular:

nc -zv sunucu-ip-adresi 25565
sudo nmap -sU -p 19132 sunucu-ip-adresi

Port Açık Görünüyor Ama Oyuncular Bağlanamıyor#

Bu, UFW rehberlerinde en çok atlanan bölümdür. Kuralı yazdınız, ufw status kuralı gösteriyor, yine de oyuncular giremiyor. Sırasıyla kontrol edin:

Sunucu süreci çalışıyor mu?
sudo systemctl status minecraft ya da screen -ls ile bakın. Süreç çökmüşse port zaten dinlenmiyordur.
server-ip boş mu?
server.properties içinde server-ip= satırının karşısı boş olmalı. Dolu ise sunucu tek arayüz dinler.
Doğru port mu?
Oyuncu 25565 dışında bir porta bağlanıyorsa adresi ip:port biçiminde yazmalıdır.
Sağlayıcı filtresi var mı?
Bazı bulut sağlayıcılarında sunucu dışında ikinci bir ağ ACL’si bulunur. Batihost sunucularında oyun portları varsayılan olarak açıktır.
Docker mı kullanıyorsunuz?
Docker kendi iptables kurallarını UFW’den önceki zincire yazar ve yayımlanan portlar UFW’yi atlar. Ayrıntı için Docker ile Minecraft sunucusu sayfasına bakın.
IPv6 kapalı mı?
İstemci AAAA kaydı üzerinden bağlanıyorsa /etc/default/ufw içindeki IPV6=yes satırını doğrulayın.

Belirti "connection refused" ise sunucu portu dinlemiyordur; "connection timed out" ise paket bir yerde düşürülüyordur. Bu ayrım teşhisi yarı yarıya kısaltır: ilki için Connection Refused hatası çözümü, ikincisi için Connection Timed Out rehberi sayfalarına geçin.

UFW, iptables ve firewalld: Hangisi Ne Zaman?#

AraçDağıtımNe zaman tercih edilir
UFWUbuntu, DebianTek makinede Minecraft sunucusu; kural sayısı azken en pratik seçim
firewalldAlmaLinux, Rocky, RHELBölge (zone) tabanlı yapı gerektiğinde, RHEL ailesinde varsayılan
iptables / nftablesHepsiNAT, port yönlendirme, karmaşık zincir mantığı gerektiğinde
Linux güvenlik duvarı araçlarının karşılaştırması

Üçünü aynı anda yapılandırmayın. UFW zaten iptables üzerine yazar; elle iptables kuralı eklerseniz UFW yeniden yüklendiğinde kuralınız kaybolur. Kalıcı özel kural gerekiyorsa /etc/ufw/before.rules dosyasına ekleyin. Araçların ayrıntılı karşılaştırması için sunucu güvenlik duvarı yapılandırma rehberine göz atın.

Güvenlik Duvarını Kurulum Akışına Yerleştirmek#

UFW yapılandırması tek başına bir iş değil, kurulum zincirinin bir halkasıdır. Doğru sıra şudur: sunucuyu kur, portu aç, servisi kalıcı hâle getir, sonra izle.

  1. Sunucu yazılımını kurun#

    Java 25 kurulumu, ayrı bir minecraft kullanıcısı ve /opt/minecraft dizini için Linux üzerinde Minecraft sunucu kurulumu rehberini izleyin.

  2. Portu açın ve doğrulayın#

    Bu sayfadaki kuralları uygulayın, ss -tulnp ile dinlemeyi teyit edin.

  3. Sunucuyu servise dönüştürün#

    Yeniden başlatmalarda otomatik açılması için systemd servisi oluşturun; konsola erişimi screen oturumuyla koruyun.

  4. Kuralları belgeleyin#

    Her kurala comment ekleyin ve sudo ufw status numbered > /root/ufw-kurallari.txt ile anlık görüntü alın. Altı ay sonra hangi portu neden açtığınızı hatırlamak zorunda kalmazsınız.

Donanım tarafında güvenlik duvarı yükü ihmal edilebilir; UFW’nin birkaç kuralı işlemciye anlamlı bir maliyet getirmez. Asıl belirleyici, tick döngüsünü çeviren tek çekirdek performansıdır. Batihost’un yüksek frekanslı Ryzen VDS paketleri 8 GB RAM ve NVMe SSD ile başlar; kural yazarken sunucu performansından ödün verdiğinizi düşünmeyin.

SonuçDoğru yapılandırılmış bir UFW’de ufw status verbose çıktısı üç dört satırı geçmez: SSH, oyun portu ve varsa harita/panel portu. Uzun bir kural listesi genellikle unutulmuş test kurallarının biriktiğini gösterir; ayda bir gözden geçirip gereksizleri silin.

Özetle#

UFW ile Minecraft portu açmak sudo ufw allow 25565/tcp komutundan ibarettir, ama işi doğru yapmak sıraya bağlıdır: önce varsayılan politikalar, sonra SSH kuralı, sonra oyun portu, en son ufw enable. Java Edition için TCP, Bedrock için 19132/UDP açın; sorgu portunu yalnızca enable-query=true ise ekleyin ve RCON’u asla herkese bırakmayın.

Kural yazdıktan sonra bağlantı hâlâ kurulmuyorsa güvenlik duvarını suçlamadan önce ss -tulnp ile sürecin portu dinlediğini ve server-ip satırının boş olduğunu doğrulayın. Bu iki kontrol, "port açtım ama bağlanamıyorum" vakalarının büyük bölümünü çözer. Aynı makinede Bedrock da yayınlayacaksanız 19132/UDP kuralını ekleyip Ubuntu’da Bedrock Dedicated Server kurulumuna geçebilirsiniz.

Sıkça Sorulan Sorular#

UFW ile Minecraft portu nasıl açılır?

sudo ufw allow 25565/tcp komutu Java Edition sunucusunun varsayılan portunu açar. Kural yazıldıktan sonra sudo ufw reload gerekmez, UFW kuralı anında uygular. Bedrock Dedicated Server kullanıyorsanız protokol farklıdır ve sudo ufw allow 19132/udp komutunu çalıştırmanız gerekir. Kuralı sudo ufw status numbered ile doğrulayın.

ufw allow 25565 ile ufw allow 25565/tcp arasındaki fark nedir?

Protokol belirtmezseniz UFW portu hem TCP hem UDP için açar. Java Edition yalnızca TCP kullandığından 25565/tcp yazmak daha doğrudur: gereksiz bir UDP kuralı açık bırakmazsınız. Protokolsüz kural yanlış değildir ama saldırı yüzeyini genişletir. Bedrock’ta durum tersidir; orada yalnızca UDP gerekir.

UFW’de portu açtım ama sunucuya hâlâ bağlanamıyorum, neden?

Vakaların çoğunda güvenlik duvarı suçlu değildir. Önce sudo ss -tulnp | grep 25565 ile Java sürecinin gerçekten portu dinlediğini doğrulayın. Dinlemiyorsa sunucu çökmüştür veya server-port farklıdır. Dinliyorsa sağlayıcınızın panel tarafındaki ağ filtresini ve server-ip satırının boş olduğunu kontrol edin.

UFW’yi etkinleştirince SSH bağlantım kopar mı?

SSH için kural yazmadıysanız evet, anında kopar. ufw enable varsayılan gelen politikasını deny yaptığı için 22/TCP de kapanır. Bu yüzden sıralama şudur: önce sudo ufw allow OpenSSH, sonra sudo ufw enable. SSH portunu değiştirdiyseniz kuralı o port numarasıyla yazın.

Minecraft için 25565 UDP portunu da açmam gerekir mi?

Hayır, standart Java Edition oyun trafiği tamamen TCP üzerindedir. UDP kuralı yalnızca server.properties içinde enable-query=true yaptıysanız gerekir; GameSpy4 sorgu protokolü 25565/UDP kullanır. Sunucu listesi siteleri veya izleme botları kullanmıyorsanız bu portu kapalı tutun.

Yanlış yazdığım bir UFW kuralını nasıl silerim?

İki yol var. Kuralı birebir tekrarlayarak silebilirsiniz: sudo ufw delete allow 25565/tcp. Ya da sudo ufw status numbered ile kuralları numaralandırıp sudo ufw delete 3 yazabilirsiniz. Numarayla silerken listenin her silme sonrası yeniden numaralandığını unutmayın; tek seferde bir kural silin.

UFW Minecraft sunucumu DDoS saldırısından korur mu?

Hayır. UFW sunucunun kendi çekirdeğinde çalışan bir paket filtresidir; hat kapasitesini dolduran hacimsel bir saldırıda trafik zaten sunucuya ulaşmış olur. UFW yetkisiz portları kapatır ve yüzeyi daraltır, bunlar önemlidir ama şebeke seviyesinde DDoS filtresi yerine geçmez.

Bedrock ve Geyser sunucusu için hangi portu açmalıyım?

Bedrock Dedicated Server ve Geyser varsayılan olarak 19132/UDP dinler: sudo ufw allow 19132/udp. IPv6 de kullanacaksanız 19133/UDP kuralını ekleyin. Aynı makinede hem Java hem Bedrock çalıştırıyorsanız iki kural birbirinden bağımsızdır; 25565/TCP ile 19132/UDP birlikte açık kalır.

Linux ve Ubuntu’da Sunucu Kurulumu — Tüm Rehberler#

  1. Linux ve Ubuntu Üzerinde Minecraft Sunucu Kurulumu
  2. Linux’a Java 25 Kurulumu (Ubuntu, Debian, AlmaLinux)
  3. screen ve tmux ile Minecraft Sunucusunu Arka Planda Çalıştırma
  4. systemd Servisi ile Minecraft Sunucusunu Otomatik Başlatma
  5. Ubuntu’da Paper Minecraft Sunucusu Kurulumu
  6. Ubuntu’da Forge Modlu Minecraft Sunucusu Kurulumu
  7. Ubuntu’da Fabric Minecraft Sunucusu Kurulumu
  8. Debian Üzerinde Minecraft Sunucu Kurulumu
  9. AlmaLinux / Rocky Linux Üzerinde Minecraft Sunucu Kurulumu
  10. UFW ile Minecraft Sunucu Portunu Açma
  11. Ubuntu’da Minecraft Bedrock Dedicated Server Kurulumu
  12. Docker ile Minecraft Sunucusu Kurma ve Yönetme

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön