Blog’a Dön

Port Nedir? Sunucuda Port Nasıl Açılır?

Port nedir, ne işe yarar? TCP ve UDP farkı, sık kullanılan port numaraları, Linux ve Windows sunucuda port açma, açık portu test etme ve port güvenliği.

Nodesty Ekibi5 dk okumaSunucular
Koyu Nodesty arka planında Port yazısı ile TCP, UDP ve Firewall ifadeleri

Port, bir sunucudaki hangi uygulamaya bağlanmak istediğinizi belirten, 0 ile 65535 arasında bir numaradır. IP adresi bir apartmanın adresiyse port o apartmandaki daire numarasıdır: Aynı IP adresine gelen web trafiği 443 numaralı porttaki web sunucusuna, Minecraft oyuncuları 25565 numaralı porttaki oyun sunucusuna, SSH bağlantıları ise 22 numaralı porta gider. Port açmak, güvenlik duvarına o numaraya gelen bağlantıları kabul etmesini söylemek demektir.

Bu yazıda portun ne olduğunu, TCP ile UDP farkını, sık kullanılan port numaralarını, Linux ve Windows sunucularda port açmayı ve portun açık olup olmadığını nasıl test edeceğinizi anlatıyoruz.

Port nasıl çalışır?

Bir sunucuya bağlanırken aslında bir IP adresi ve bir port numarasına bağlanırsınız: 203.0.113.10:25565 gibi. Sunucuda çalışan her uygulama bir ya da birkaç portu dinler (listen). Sunucuya gelen paket, işletim sistemi tarafından o portu dinleyen uygulamaya teslim edilir.

Bir bağlantının başarılı olması için üç şeyin aynı anda doğru olması gerekir:

  1. Uygulama çalışıyor ve doğru portu dinliyor olmalı.
  2. Uygulama doğru adresi dinliyor olmalı. 0.0.0.0 tüm ağ arayüzlerini, 127.0.0.1 yalnızca sunucunun kendisini ifade eder. 127.0.0.1 adresini dinleyen bir uygulamaya dışarıdan bağlanılamaz.
  3. Aradaki güvenlik duvarları o porta izin vermeli. Bu, sunucunun içindeki güvenlik duvarı ve varsa sağlayıcının ya da modemin güvenlik duvarıdır.

"Port açma" çoğu zaman yalnızca üçüncü adım olarak düşünülür, ama bağlantı sorunlarının büyük kısmı ilk iki adımdan kaynaklanır.

TCP ve UDP farkı

Her port numarası iki protokolde ayrı ayrı bulunur: TCP ve UDP. 25565/TCP ile 25565/UDP farklı iki porttur.

ÖzellikTCPUDP
BağlantıÖnce bağlantı kurulurBağlantı kurulmadan gönderilir
GüvenilirlikKaybolan paket yeniden gönderilirKaybolan paket yeniden gönderilmez
SıraPaketler sırayla ulaşırSıra garanti değildir
HızBiraz daha fazla ek yükDaha hafif ve hızlı
Tipik kullanımWeb, SSH, e-posta, veritabanıOyunlar, sesli görüşme, DNS, yayınlar

Gerçek zamanlı oyunlar genellikle UDP kullanır; çünkü geç gelen eski bir konum bilgisini beklemektense yenisini almak daha iyidir. Port açarken uygulamanın hangi protokolü kullandığını bilmek bu yüzden önemlidir. Emin değilseniz uygulamanın belgelerine bakın.

Sık kullanılan port numaraları

PortProtokolServis
22TCPSSH
25, 465, 587TCPSMTP (e-posta gönderme)
53UDP / TCPDNS
80TCPHTTP
443TCPHTTPS
993TCPIMAP (SSL)
3306TCPMySQL / MariaDB
3389TCPUzak Masaüstü (RDP)
25565TCPMinecraft Java Edition
19132UDPMinecraft Bedrock Edition
30120TCP / UDPFiveM
27015UDP / TCPCS2, Garry's Mod (Source)
28015UDPRust

0–1023 arasındaki portlar iyi bilinen portlardır ve Linux'ta yalnızca root yetkisiyle dinlenebilir. Oyun sunucuları ve uygulamalar genellikle 1024'ün üzerindeki portları kullanır.

Linux sunucuda port açma

Önce uygulamanın gerçekten dinlediğini kontrol edin:

