[quote author=peter link=topic=20522.msg303651#msg303651 date=1547501576]
Môžete to prosím vysvetliť podrobne? Musím priznať že táto znalosť dosť narúša moje naivné predstavy o sieťovaní. Ale je pravda že zo školy som už mnoho rokov preč a som len samouk, sieťovaniu sa profesionálne nevenujem.
Nejjednodušší je dostat se ven ze sítě. V síti existuje gateway (má řekněme IP adresu 192.168.1.1). Pokud se pokusíš kontaktovat něco mimo tvou síť, tak IP stack ví, že skrz tuhle adresu vede cesta ven (a ví podle masky, že to není prefix jeho sítě a chce ven), zjistí si přes ARP MAC adresu a na ni pošle paket s cílovou IP adresou, kterou chce kontaktovat. Gateway paket přijme a prohodí ho dál, nijak to neřeší.
Z venku to samý. Řekněme, že mám páteřní síť ve firmě a tahle gateway má směrem ven adresu 192.168.0.25. Pokud chce někdo přistupovat na třeba 192.168.1.27, router hodí (na základě tabulky prefixů) paket na 192.168.0.25 a gateway ho prohodí do té naší sítě, kde .27 buďto je, nebo není. To není jeho starost.
Neřeší se IP adresy zdroje ani příjemce, neřeší porty, neřeší protokol...
Router ti podle tabulky řekne, že "192.168.1.0/255.255.255.0 je na rozhraní LAN přes IP adresu 192.168.0.25". Router funguje taky jako gateway, takže tvoří gateway pro tu páteřní síť a jednak říká, který paket má jít kam mezi vnitřníma sítěma a druhak komunikuje s vnějším světem (pro prefixy, který nejsou ve vnitřní síti, hází pakety ven na jedno nebo několik rozhraní podle nějaké metriky).
Když nasadím službu SNAT do té gatewaye, tak přijde paket z vnitřní sítě "192.168.1.7->8.8.8.8" a SNAT místo gatewaye to změní na "192.168.0.25->8.8.8.8". Podobně pro příchozí, odpověď "8.8.8.8->192.168.0.25" se překope na odpověď "8.8.8.8->192.168.1.27" a paket projde. Přitom není potřeba ho otevírat zvenku, SNAT ví, že to má házet tomuhle stroji. Veškerá ochrana 0.
Oproti tomu pokud tam dám firewall, ten se podívá do paketu, ale nic nezmění. Zjistí si protokol, zdrojovou a cílovou IP adresu, zdrojový a cílový port. A pak prochází tabulku pravidel a první, který vyhoví, použije. Takže pokud na 192.168.1.27 máš Telnet na portu 22 a nechceš, aby byl viditelný zvenku, dáš tam pravidlo, že přístup od kohokoliv z WAN na tuhle adresu, port 22 má zahodit. No a firewallem neprojde paket, který by navázal spojení. Přitom každý jede pod svou IP adresou.
V podstate sa môžeme dohodnúť na Vašej terminológii, ale moja prestava je takáto
- Firewall je pre mňa sieťový komponent (či už softvérový alebo samostatná krabička), ktorá poskytuje rôzne služby
- NAT je služba
- Filtrovanie packetov je služba
ak správne rozumiem tak pre Vás Firewall == filtrovanie packetov.
Firewall je filtr paketů. Jedno jestli SW black box na nějakým zařízení, nebo samostatná krabice. Žádný další služby dělat nemůže. Je to portýr u vchodu, jenom kontroluje vstupenky. Ale nemůže nikoho nutit, aby se převlíkal, nebo aby šel na WC do kabinky č. 3, pokud bude potřebovat. Vejdi nebo vypadni.
No a celý ten slavný NAT by bez firewallu vypadal tak, že na router přijde na WAN port požadavek na (privátní) adresu v LAN, router ji zná, tak ho pustí dovnitř a paket prostě předá do LAN. Je to jeho práce*. Takže pokud má někdo možnost do sítě ISPíka pouštět IP adresy z tvýho privátního rozsahu, je pro něj bez FW tvoje síť krásně transparentní... Jenom tě nebude kontaktovat přes IP adresu NATu. Stačí napadnout nějaký prvek v síti ISP, nebo počítač u souseda a z něho překonfigurovat jeho router a má tě. I proto je NAT jenom iluze bezpečnosti... Prostě musíš počítat s tím, že i privátní adresa může být vidět zvenčí a i když ty lezeš ven dveřma, někdo se dovnitř může dostat oknem.
Bez FW nic bezpečně neuděláš, i to, že se schováváš za NATem a nepřijde ti nic přímo, je práce firewallu (že nepustí pakety s privátní adresu z WAN do LAN). No a když už tam ta filtrace je, k čemu potřebuješ NAT, pokud nepotřebuješ z důvodu absence dostatku IP adres schovat víc strojů za jednu "veřejnou"** IP adresu? K tomu, aby sis zbytečně komplikoval život...
------
*) Smlouva s routerem: Přijde-li ti paket a znáš jeho IP adresu, předej ho do příslušné sítě, jinak se pokus zjistit, jak ho doručíš.
**) "Veřejná" IP adresa je často ještě za CGNATem nebo je přidělená automaticky z DHCP, často obojí