3016
Sítě / Re:IPtables a zařízení za NAT
« kdy: 13. 08. 2018, 19:12:22 »Tak som si to checkol, ospravedlnujem sa..Ano treba robit aj SNAT/MASQUERADE na odchadzajucom interfacy smerom do vnutornej siete.. Povodne MASQUERADE pravidlo sa aplikuje na nove spojenia smerom zvnutra, cize toto spojenie nijako neovplyvni..Ano, tak je to správně. O přepsání cílové adresy paketu, který je odpovědí na paket, na kterém byl proveden DNAT, se postará samotné jádro. Jedině to má totiž dostatek informací.
Cize aby to fungovalo musis robit na routri v PREROUTINGu DNAT na vnutornu IP a nasledne v POSTROUTINGU SNAT alebo MASQUERADE.Nesmysl. Výše jsem to vysvětloval, vyzkoušejte si to. Na to, abyste dělal reverzní NAT, nemáte k dispozici potřebné informace. Když jádro dělá SNAT, mění zdrojovou IP adresu, ale také může změnit zdrojový port! Představte si, že máte v privátní síti dva počítače, které se oba rozhodnou přes váš NAT (SNAT, maškarádu) připojit pomocí HTTPS protokolu na portu 443 na server 1.1.1.1. Cílová dvojice adresa:port tedy bude v obou případech 1.1.1.1:443, zdrojová IP adresa bude po SNATu veřejná IP adresa routeru – ale čtveřice zdrojové a cílové IP adresy a portů identifikuje TCP/IP spojení, nemohou zároveň existovat dvě spojení, která budou mít tyto údaje stejné. Takže SNATu nezbývá, než jeden z těch odchozích portů změnit. Kdybyste pak u příchozích paketů dělal DNAT ručně, jak byste věděl, který port patří kterému počítači v privátní síti?
Takže když děláte SNAT nebo maškarádu, definujete jen pravidla pro odchozí pakety a jádro samo automaticky aplikuje reverzní pravidla na příchozí pakety (a případně samo mění port podle toho,jak ho změnilo u odchozího paketu). No a DNAT se chová úplně stejně, například protože by bylo nesmyslné, aby se to pro DNAT chovalo jinak, než pro SNAT.
Lépe bych to nenapsal.