IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Ako sprístupniť vlastný server ostatným cez internet

Poznáte to, máte server a chcete ho sprístupniť vašim známym alebo kamarátom. Bohužiaľ, aj keď nakonfigurujete ako chcete, známi sa k serveru nie a nie pripojiť.

Pretože sa otázky ohľadom sprístupnenia servera na internet neustále na fóre opakujú, rozhodol som sa napísať krátky článok o tom, ako ľubovoľný server sprístupniť online. Postup, ktorý tu bude uvedený, sa môže líšiť medzi aplikáciami, ale základný postup je stále rovnaký. A je už jedno, či sa jedná o publikovanie Apache servera, VPN, Minecraft servera alebo čohokoľvek iného.

Prihlásení k routeru

Úplne najskôr zo všetkého sa musíte prihlásiť k svojmu routeru. Pre Windows spustíte príkazový riadok a do nej napíšete:

ipconfig

Zobrazí sa vám IP adresy vašich adaptérov. Nájdite si adaptér, ktorý ide smerom von (teda WiFi alebo Ethernet adaptér) a pozrite sa na jeho Default Gateway. Túto adresu zadajte do URL prehliadača (v mojom prípade 192.168.1.1). Malo by sa vám zobraziť prihlasovacie okno, kde zadáte meno a heslo. Táto kombinácia záleží čisto na výrobcovi routeru. Spravidla sa jedná o kombináciu slov "admin" a "root". Napríklad účet "admin" a heslo "admin". Ak ste ešte heslo nemenili, budú na routeru predvolené prihlasovacie údaje. Tie by mali byť uvedené v manuáli k routeru alebo si ich môžete vygooglit podľa typu routera.

Ak viete, že máte správne heslo, ale nejde sa vám prihlásiť, potom niekto heslo zmenil. Pre resetovanie hesla musíte router obnoviť do továrenského nastavenia. Ako to urobiť je opäť v manuáli k routeru alebo možno postup nájsť online.

Verejná IP adresa

Základom úspechu je mať verejnú IP adresu. Ako spoznáte, že ju máte? Najistejšie možnosťou je pozrieť sa do zmluvy s vašim poskytovateľom internetu alebo ho priamo kontaktovať.

Alternatívnym riešením je pozrieť sa do konfigurácie vášho routera. Privátne IP adresy majú spravidla adresu 10.xxx, 172.16-31.xx alebo 192.168.xx. V nastavení routera hľadajte sekciu WAN (pokiaľ ju má). Na mojom routeru je táto sekcia hneď na úvodnej obrazovke. Všimnite si, že mám adresu 192.168.11.237, nemám teda verejnú IP adresu.

WAN konfigurácia routera - Sieťové technológie

Posledným riešením je zistiť, či sa vám IP adresa mení. Choďte na stránku https://www.mojeip.cz/. Tá vám povie, aká je vaša aktuálna IP adresa. Skúste vypozorovať, či sa adresa mení alebo nie. Proces ide teoreticky urýchliť odpojením routeru a pripojením späť po nejakej dobe. Bohužiaľ to nefunguje u všetkých poskytovateľov.

Konfigurácia IP adresy stroja

Teraz teda predpokladajme, že máte verejnú IP adresu. Ďalej je potrebné nakonfigurovať DHCP, aby sa nemenila ani IP adresa stroja, na ktorom server beží. V nastavení routera si nájdete záložku DHCP.

Konfigurácia DHCP - Sieťové technológie

Všimnite si možnosťou Start IP Address a End IP Address. To je rozmedzie IP adries, ktoré prideľuje DHCP server. Ak chcete, aby sa vaša IP adresa nemenila, musíte si buď nastaviť statickú IP adresu alebo nastaviť rezervácii v DHCP.

  • Nastavenie statickej IP adresy - Ak si chcete nastaviť statickú IP adresu, musíte do Control Panel -> Network and Sharing Center -> Change adapter settings (vľavo) -> kliknete pravým tlačidlom na príslušný adaptér -> properties -> Networking -> This connection uses the following items -> Internet Protocol Version 4 -> Properties -> General -> Use the following IP address. Bohužiaľ, týmto postupom úplne vypnete DHCP a tým pádom sa nepripojíte nikde inde (v prípade, že sa jedná napríklad o notebook a prenášate ho). Preto je lepšie použiť druhú variantu.
  • Nastavenie rezervácia v DHCP - Pre rezerváciu budete potrebovať MAC adresu adaptéra. Tú získate spustením príkazového riadku a zadaním príkazu "ipconfig / all". MAC adresa je Physical Address. Nezabudnite sa pozerať na správny adaptér, spravidla je ich viac. Teraz prejdete do nastavenia routeru a v Address Reservation nastavíte tejto MAC adrese konkrétnu IP adresu. Tým bude DHCP server pri pripojení zariadenia vždy posielať rovnakú IP adresu.
.<> Zobrazenie MAC adresy - Sieťové technológie

Nezabudnite v oboch prípadoch zadávať IP adresu, ktorá nie je v rozsahu DHCP servera. V tomto prípade, keď je Start IP Address192.168.1.100 možno použiť IP adresy 192.168.1.2 - 192.168.1.99.

Port forwarding

Teraz musíte zistiť, na ktorom porte server, ktorý chcete publikovať, beží. To sa dočítate priamo na webových stránkach daného servera alebo googlením. Väčšina serverov má nakonfigurovaný predvolený port (napríklad webový server Apache beží na porte 80), ale konfigurácia ide zmeniť. Ak chcete, aby server bežal na inom porte, nie je to problém.

Ďalším dôležitým údajom je protokol komunikácie, ktorý server používa. Varianty sú TCP alebo UDP. To už nakonfigurovať nedá, ale musíte údaj nájsť v dokumentácii k serveru, ktorý chcete spúšťať. Ak si nie ste istí, možno povoliť UDP aj TCP súčasne.

Teraz musíte port otvoriť von. Router (resp. Firewall vnútri routeru) funguje tak, že púšťa komunikáciu iba von. Ak sa chce niekto pripojiť dovnútra, musíte to explicitne povoliť. Opäť sa teda vrátite do konfigurácie routeru a budete hľadať sekcii Port Forwarding alebo Virtual Servers (záleží na výrobcovi routeru).

Konfigurácia Virtual Servers - Sieťové technológie

Kliknete na Add New a nastavíte správne forwardovania. Pritom musíte vyplniť:

  • Source port - Určuje pod ktorou IP adresou bude server vidieť zvonku. Ak nemôžete vyplniť ešte Destination port, potom Source port musí byť rovnaký s portom servera. Pomenovanie sa môže router od routeru líšiť, niekedy sa môže tiež jednať o Service port.
  • IP Address - IP adresa vášho zariadenia v lokálnej sieti. Jedná sa o IP adresu, ktorú sme nakonfigurovali pred chvíľou.
  • Protocol - Protokol, ktorý server používa. Má možnosti TCP alebo UDP a na väčšine routerov možno nastaviť aj "All" alebo "Both" (budú sa používať oba). Ak nie je možné nastaviť obaja a nie ste si istí, aký protokol server používa, musíte vytvoriť ešte jeden port forwarding s rozdielnym protokolom.
  • Destination port - Port, na ktorý sa má komunikácie odovzdávať. Nie všetky routery túto možnosť podporujú. Môžete napr. Nakonfigurovať server, aby na vašom počítači bežal na porte 8080. Keď nastavíte Source port ako 3000 a Destination port ako 8080, používateľ potom uvidí váš server pod portom 3000 a nie 8080.
  • Status - Či je forwardovania zapnuté či vypnuté.

Firewall

Ako posledný ešte musíte skontrolovať firewall na počítači. Aj ten totiž môže blokovať prichádzajúce požiadavky. Najjednoduchším riešením je firewall úplne vypnúť. Alternatívnym a bezpečnejším riešením je povoliť port servera. Do nastavenia prejdete skrz Control Panel -> Administrative Tools -> Windows Defender Firewall with Advanced Security. Tam máte ponuku Inbound (prichádzajúce) rules a Outbound (odchádzajúce) rules. Pridáte ďalšie pravidlo a zvolíte, že chcete povoliť port. Budete musieť vytvoriť 2 alebo 4 pravidlá - prichádzajúce a odchádzajúce pravidlo a ak nepoznáte protocol, tak vždy ešte UDP aj TCP.

Konfigurácia servera

Teraz sa už môžeme presunúť k samotnému serveru. Obedná úprava, ktorú musíme urobiť, je nastaviť mu správnu IP adresu a port. Servery sa spravidla vo východiskovej konfigurácii pripájajú na adresu 127.0.0.1. Na túto adresu sa pripojí len počítač, na ktorom bol server spustený. Pre publikovanie servera musíte server spustiť na IP adrese, ktorú ste nastavili vyššie v konfigurácii.

To prebieha v prípade Apache servera súborom httpd.conf alebo ports.conf ( https://httpd.apache.org/....4/bind.html), v prípade napríklad Minecraft servera súborom server.properties. Niektoré servery môžu vyžadovať zadanie IP adresy a portu pri spustení z príkazového riadku. Pre bližšie info si preštudujte dokumentáciu spusteného servera.

Teraz už máme všetko nastavené a môžeme server spustiť. Všetko by v túto chvíľu malo fungovať a ľudia mimo vašu domácu siet by mali byť schopní pripojiť sa k vám na server.


 

Všetky články v sekcii
Sieťové technológie
Článok pre vás napísal Patrik Valkovič
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity