Jak zpřístupnit vlastní server ostatním přes internet
Znáte to, máte nějaký server a chcete jej zpřístupnit vašim známým nebo kamarádům. Bohužel, i když konfigurujete jak chcete, známí se k serveru ne a ne připojit.
Protože se otázky ohledně zpřístupnění serveru na internet neustále na fóru opakují, rozhodl jsem se napsat krátký článek o tom, jak libovolný server zpřístupnit online. Postup, který zde bude uvedený, se může lišit mezi aplikacemi, ale základní postup je stále stejný. A je již jedno, zda se jedná o publikování Apache serveru, VPN, Minecraft serveru nebo čehokoliv jiného.
Příhlášení k routeru
Úplně nejdříve ze všeho se musíte přihlásit ke svému routeru. Pro Windows spustíte příkazovou řádku a do ní napíšete:
ipconfig
Zobrazí se vám IP adresy vašich adaptérů. Najděte si adaptér, který
jde směrem ven (tedy WiFi nebo Ethernet adaptér) a podívejte se na jeho
Default Gateway. Tuto adresu zadejte do URL prohlížeče (v mém
případě 192.168.1.1
). Mělo by se vám zobrazit přihlašovací
okno, kde zadáte jméno a heslo. Tato kombinace záleží čistě na výrobci
routeru. Zpravidla se jedná o kombinaci slov "admin" a "root". Například
účet "admin" a heslo "admin". Pokud jste ještě heslo neměnili, budou na
routeru výchozí přihlašovací údaje. Ty by měly být uvedeny v manuálu k
routeru nebo si je můžete vygooglit podle typu routeru.
Pokud víte, že máte správné heslo, ale nejde se vám přihlásit, potom někdo heslo změnil. Pro resetování hesla musíte router obnovit do továrního nastavení. Jak to udělat je opět v manuálu k routeru nebo lze postup najít online.
Veřejná IP adresa
Základem úspěchu je mít veřejnou IP adresu. Jak poznáte, že ji máte? Nejjistější možností je podívat se do smlouvy s vašim poskytovatelem internetu nebo ho přímo kontaktovat.
Alternativním řešením je podívat se do konfigurace vašeho routeru.
Privátní IP adresy mají zpravidla adresu 10.x.x.x
,
172.16-31.x.x
nebo 192.168.x.x
. V nastavení routeru
hledejte sekci WAN (pokud ji má). Na mém routeru je tato sekce hned na
úvodní obrazovce. Všimněte si, že mám adresu 192.168.11.237
,
nemám tedy veřejnou IP adresu.

Posledním řešením je zjistit, zda se vám IP adresa mění. Jděte na stránku https://www.mojeip.cz/. Ta vám řekne, jaká je vaše aktuální IP adresa. Zkuste vypozorovat, zda se adresa mění nebo ne. Proces jde teoreticky urychlit odpojením routeru a připojením zpět po nějaké době. Bohužel to nefunguje u všech poskytovatelů.
Konfigurace IP adresy stroje
Nyní tedy předpokládejme, že máte veřejnou IP adresu. Dále je potřeba nakonfigurovat DHCP, aby se neměnila ani IP adresa stroje, na kterém server běží. V nastavení routeru si najdete záložku DHCP.

Všimněte si možností Start IP Address a End IP Address. To je rozmezí IP adres, které přiděluje DHCP server. Pokud chcete, aby se vaše IP adresa neměnila, musíte si buď nastavit statickou IP adresu nebo nastavit rezervaci v DHCP.
- Nastavení statické IP adresy - Pokud si chcete nastavit statickou IP adresu, musíte do Control Panel -> Network and Sharing Center -> Change adapter settings (vlevo) -> kliknete pravým tlačítkem na příslušný adaptér -> properties -> Networking -> This connection uses the following items -> Internet Protocol Version 4 -> Properties -> General -> Use the following IP address. Bohužel, tímto postupem úplně vypnete DHCP a tím pádem se nepřipojíte nikde jinde (v případě, že se jedná například o notebook a přenášíte ho). Proto je lepší použít druhou variantu.
- Nastavení rezervace v DHCP - Pro rezervaci budete potřebovat MAC adresu adaptéru. Tu získáte spuštěním příkazové řádky a zadáním příkazu "ipconfig /all". MAC adresa je Physical Address. Nezapomeňte se dívat na správný adaptér, zpravidla je jich více. Nyní přejdete do nastavení routeru a v Address Reservation nastavíte této MAC adrese konkrétní IP adresu. Tím bude DHCP server při připojení zařízení vždy posílat stejnou IP adresu.

