If-Koubou

OTT обяснява - какво е препращането на портове и за какво се използва?

OTT обяснява - какво е препращането на портове и за какво се използва? (Компютърни съвети)

Повечето хора живеят живота си, без да имат представа какво е препращането на пристанища и какво може да направи за тях. Наскоро купих IP камера Foscam, която се свързва с безжичната ми мрежа и записва всичко на моето устройство Synology NAS (мрежово заредено устройство). Какво е страхотно за дадена IP камера е, че можете да гледате камерата от външната страна на вашата локална мрежа, да кажете, когато напускате къщата за двуседмична ваканция и искате да проверите нещата.

Бихте могли да похарчите стотици или дори хиляди долари, наемайки компания, за да инсталирате камери и да настроите всичко за вас, или бихте могли да похарчите $ 70 на Amazon за камера и да го направите сами! Бях приятно изненадан от покупката си и относително лесната настройка, която се изисква. За съжаление, ако не знаете нищо за пристанището, няма да можете сами да го направите.

В тази статия ще обясня какво е препращането на портове и как можете да го използвате за достъп до вашите локални устройства като камери, NAS устройства, принтери и т.н. извън вашата местна домашна или офис мрежа. След като научите как да препращате порт, можете да настроите отдалечен работен плот и да имате достъп до компютъра си отвсякъде.

Преди да влезем в препращането на портове, първо трябва да разберете малко за това, което маршрутизаторът прави във вашата локална мрежа.

Интернет, маршрутизатор и NAT

Повечето домашни мрежи са като изображението по-горе: имате вашите устройства като смартфон, таблет, компютър, телевизор и т.н., свързани директно или безжично към вашия маршрутизатор, който е свързан към интернет. Ако обаче мислите за това, имате само един IP адрес за вашата връзка, който е уникален в Интернет, така как всички тези устройства се свързват и използват само този един адрес?

Това е мястото, където вашият рутер идва. Вашият маршрутизатор позволява на устройствата на вашата локална мрежа да говорят с устройства в Интернет чрез NAT (Network Address Translation). И така, какво е NAT? Аз няма да отида в супер детайл в тази публикация, но основно всички IP адреси на вашата локална мрежа са частен или резервиран адреси. Това означава, че те могат да се използват само в частни мрежи. Пример за частни адреси включва 10.x.x.x, 192.x.x.x и т.н.

Всяко устройство в мрежата ви получава присвоен адрес от маршрутизатора чрез услуга, наречена DHCP. Това е основно мрежов протокол, който конфигурира устройства в мрежата с адреси, така че да могат да комуникират един с друг.

Така че това е едната страна или интерфейс към маршрутизатора ви. Вторият интерфейс се свързва с интернет. В този интерфейс маршрутизаторът ви има IP адрес, определен от вашия ISP, който е уникален. Изглежда нещо по-долу:

Както можете да видите, IP адресът тук започва с нещо съвсем различно (99.108.x.x). Сега тук е мястото, където NAT влиза в игра. Ако компютър в локалната ви мрежа се опита да изпрати данни през интернет, няма да се случи нищо, тъй като трафикът е нерегулируем. Всеки трафик от частния адрес, изпуснат в интернет, е отпаднат. Така че вместо това вашият компютър изпраща данните към маршрутизатора, който след това "превежда" тези данни и ги изпраща през Интернет. Външно изглежда, че един компютър с един IP адрес изпраща всички данни, въпреки че множество компютри и устройства всъщност стоят зад маршрутизатора.

За да го обясним малко повече, да предположим, че компютър в мрежата ви иска да се свърже с компютър в интернет, т.е. да се свързва с Google.bg от уеб браузъра ви. Тази заявка се предава на рутера, който е по подразбиране портал. Ако някога сте стартирали IP конфигурацията за вашия компютър, ще видите линия, наречена Default Gateway или Router. Порталът по подразбиране е мястото, където данните се изпращат, когато IP адресът не съвпада с нищо локално.

