Domácí síťování: Veřejná IPv4 pro všechny
i Zdroj: PCTuning.cz
Sítě a Internet Článek Domácí síťování: Veřejná IPv4 pro všechny

Domácí síťování: Veřejná IPv4 pro všechny | Kapitola 8

Petr Šaroun

Petr Šaroun

14. 8. 2018 03:00 26

Seznam kapitol

1. Dokončení třináctého dílu 2. Linux a služby 3. Vytvoření VPN serveru 4. Konfigurace VPN serveru 5. Připojení k VPN z Windows
6. Testování VPN 7. Vystavujeme zařízení do internetu – příprava 8. Vystavujeme zařízení do internetu – realizace 9. Webová kamera vystrčená do internetu

Dnes dokončíme, co jsme nakousli v minulém článku Veřejná adresa IPv4 za třicet korun. Víc se podíváme na naše VPS, trochu si popovídáme o Linuxu (práva, služby, konfigurační soubory), vytvoříme VPN server, odstraníme nejběžnější chyby VPN klientů, probereme trochu teorii a nakonec si do internetu nasdílíme IP kameru.

Reklama

Vystavujeme zařízení do internetu – realizace

Upozornění: Místy opakuji fakta stále znovu a znovu, pro zkušené uživatele to otravuje, berte to jako důkaz, že tomu vážně rozumíte. Opakování jsou pro mírně pokročilé uživatele.

Přejeme si určitý port – veřejné IP adresy VPS – přesměrovat do vnitřní sítě, na námi vybraný port VPN klienta. Obrázek tento stav ilustruje, vše je naznačeno vysvícenou šipkou.

Popis situace
i Zdroj: PCTuning.cz
Popis situace

Zpracování paketů v Linuxu má na starosti systém IPtables. IPtables jsou složitější, není to nic nepochopitelného, ale celou situaci komplikuje fakt, že řada výkladů je zmatená nebo těžko uchopitelná.

Následují pravidla, která budete vkládat do iptables. Před vyzkoušením dané sady pravidel server restartujte, aby došlo k vyčištění iptables a znovu spusťte PPTPD. (A ano, správné by bylo pravidla odmazávat.)

Test 1

Bez přesměrování portu dovnitř, pouze pouštíme klienty VPN na internet.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Maskujeme odchozí provoz skrz eth0 tak, aby se za odchozí IP dosadila naše veřejná IP adresa.

Test 2

První pravidlo je naše oblíbená maškaráda odchozího provozu.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.8.8:8080
Druhé pravidlo vytváří DNAT a je vysvětleno o pár řádků dole.

Test 3

První pravidlo vytváří DNAT a je vysvětleno o pár řádků dole.
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.8.8:8080
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 80.123..*Veřejná_IP_vašeho_VPS*
Druhé pravidlo vytváří zdrojový NAT (maskuje odchozí IP za naší veřejnou IP). A je opět vysvětleno dole.

Pravidla si prohlédněte, podívejte se na vysvětlení dále, vraťte se k nim a zkuste si je vložit do VPS. Pravidla jsou funkční, ale nejsou úplně "správně", u iptables nemůžete jen tak něco zkoušet, iptables musíte chápat.

Poznámka pro pokročilejší:
Pokud máte nastavené DROP (zahodit) na firewallu, musí se přidat i:
iptables -A FORWARD -d 192.168.8.8 -p tcp --dport 8080 -j ACCEPT

DNAT – překlad IP adresy na základě cílové destinace

Data přijdou na port XY veřejné IP adresy (tedy zvenčí) a my víme, že pokud něco přijde na port XY, chceme to poslat jinému počítači v síti (klidně na jiný port).

DNAT (cílový NAT)
i Zdroj: PCTuning.cz
DNAT (cílový NAT)

Zpracování probíhá už v rámci PREROUTING (před-směrováním), nový cíl určíme paketům hned na začátku a chceme, aby došlo k přeposlání dat dál v rámci dalších kroků.

Na veřejnou IP adresu přijde paket (na port 8080). Linux ho převezme, probublává uvnitř, my máme pravidlo pro část PREROUTING (před-směrování). Pravidlo zní: pokud přijde TCP spojení na port 8080, udělej DNAT, změň paketu cílovou IP adresu na 192.168.8.8 a pošli ho na port 8080.

Proč? Chceme data předat dál do sítě. Jinak spojení skončí uvnitř VPS, pravidlo přeposílá data na jinou IP.

SNAT – zamaskování IP adresy původního odesilatele

Do internetu nepatří adresy 192.168.0.1 nebo 10.0.0.138, aby si počítač z vnitřní sítě mohl povídat s počítačem v internetu, musíme vzít odchozí data a změnit jim IP adresu odesilatele na nějakou veřejnou IP (veřejnou IP VPS v tomto případě).

SNAT (zdrojový NAT)
i Zdroj: PCTuning.cz
SNAT (zdrojový NAT)

Zpracování probíhá až v rámci POSTROUTING (po-směrování), až když data odchází pryč do internetu.

Proč to tak je? Protože nechceme, aby do internetu odešel paket s adresou odesilatele 192.168.8.8. IP adresa 192.168.8.8 je adresa privátní, takové do internetu nepatří. V rámci domova si můžete napsat vzkaz s podpisem (adresou odesilatele) "Tvoje prdelka".

Vzkaz
i Zdroj: PCTuning.cz
Vzkaz

Pokud doma najdete takový vzkaz, jistě odesilatele rychle odhalíte. A přijdete i na to, jak jí doručit odpověď.

Oproti tomu dopis s adresou odesilatele "Tvoje prdelka" by u příjemce vyvolal nejméně zdvižené obočí.
V rámci lokální sítě jsou privátní adresy přijatelné. V rámci internetu naopak nepřijatelné.

Zpáteční adresa

Můj výklad je uzpůsobený začátečníkům, profesionál to přejde s pozdviženým obočím a doufám, že i chápajícím úsměvem. Pro ostatní, pokud Vás to chytne, sednete si k tomu a za víkend umíte iptables.

Ověření

Restartujte VPS a vložte pravidla tak, aby se do vnitřní sítě přesměroval port 80 veřejného rozhraní na port 8080 vnitřního rozhraní ASUSu! Ověřte si, že vám na portu 80 už neběží přesměrované SSH, na portu může bydlet jen démon jedné služby. Až to budete mít, ověřte si, že při zadání IP adresy vašeho VPS se zobrazí přihlašovací dialog vašeho routeru Asus AC58U. Na VPS už nebudeme sahat.

Restart, spuštění PPTPD, vložení pravidel

Restart serveru vymazal iptables, spustil jsem službu PPTPD a vložil dvě pravidla do iptables. Mám přístup na internet skrz IP mého VPS a pokud zadám na cizím počítači IP adresu VPS, objeví se mi konfigurace routeru ASUS, protože je vystrčená do internetu pomocí přesměrování portů.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama