Спестете 15% от всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код: Skills За начало
Заглавия
Администрация Операционни системи

Network Ports Explained: IP, Protocols, and Service Endpoints Made Simple

Защо мрежовите портове са важни

Ако някога сте видели 22, 80, 443, или 3306 в документация или панел на VPS firewall, вече сте се сблъскали с мрежови портове. Обичайната разочарование идва няколко минути по-късно: приложението работи на localhost, сървърът е онлайн, и все пак никой отвън не може да го достигне. Това е моментът, когато номерата на портовете престават да изглеждат като фонова информация и започват да се чувстват важни.

intro

Те са важни, защото стоят зад много обикновени задачи. Един уебсайт се нуждае от правилните публични портове, за да се зареди. SSH се нуждае от правилния порт, за да ви позволи да управлявате сървър отдалечено. База данни може да трябва да говори с приложение, но не с целия интернет. Това прави портовете релевантни за разработчици, самостоятелни хостери, купувачи на хостинг и технически екипи — не само за инженери на мрежи.

Това ръководство е тук, за да направи темата ясна без да я превръща в курс за сертификация по мрежи. Основното обещание е просто: IP намира машината; портът намира услугата. След като този модел е ясен, номерата престават да изглеждат случайни, и решенията за хостинг стават много по-лесни за разсъждение.

Бързи ключови думи преди да започнем

keywords

Не е необходим голям речник, за да следите останалата част на тази статия. Малък глосарий е достатъчен, за да запазим обяснението бързо и на ясен английски вместо да се потопим в суп от акроними.

ТерминЗначение на ясен английскиЗащо е важно тук
🌐 IP addressМрежовият адрес на машина в IP мрежа.Той казва на трафика коя машина да намери първо.
📜 ProtocolПравилата, използвани за един вид мрежова комуникация.Номерът на портал има смисъл само в контекста на протокол.
🔗 TCPТранспортен протокол, построен около надежди, подредени връзки.Често използвани услуги като HTTPS, SSH и пощта често го използват.
📡 UDPПо-лек транспортен протокол, който не използва същия стил на връзка като TCP.Някакъв трафик, като много DNS заявки, често го използва.
🔥🧱 FirewallСлой за контрол на трафика, който позволява или блокира специфични мрежови пътища.Той влияе на това дали портал е действително достъпен.
👂 ListeningУслуга чака на специфичен портал за съответстващ трафик.Ако нищо не слуша, портала не води до полезна услуга.
🚪 Open / closedЕтикети за това дали услуга изглежда достъпна или не от даден мрежов път.Те описват достъпност, а не дали трафикът е безопасен.

Този последен ред е по-важен, отколкото може да изглежда. В тази статия, думи като open, closed и по-късно filtered са за това дали мрежовият път работи. Те не са етикети за доверие и не ви казват сами по себе си дали трафикът на този портал е легитимен.

Какво е всъщност мрежов порт

Мрежовият порт е логична, номерирана крайна точка, която операционната система използва, за да насочи трафика към правилния сервис на машина. Той е базиран на софтуер, а не нещо, което можете да докоснете. Когато хората казват, че уеб сървър е на порт 443 или SSH е на порт 22, те имат предвид, че тези сервизи чакат на тези номерирани крайни точки за съответстващ трафик.

whatis

💡 Съвет: Най-лесният начин да си го представите е с една последователна аналогия: IP адресът е адресът на улицата на сграда, а портът е номерът на апартамента в тази сграда.

Намирането на правилната сграда не е достатъчно, ако все още не знаете на кой апартамент принадлежи доставката. По същия начин, достигането до правилната машина не е достатъчно, ако операционната система все още трябва да знае кой сервис трябва да обработи заявката.

Ето защо една машина може да изпълнява много сервизи едновременно без всичко да се смесва. Един и същи сървър може да има уеб сървър, който слуша на 443, SSH сервис, който слуша на 22, и сервис база данни, който слуша на 5432 или 3306. IP адресът носи трафика до машината; портът держи тези сервизи отделени, когато пристигне.

Тук се разрешава и една много често срещана объркване: мрежовият порт не е физически конектор като USB, HDMI или гнездото Ethernet на устройство. Това са хардуерни интерфейси. Мрежовият порт е логична крайна точка на сервис, която операционната система използва, за да сортира трафика, когато достигне машината.

Как реална връзка използва портове на източник и дестинация

Статичното определение става много по-лесно за разбиране, когато наблюдавате реална връзка. Представете си браузър, който отваря HTTPS уебсайт. Браузърът вече знае дестинационната машина от DNS и IP маршрутизация и очаква HTTPS на дестинационния порт 443. Този дестинационен порт е подсказката на страната на услугата, която казва на сървъра: “този запрос принадлежи на уеб услугата.”

how

Но страната на сървъра е само половината на историята. Клиентът също използва порт: временен порт на източник, обикновено с високо число, избран автоматично от операционната система. Това позволява на вашата машина да проследи своята страна на разговора без да избирате числото ръчно.

Client browser
198.51.100.24:53144  ───── HTTPS request ─────▶  203.0.113.10:443
(temporary source port)                         (destination port)

203.0.113.10:443     ───── HTTPS response ────▶  198.51.100.24:53144
(web service listening)                        (same temporary client port)

Когато хората казват, че услуга слуша на порт, това е това, което имат предвид: услугата чака на този номериран крайна точка за трафик, предназначен за нея. Ако сървърът получи трафик за 203.0.113.10:443, операционната система го предава на HTTPS услугата, която слуша там. Ако нищо не слуша на този дестинационен порт, трафикът не достига работеща услуга, дори ако самата машина е онлайн.

На високо ниво, това е чистото разделение, което трябва да запомните: IP идентифицира машината, а TCP или UDP носят номерата на портовете, които идентифицират крайната точка на услугата. Затова портовете се считат за концепция на транспортния слой, а не за концепция на IP. Това също обяснява защо един и същ номер на порт може да съществува под различни протоколи и все още да означава различни разговори.

📝 Забележка: Един и същ номер може да съществува под различни транспортни протоколи, така че протоколът все още има значение. 53/UDP е обичайно за обикновени DNS справки, докато 53/TCP също се използва в DNS за случаи като по-големи отговори или операции, свързани със зони.

Практическият извод е, че портовете не са само концепция на страната на сървъра. Сървърите използват дестинационни портове, така че клиентите да могат да намерят услуги, но устройствата на клиентите също използват временни портове на източник. Затова портовете с високи числа, които се появяват толкова често в реалните връзки.

Диапазони на портове и често срещаните номера, които си струва да познавате

Когато механиката е ясна, системата за номериране започва да изглежда организирана вместо произволна. Най-общо казано, портовете се групират в три диапазона:

  • Well-Known/System портове (0–1023)
  • Registered/User портове (1024–49151)
  • Dynamic/Private портове (49152–65535)

Не е необходимо да запомните точно диапазоните, но е полезно да знаете, че ниските номера често са установени идентичности на услуги, докато най-високия диапазон обикновено се използва за временен трафик от страна на клиента.

recognize

Този последен диапазон е особено полезен за разбиране, защото разяснява една често срещана грешка на начинаещите. Dynamic или private портовете са често временните портове на източника, които вашият браузър, пощенски клиент или друго приложение използва при свързване към стабилен порт на услуга като 443. С други думи, портовете с високи номера често са част от страната на клиента в разговор, а не публични идентичности, които трябва да помните.

Целта, следователно, е разпознаване, а не запомняне. Това са номерата на портовете, които повечето читатели действително имат полза да разпознават в документация, табла, обратни прокси и панели за хостинг:

ПортПротоколТипична услугаКъдето читателите действително го виждат
22TCPSSHОтдалечен административен достъп до VPS, облачен екземпляр или dedicated сървър
53TCP / UDPDNSРазрешаване на домени, DNS сървъри и трафик на resolver
80TCPHTTPПублични уебсайтове, пренасочвания и стандартни настройки на уеб сървър
443TCPHTTPSЗащитени уебсайтове, API, табла и обратни прокси
25TCPSMTPДоставка на пощата от сървър към сървър
587TCPMail submissionПощенски клиенти или приложения, изпращащи чрез удостоверена пощенска услуга
3306 / 5432TCPMySQL / PostgreSQLТрафик от приложение към база данни в хостинг или самостоятелни стекове
3389TCPRDPОтдалечен достъп до работния плот на Windows системи

Не е необходимо да запомните тази таблица, за да станете ефективни. Имате нужда само от достатъчно разпознаване, за да задавате добри въпроси, когато видите номер. Едно предупреждение преди да продължим: общ или регистриран порт ви казва какъв трафик се очаква там, а не дали този трафик е надежден.

Където портовете се появяват в хостинга, облака и самостоятелния хостинг

shwosup

Това е където концепцията става оперативна. В реална инфраструктура портовете не са просто етикети, прикрепени към услуги. Те са решения относно какво трябва да бъде публично достъпно, какво трябва да остане частно и какво изобщо не трябва да бъде достъпно. Уебсайтовете обикновено са публични. SSH обикновено е ограничен. Базите данни обикновено служат на приложението, а не на целия интернет.

Ако управлявате VPS на AlexHost — или наистина на всеки доставчик — типична конфигурация изглежда така.

  • Портовете 80 и 443 са отворени за публиката, защото сайтът трябва да има посетители.
  • SSH на 22 е ограничен до доверени IP адреси на администраторите или друг контролиран път.
  • Трафикът на базата данни остава само вътрешен.

Целта е проста: всяка услуга трябва да има достъпността, която действително има нужда, и нищо повече.

Обратните прокси правят това особено лесно за виждане. От публичната страна потребителите се свързват към 80 или 443. Зад тази входна врата обратният прокси може да прехвърли трафика към вътрешно приложение, работещо на 3000 или 8080. Този вътрешен порт на приложението все още е важен, но е част от частния път в архитектурата ви, а не нещо, което целия интернет обикновено трябва да достига директно.

Public internet
   │
   ├── 80 / 443 ──▶ Reverse proxy or web server ──▶ internal app on 3000 / 8080
   │
   ├── 22 ───────▶ SSH reachable only from trusted admin IPs or VPN
   │
   └── 3306 / 5432 ──X not public; reachable only from the app/server network
СценарийПублични портовеДержи частноЗащо
🌐💻 Публичен уебсайт на един VPS80, 4433306 / 5432, неизползвани админ портовеПосетителите имат нужда от сайта; базите данни обикновено не имат нужда от преки публични достъп
🔑🖥️ Уебсайт с SSH администрация80, 443Широк публичен достъп до 22Уеб трафикът е публичен, но админ достъпът трябва да остане ограничен
🔄🛡️ Конфигурация с обратен прокси80, 443 на проксиВътрешен порт на приложението като 3000 или 8080Един чист публичен вход е по-лесен за защита и маршрутизиране
📱🗄️ Приложение с отделна база данниПорт на приложението, обърнат към уеб/APIПорт на базата данни от публичния интернетБазата данни обикновено трябва да отговаря само на слоя на приложението
🏠📡 Домашна самостоятелно хоствана услуга с пренасочване на портовеСамо услугата, която намерено излагатеАдмин на маршрутизатор, вътрешни услуги, допълнителни тестови портовеПренасочването трябва да създаде един намерен път, а не широко отваряне

Това е причината портовете да се появяват постоянно във VPS защитни стени и облачни групи за сигурност: тези слоеве решават какво може да достигне сървър. Виждате ги и в панелите за управление на хостинга, обратните прокси и екраните за пренасочване на портове на маршрутизатора, защото всеки от тези инструменти помага да се определи как трафикът е излаган. Всички отговарят на един и същ въпрос: кой трябва да може да достигне коя услуга откъде?

💡 Съвет: Преместването на услуга от нейния стандартен порт може да намали случайния шум или нискоусилното сондиране, но не е пълна стратегия за сигурност. Реалната защита все още идва от ограничена експозиция, силна аутентификация, кърпи и разумен контрол на достъпа.

Когато видите портовете по този начин, темата става много по-полезна. Начинате да четете номерата на портовете като карта на експозицията на инфраструктурата ви, а не просто като етикети на страница с настройки. Това преместване е това, което прави правилата на защитната стена, обратните прокси и проектирането на частни срещу публични услуги много по-лесни за разбиране.

Отворено, затворено и филтрирано: Защо се променя достъпността

whychanges

Една причина портовете да изглеждат объркващи е, че хората често говорят за тях, сякаш имат едно фиксирано глобално състояние. На практика думи като отворено, затворено и филтрирано описват как услугата изглежда от определен мрежов път. Те ви казват за достъпността от гледната точка на наблюдателя, а не вечна истина за машината.

СъстояниеЗначение на обикновен език
✅ ОтвореноУслугата изглежда достъпна на този път и отговаря на този порт.
❌ ЗатвореноМашината е достъпна, но нищо полезно не отговаря на този порт.
🚧 ФилтрираноНещо в пътя блокира или скрива резултата, така че достъпността се ограничава.

