snop píše:tak podival sem se nato cez wiresharnek a zjistil sem ze na poslu TCP SYN paket a nedostavi se zadna odpoved ani jeden paket. Coz se samozrejme dalo predpokladat.
Tak to už bude horší.
snop píše:tem nechapu, ale nevadi. To musela byt nejaka haluz.
Jakápak halůz?Pokud se budeme držet konvence:
Na 10.6.2.2:
-vygeneruje SYN paket s cílovou adresou 88.89.100.103 a zdrojovou 10.6.2.2
-Routovací tabulka se začne projížďet od shora dolů a jelikož tato adresa neleží na lokální síti, tak se bude pokračovat dokud se nenarazí na cíl 0.0.0.0/0(tedy default gateway) a podle něj se vyplní cílová MAC adresa na MAC adresu default gateway(10.6.2.1)
-Paket je připraven a tak se vypustí na drát a bude se očekávat SYN/ACK od cíle 88.89.100.103
Na 10.6.2.1:
-Dorazil paket s cílovou adresou 88.89.100.103 na rozhraní eth0 a MAC adresa odpovídá MAC adrese rozhraní eth0, ale cílová adresa nesedí, takže paket asi bude pokračovat a spustí se na Routeru celá ta mašinerie
-v PREROUTING chainu bude odpovídat cílová adresa paketu dst-address pravidla a je pro ni přichystána akce přepisu cílové adresy na 10.6.2.3(tedy WEB-Serveru), tudíž staň již se tak.
-Přejde se na samotné směrování a směrovací tabulka se začne projíždět od shora dolů dokuď se nenarazí na to, že 10.6.2.0/24 je v tabulce a je pro ni určeno rozhraní eth0(je na LAN)
-Paket je připraven a to s cílovou adresou 10.6.2.3 a zdrojovou adresou 10.6.2.2(o žádném manglování ani src-natu nebyla zatím řeč). Provedou se takové podřadnosti jako zjištenía doplnění MAC adresy a paket je neohroženě vyslán na drát vstříc svým osudům
Na 10.6.2.3:
-Dorazil SYN paket s portem na kterém běží služba, takže by nebylo od věci odpovědět SYN/ACK paketem.Zdrojová adresa odesilatele je 10.6.2.2
-Přejde se na určování kam vůbec paket vhodit.10.6.2.2 odpovídá 10.6.2.0/24, které je na LAN, takže se zjistí jeho MAC adresa a
-SYN/ACK Paket je vypuštěn na drát s zdrojovou adresou 10.6.2.3 a s cílovou 10.6.2.2
Znovu na 10.6.2.2:
-Ten ještě stále čeká na SYN/ACK Paket od 88.89.100.103 a když v tom, něco dorazilo
-SYN/ACK se zdrojovou adresou 10.6.3.2 a s cílovou adresou 10.6.2.2. 10.6.2.2 neví nic o tom, že by chtěl komunikovat s 10.6.2.3(ten přece čeká na potvrzení od 88.89.100.103), takže ignorace a paket je zahozen
-88.89.100.103 nějak neodpovídá, asi byl SYN paket po cestě ztracen, takže provede odeslání SYN paketu znova a znova mu dorazí odpověď od 10.6.2.3 a takto pořád dokola dokud mu nevyprší časový limit pro vytvoření spojení
-Cílový hostitel není dostupný a pohádky je konec
Už jinak fakt nevím jak to vysvětlit. Už by pomohla asi jenom tužka, papír a pivo.
snop píše:88.89.100.103 je ma vlastni verejna ip adressa, s kterou ten mikrotik nema nic spolecneho. On skratka dela iba NAT. Podla teho vysse popsaneho pravidla, muj TCP SYN packet se src=10.6.2.2 a dst=88.89.100.103 dojde na mikrotik, mikrotik v POSTROUTE zameni src=10.6.2.2 za src=10.6.2.1 a vubec nechapu, jak se ten paket s dst=88.89.100.103 dostane na moje rozhrani 10.6.2.2.
Asi to bude trošku složitější. Jen ať si ujasníme topologii: Host:10.6.2.2 na LAN0, Router s DST-NAT pravidlem: 10.6.2.1 na LAN0, WEB-Server: 10.6.2.3 na LAN0
BTW.:Neměl by spíše být DST-NAT v PREROUTING chainu?
snop píše:Jeste se chci zeptat, ma to pravidlo by pred ale az po mojich NAT pravidlach, teda
Kód: Vybrat vše
iptables -t nat -A PREROUTING -i eth0 -d 88.89.100.103 -j DNAT --to-destination 10.6.2.2
iptables -t nat -A POSTROUTING -o eth0 -s 10.6.2.2 -j SNAT --to-source 88.89.100.103
alebo natem nezalezi ?
Ano, po a v POSTROUTINGu. Ale když tak teď nad tím přemýšlím. Když SYN/ACK dorazí zpět na router ale s cílem 88.89.100.103, tak ten jej znova přeloží na adresu WEB-Serveru a ten ho odešle zase zpět serveru. Nebylo by lepší místo SNATu použít maškarádu?