sudo ss -tulpn

Çıktıda ilgili portun yanında 0.0.0.0:25565 ya da *:25565 görüyorsanız uygulama tüm arayüzleri dinliyordur. 127.0.0.1:25565 görüyorsanız uygulamanın ayarlarından dinleme adresini değiştirmeniz gerekir.

Ubuntu ve Debian (ufw):

sudo ufw allow 25565/tcp
sudo ufw allow 30120
sudo ufw status

Protokol belirtmezseniz (30120) port hem TCP hem UDP için açılır. ufw'yi ilk kez etkinleştiriyorsanız önce sudo ufw allow OpenSSH komutunu çalıştırın; aksi hâlde SSH bağlantınızı kaybedersiniz.

AlmaLinux ve Rocky Linux (firewalld):

sudo firewall-cmd --permanent --add-port=25565/tcp
sudo firewall-cmd --reload

Belirli bir portu yalnızca kendi IP adresinize açmak, yönetim portları için iyi bir alışkanlıktır:

sudo ufw allow from 198.51.100.7 to any port 3306 proto tcp

Docker kullanıyorsanız dikkat: Docker'ın yayınladığı portlar ufw kurallarını atlar. Ayrıntıları Docker kurulumu rehberimizde anlattık.

Windows sunucuda port açma

Windows Server'da PowerShell'i yönetici olarak açıp gelen bağlantılar için bir kural ekleyin:

New-NetFirewallRule -DisplayName "Minecraft" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow

UDP için -Protocol UDP ile ikinci bir kural ekleyin. Aynı işlemi grafik arayüzden Windows Defender Güvenlik Duvarı → Gelişmiş ayarlar → Gelen Kuralları → Yeni Kural → Bağlantı Noktası yoluyla da yapabilirsiniz.

Uygulamanın portu dinleyip dinlemediğini görmek için:

netstat -ano | findstr :25565

Portun açık olduğunu test etme

Sunucunun dışından, kendi bilgisayarınızdan test edin; sunucunun içinden yapılan test güvenlik duvarını atladığı için yanıltıcıdır.

Linux ve macOS:

nc -zv 203.0.113.10 25565

Windows (PowerShell):

Test-NetConnection 203.0.113.10 -Port 25565

succeeded ya da TcpTestSucceeded : True sonucu portun açık ve uygulamanın cevap verdiğini gösterir. Bu araçlar yalnızca TCP'yi güvenilir şekilde test eder. UDP portları için en doğru test, uygulamaya gerçekten bağlanmaktır; örneğin oyuna girip sunucuya bağlanmayı denemek.

Sonuca göre sorunu şöyle daraltabilirsiniz:

  • Connection refused: Sunucuya ulaşılıyor ama o portta dinleyen bir uygulama yok. Uygulamanın çalıştığını ve doğru portu kullandığını kontrol edin.
  • Timed out: Paketler bir güvenlik duvarında düşüyor. Sunucudaki güvenlik duvarı kurallarını kontrol edin.

Evden sunucu açmak: port yönlendirme

Kendi bilgisayarınızda bir sunucu çalıştırıyorsanız modeminizde port yönlendirme (port forwarding) yapmanız gerekir. Modem, dışarıdan gelen bağlantıyı yerel ağınızdaki doğru bilgisayara iletir. Ancak bu yöntemin ciddi sınırları vardır:

  • CGNAT: Birçok internet sağlayıcısı müşterilerine herkese açık bir IP adresi vermez. Bu durumda port yönlendirme dışarıdan hiç çalışmaz.
  • Değişen IP adresi: Ev bağlantılarının IP adresi modem yeniden başladığında değişebilir.
  • Güvenlik ve DDoS: Ev IP adresinizi paylaşmak, bir saldırıda tüm ev internetinizin kesilmesine yol açabilir. Bunu DDoS nedir? yazımızda anlattık.
  • Yükleme hızı: Ev bağlantılarında yükleme hızı genellikle indirme hızından çok daha düşüktür.

Bu yüzden 7/24 açık kalması gereken bir oyun sunucusu, bot ya da web uygulaması için kiralık bir sunucu çok daha sorunsuzdur.

Port güvenliği

  • Yalnızca gerekeni açın. Kullanmadığınız her açık port, saldırganlar için bir kapıdır. ufw default deny incoming ile varsayılan olarak her şeyi kapatıp yalnızca gerekli portlara izin verin.
  • Veritabanlarını dışarıya açmayın. MySQL, PostgreSQL ve Redis gibi servisler yalnızca 127.0.0.1 adresini dinlemelidir. Uzaktan erişmeniz gerekiyorsa portu yalnızca kendi IP adresinize açın ya da SSH tüneli kullanın.
  • Yönetim portlarını koruyun. SSH'ta anahtarla girişi kullanın; RCON gibi yönetim portlarını güçlü şifreyle koruyun ve mümkünse yalnızca kendi IP adresinize açın. SSH güvenliğini SSH nedir? yazımızda anlattık.
  • Port değiştirmek tek başına koruma değildir. SSH'ı 22'den başka bir porta taşımak günlüklerdeki otomatik denemeleri azaltır, ama asıl korumayı güçlü kimlik doğrulama sağlar.

Nodesty sunucularında port yönetimi

Nodesty AMD Ryzen 9 9950X VDS gibi sanal sunucularımızda oyun portlarını ya da UDP trafiğini varsayılan olarak engellemiyoruz; hangi portun açık olacağına sunucunuzun güvenlik duvarıyla siz karar verirsiniz. Önünüzdeki L3–L7 nShield DDoS koruması ise açık portlarınıza gelen saldırı trafiğini sunucunuza ulaşmadan süzer. Kurulumla uğraşmak istemiyorsanız oyun sunucusu paketlerimizde Minecraft, FiveM, Rust, Unturned ve Garry's Mod hazır kurulu gelir.

Sıkça Sorulan Sorular

Kaç tane port vardır?

Her IP adresinde TCP için 65.536 ve UDP için 65.536 port bulunur ve 0 ile 65535 arasında numaralandırılır. 0–1023 arası sistem servislerine ayrılmış iyi bilinen portlar, 1024–49151 arası uygulamaların kaydettirdiği portlar, 49152 ve üzeri ise geçici bağlantılar için kullanılan portlardır.

Port açmak güvenli mi?

Bir port yalnızca arkasında bir uygulama dinliyorsa anlam taşır ve güvenliği o uygulamanın güvenliğine bağlıdır. Güncel ve güçlü şifreyle korunan bir oyun ya da web sunucusunun portunu açmak normaldir. Veritabanı ve yönetim panelleri gibi servislerin portlarını ise herkese açmayın.

Port açtım ama yine de bağlanılamıyor, neden?

En sık sebepler uygulamanın çalışmaması, yalnızca 127.0.0.1 adresini dinlemesi, yanlış protokolün (TCP yerine UDP ya da tersi) açılması ve sunucu dışındaki bir güvenlik duvarıdır. Önce ss -tulpn ile uygulamanın hangi adres ve portta dinlediğini kontrol edin.

Evde port yönlendirme yaptım ama çalışmıyor, neden?

Birçok internet sağlayıcısı CGNAT kullanır; bu durumda modeminiz herkese açık bir IP adresi almaz ve port yönlendirme dışarıdan çalışmaz. Modem arayüzündeki WAN IP adresi, bir IP sorgulama sitesinde gördüğünüz adresten farklıysa CGNAT arkasındasınız demektir. Çözüm sabit IP almak ya da sunucu kiralamaktır.

UDP portunun açık olduğunu nasıl test ederim?

UDP bağlantısız bir protokol olduğu için kapalı ve açık portu dışarıdan güvenilir şekilde ayırt etmek zordur. En doğru test, ilgili uygulamaya gerçekten bağlanmaktır; örneğin oyun sunucusuna oyundan bağlanmayı denemek. Sunucu tarafında ss -ulpn ile uygulamanın portu dinlediğini doğrulayabilirsiniz.

Nodesty sunucularında port engeli var mı?

Nodesty sanal sunucularında oyun portlarını ya da UDP trafiğini varsayılan olarak kapatmıyoruz. Bağlantı sorunu yaşıyorsanız sunucunun içindeki güvenlik duvarını ve uygulamanın dinlediği adresi kontrol edin; sorun devam ederse IP, port ve servis bilgisiyle destek talebi açabilirsiniz.

Nodesty

Yazar hakkında

Nodesty Ekibi · Altyapı ve Destek

Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.

İlgili yazılar

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································