Сега маршрутизаторът просто взема тези данни и променя адреса на източника от локалното частно IP до публичното IP на маршрутизатора. Той също така прави запис в таблицата NAT, че този компютър е подал заявка за конкретен порт за този интернет ресурс. Когато външният сървър отговори, той ще изпрати данните обратно към рутера. След това маршрутизаторът ще провери от масата и ще види кой компютър е инициализирал тази връзка. Тогава ще препрати тези данни към пристанището на местния компютър, който го е поискал.

Портфолио

Така че това работи много добре и за да сърфирате в интернет и да изпращате имейли и т.н., защото те са предварително дефинирани в имейл клиенти и уеб браузъри и това е изходящ трафик. Например HTTP трафикът винаги минава през порт 80. Това се определя от IANA и всеки трябва да го следва. SMTP, който се използва за изпращане на имейл, по подразбиране използва порт 25. Какво обаче се случва, когато някой се опита да се свърже с маршрутизатора ви от интернет на порт 80 например?

По подразбиране, ако нямате настройка за препращане на портове и вашата защитна стена е активирана, тази връзка просто ще бъде прекратена. Ако искате да стартирате уеб сървър във вашата локална мрежа, ще трябва да препратите трафика, идващ към порт 80, към локалния IP адрес на устройството, работещо с уеб сървъра. Друг пример би бил, ако работите със сървър за игри в локалната си мрежа и искате други приятели да могат да се присъединят. Играчът може да приеме нови връзки на порт 55202, което означава, че трябва да препратите данните, идващи в порт 55202 на маршрутизатора си до IP адреса на сървъра на играта в локалната мрежа. IP камерата може да използва порт като 5000 за входящи връзки.

Както можете да видите по-горе, препращането на порт не е толкова сложно. Давате му име (NetCam, RDP и т.н.), след което му съобщавате номерата на началните и крайните портове. Обикновено тези две са еднакви. Това означава, че данните, идващи от порт 5000 извън мрежата, ще бъдат насочени към порт 5000 на локалния компютър във вашата мрежа. След като изберете номерата на портовете, просто въведете IP адреса на устройството, което ще очаква данни за номера на порта.

Ако не можете да разберете как да го направите на маршрутизатора си, можете да прочетете предишната ми публикация за това как да препращате портове с безплатен софтуер, наречен Simple Port Forwarding.

Усложнения

Ако това беше толкова лесно, всеки би го направил, нали? Има причина, поради която е малко трудно да го настроите правилно. Най-голямата причина е, че вашият уникален публичен IP адрес, присвоен на вашата домашна интернет връзка, постоянно се променя! Ако се опитате да се свържете извън мрежата, тя може да работи веднъж или два пъти, но ще спре да работи, след като се промени общественият IP адрес.

Тук трябва да настроите динамичен DNS. Това ще ви позволи да създадете уникално име на домейн, което автоматично се актуализира с текущия IP адрес на Вашата интернет връзка чрез инструмент, който трябва да изтеглите и инсталирате на компютър в мрежата. Можете да прочетете повече за настройването на динамичен DNS на предишна публикация в OTT.

Другият проблем е сигурността. По подразбиране вашият рутер е единственото устройство, изложено на интернет. След като започнете да препращате портове, тези компютри вече са уязвими на атаки от интернет на този номер на порт. Има много злонамерени хакери, които рутинно сканират компютри по интернет, търсейки отворени портове на компютри. Така че трябва да сте внимателни към кои пристанища отваряте. Винаги е добра идея да изберете порт над 1024. Всъщност много доставчици на интернет услуги дори няма да позволят входящ трафик на пристанища като 80 поради спам и хакери.

При настройката на моя Foscam, трябваше да сменя пристанището от 80 към нещо в обхвата 8000, за да мога да се свържа. Също така се погрижих да си сложа парола, така че никой човек, който да не разбере, че открие, че отвореното пристанище на моя IP адрес може неочаквано да види какво се случва в моя дом, без да знае поне паролата.

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