Nezapomeňte v obou případech zadávat IP adresu, která není v rozsahu
DHCP serveru. V tomto případě, kdy je Start IP Address až
192.168.1.100
lze použít IP adresy 192.168.1.2
-
192.168.1.99
.
Port forwarding
Nyní musíte zjistit, na kterém portu server, který chcete publikovat, běží. To se dočtete přímo na webových stránkách daného serveru nebo googlením. Většina serverů má nakonfigurovaný výchozí port (například webový server Apache běží na portu 80), ale konfigurace jde změnit. Pokud chcete, aby server běžel na jiném portu, není to problém.
Dalším důležitým údajem je protokol komunikace, který server používá. Varianty jsou TCP nebo UDP. To již nakonfigurovat nelze, ale musíte údaj najít v dokumentaci k serveru, který chcete spouštět. Pokud si nejste jisti, lze povolit UDP i TCP současně.
Nyní musíte port otevřít ven. Router (resp. firewall uvnitř routeru) funguje tak, že pouští komunikaci pouze ven. Pokud se chce někdo připojit dovnitř, musíte to explicitně povolit. Opět se tedy vrátíte do konfigurace routeru a budete hledat sekci Port Forwarding nebo Virtual Servers (záleží na výrobci routeru).

Kliknete na Add New a nastavíte správné forwardování. Přitom musíte vyplnit:
- Source port - Určuje pod kterou IP adresou bude server vidět zvenku. Pokud nemůžete vyplnit ještě Destination port, potom Source port musí být stejný s portem serveru. Pojmenování se může router od routeru lišit, někdy se může také jednat o Service port.
- IP Address - IP adresa vašeho zařízení v lokální síti. Jedná se o IP adresu, kterou jsme nakonfigurovali před chvílí.
- Protocol - Protokol, který server používá. Má možnosti TCP nebo UDP a na většině routerů lze nastavit i "All" nebo "Both" (budou se používat oba). Pokud nelze nastavit oba a nejste si jisti, jaký protokol server používá, musíte vytvořit ještě jeden port forwarding s rozdílným protokolem.
- Destination port - Port, na který se má komunikace
předávat. Ne všechny routery tuto možnost podporují. Můžete např.
nakonfigurovat server, aby na vašem počítači běžel na portu
8080
. Když nastavíte Source port jako3000
a Destination port jako8080
, uživatel poté uvidí váš server pod portem3000
a ne8080
. - Status - Zda je forwardování zapnuto či vypnuto.
Firewall
Jako poslední ještě musíte zkontrolovat firewall na počítači. I ten totiž může blokovat příchozí požadavky. Nejjednodušším řešením je firewall úplně vypnout. Alternativním a bezpečnějším řešením je povolit port serveru. Do nastavení přejdete skrz Control Panel -> Administrative Tools -> Windows Defender Firewall with Advanced Security. Tam máte nabídku Inbound (příchozí) rules a Outbound (odchozí) rules. Přidáte další pravidlo a zvolíte, že chcete povolit port. Budete muset vytvořit 2 nebo 4 pravidla - příchozí a odchozí pravidlo a pokud neznáte protocol, tak vždy ještě UDP i TCP.
Konfigurace serveru
Nyní se již můžeme přesunout k samotnému serveru. Polední úprava,
kterou musíme udělat, je nastavit mu správnou IP adresu a port. Servery se
zpravidla ve výchozí konfiguraci připojují na adresu 127.0.0.1
.
Na tuto adresu se připojí jen počítač, na kterém byl server spuštěn. Pro
publikování serveru musíte server spustit na IP adrese, kterou jste nastavili
výše v konfiguraci.
To probíhá v případě Apache serveru souborem httpd.conf
nebo ports.conf
(https://httpd.apache.org/….4/bind.html),
v případě například Minecraft serveru souborem
server.properties
. Některé servery mohou vyžadovat zadání IP
adresy a portu při spuštění z příkazové řádky. Pro bližší info si
prostudujte dokumentaci spouštěného serveru.
Nyní již máme všechno nastaveno a můžeme server spustit. Vše by v tuto chvíli mělo fungovat a lidé mimo vaši domácí sít by měli být schopni připojit se k vám na server.