Praktický význam SNAT --to s jedním portem

Praktický význam SNAT --to s jedním portem
« kdy: 24. 08. 2022, 21:46:00 »
Má nějaký praktický využití iptables -I POSTROUTING -t nat --to xxx.xxx.xxx.xxx:jeden_port?

Kdy tonajde uplatnení ? U local → ven nebo  zvenku→na.local nebo při forwardingovaní

Mám pocit že to znemožní souběžná připojení pro každou IP a danou službu(fixní port jelikož socket je tuple ip1,port1,ip2,port2) a jeden port je tedy zabrán (např 80), ip adresu má počítač jednu(předpoklad), druhý port je omezen-určen tímto pravidlem a zbývá tedy jen ta ip adresa druhého konce (schválně jsem to psal aniž bych předpokládal směr komunikace  NAT-odchozí vs forwardovování-někam-příchozí. Ano vím,že když se řekne SNAT(typ pravidla), náskočí NAT(maškaráda, natování u providera))
« Poslední změna: 24. 08. 2022, 22:25:55 od Petr Krčmář »


Re:praktický význam SNAT --to s jednim portem
« Odpověď #1 kdy: 24. 08. 2022, 22:03:31 »
Pro jeden port mě využití nenapadá, ale pro CGNAT se může používat rozsah portů cca 256/zákazník. Je pak dopředu známo kdy který zákazník měl který rozsah přidělen a když přijde nějaké hlášení nebo vyšetřování z venku, je velice snadné dohledat konkrétního zákazníka jen podle veřejné ip a source portu.

Re:Praktický význam SNAT --to s jedním portem
« Odpověď #2 kdy: 25. 08. 2022, 08:40:57 »
Předpokládám, že vám v příkladu vypadlo -j SNAT.

Použije se to tehdy, když chcete v odchozím paketu nastavit konkrétní port nebo rozsah portů. Konkrétní port se použije tehdy, když je potřeba nastavit konkrétní port – například když to vyžaduje protokol. Např. u FTP v aktivním módu otevírá server datové spojení vždy z portu 20. DNS odpovědi přes UDP se posílají z portu 53.

Obecně to souběžná připojení na jednu službu neznemožní, protože spojení je určeno čtveřicí (zdrojová a cílová IP adresa, zdrojový a cílový port) a obecně není služba svázána s žádným portem – takže spojení se pořád mohou lišit cílovým portem. Příkladem je opět FTP v aktivním módu, kde můžete mít více datových spojení, protože každé má jiný cílový port.

Re:praktický význam SNAT --to s jednim portem
« Odpověď #3 kdy: 26. 08. 2022, 13:28:27 »
Pro jeden port mě využití nenapadá, ale pro CGNAT se může používat rozsah portů cca 256/zákazník.
Rozumím, ale jde o stejný use case jako NAT v podstatě. (a toto je směr "ven")

protože spojení je určeno čtveřicí (zdrojová a cílová IP adresa, zdrojový a cílový port) a obecně není služba svázána s žádným portem
No to sice teoreticky není, i se to tak dělá, že si někdo přehodí ssh mimo 22 nebo rozjede víc http servrů odlišených porty (když nejde použív agregace virtualhostů nebo vícnásobný listen, prostě třeba různé implementace),  ale prakticky    se pokaždé na web lidi připojují na port 443 nebo sdílení windows samba taky předpokládá nějaký 139 nebo 445 (je jich víc) .

Možná tady je jádro pudla. Je použití SNAT takové, které s tímhle nějak souvisí?

Re:praktický význam SNAT --to s jednim portem
« Odpověď #4 kdy: 26. 08. 2022, 13:37:12 »
ale prakticky    se pokaždé na web lidi připojují na port 443
Internet není jen web.

Možná tady je jádro pudla. Je použití SNAT takové, které s tímhle nějak souvisí?
S čím má souviset? Napsal jsem vám dva příklady služeb, kdy není definován cílový port ale zdrojový (a je jich víc, já jsem jenom vybral jednu službu používající TCP a jednu UDP).