Ето защо “работи локално, така че защо интернетът не може да го достигне?” е такава често срещана болка на начинаещите. Услугата може да бъде достъпна отвътре на сървъра или в частна мрежа и все още да бъде блокирана от публичния интернет. Блокадата може да дойде от firewall, NAT, security group, routing rule или просто от начина, по който услугата е свързана. Ако приложение слуша само на localhost (127.0.0.1), може да работи перфектно на машината и все още да остане недостъпно отвън.

Ключовият нюанс е, че същата услуга може да изглежда отворена от едно място и филтрирана от друго. Това е нормално. Частна база данни може да бъде намерено достъпна от приложението сървър, но скрита от публичния интернет. Уеб услуга може да бъде публична на 443, докато нейния администраторски интерфейс остава достъпен само през VPN или офис мрежа. Номерът на портовете сам по себе си никога не ви казва цялата история; пътят го прави.

Често срещани погрешни представи за мрежовите портове

misconceptions

До този момент, повечето объркване около портовете се свежда до няколко повтарящи се категорийни грешки. Най-бързият начин да разчистим неясното е да сравним митовете, които хората носят със себе си, с по-точния мисловен модел, с който трябва да си тръгнат.

Погрешна представаПо-добър мисловен модел
Портът е физически конектор.Мрежовият порт е логична, номерирана крайна точка на услугата в операционната система.
Номерът на портата е същото като протокола.Протоколът и портът работят заедно; номерът има смисъл само в контекста на транспорта.
Обичайният или регистриран порт е автоматично безопасен.Може да е стандартен или очакван, но не казва нищо за това дали трафикът е легитимен.
Отварянето на порт създава услуга.Портът има значение само ако нещо действително слуша зад него.
Преместването на услуга на друг порт я защитава.Може да намали случайния шум, но не замества реалния контрол на достъпа или укрепване.

Затова по-ранната рамка е толкова важна. Мислете в термините на коя машина, коя услуга, кой протокол и кой трябва да може да я достигне. Повечето портови митове изчезват, когато се върнете към тези четири въпроса вместо да третирате самия номер като магия.

ЧЗВ

faq

1) Какво е пренасочване на портове?
Това е правило, което взема трафика, пристигащ на една граница на мрежата — често маршрутизатор или шлюз — и го изпраща към конкретна вътрешна машина и порт. С прости думи, създава преднамерена пътека от външната страна към услуга вътре.

2) Могат ли две услуги да използват един и същи порт?
Не на една и съща комбинация IP-и-протокол в един момент в нормалния начален случай. Ако една услуга вече слуша на 203.0.113.10:443/TCP, друга услуга обикновено не може да претендира за точно същата крайна точка, освен ако архитектурата не се промени.

3) Портът 443 винаги ли е защитен?
Обикновено означава, че се използва HTTPS, което е за криптирана уеб трафик при предаване. Това не означава, че самият сайт е надежден, без грешки или безопасен. Криптирането и легитимността са свързани, но не са едно и също нещо.

4) Трябва ли да запомня номерата на портовете?
Не. Разпознаването е достатъчно за повечето хора. Ако помните за какво служат портовете, знаете най-често срещаните номера и можете да попитате дали услугата трябва да е публична или частна, вече имате полезната част.

5) Защо нещо работи локално, но не и онлайн?
Защото приложението, което работи, е само половината от историята. Външната пътека все още трябва да бъде отворена и правилно маршрутизирана. Правилата на защитната стена, настройките на свързване, NAT или групи за сигурност все още могат да я блокират.

Практическата основа

end

Най-устойчивият начин да мислите за портовете е като за кратък контролен списък, а не като за числова викторина. Когато видите порт в таблото за управление, конфигурационния файл или панела за хостинг, попитайте се:

  1. Коя машина? IP адресът или хостът, който се опитвате да достигнете.
  2. Кой сервис? Номерът на портa, който идентифицира предназначението.
  3. Кой протокол? Обикновено TCP или UDP.
  4. Кой трябва да го достигне? Защитната стена, NAT, група за сигурност, прокси или частна пътека, която определя експозицията.

След като разберете това, 22, 80, 443 и останалите престават да изглеждат като мистериозни числа. Те стават отговори на практически въпроси за инфраструктурата. И ако искате да отидете една стъпка по-дълбоко от тук, естествените следващи теми са защитни стени, пренасочване на портове, обратни прокси и закаляване на услугите.