DNAT ya proksi wazi: kwa nini njia ya kurudi ni muhimu
Elewa kwa nini DNAT inaweza kupeleka ombi kwa proksi tofauti wakati jibu linapita lango na kuvunja muunganisho.
SYN iliyoelekezwa upya inaweza kufika Squid wakati mteja bado anapata muda wa kupita. Katika usanidi wa DNAT, pakiti ya kurudi pia lazima ifike kwenye lango linalomiliki hali ya tafsiri.
Fikiria LAN hii ya kimawazo:
client 192.168.40.25 → gateway 192.168.40.1
DNAT → proxy 192.168.40.10
proxy 192.168.40.10 → client 192.168.40.25 directlyMteja aliunganisha awali na anwani ya tovuti. Baada ya DNAT, proksi inaona chanzo cha mteja na inaweza kutumia njia ya subnet ya karibu kujibu moja kwa moja. Jibu hilo linakosa tafsiri ya kinyume ya lango na linaweza kumfikia mteja kutoka anwani ya proksi badala ya anwani ya tovuti inayotarajiwa. Lango haliwezi kurekebisha pakiti ambazo halipokei kamwe.
| Mbinu | Tokeo |
|---|---|
| Kupitisha majibu ya proksi kupitia lango linalotafsiri | Muunganisho unaoingia kwa proksi unaweza kuhifadhi anwani ya chanzo ya mteja |
| Kutumia pia tafsiri ya chanzo inayofaa | Proksi inajibu lango kama mwenzake, lakini sasa inaona chanzo hicho kilichotafsiriwa badala ya mteja asilia |
Usiondoe SNAT kwa kumbukumbu nzuri zaidi bila kuthibitisha njia ya kurudi. Kuitumia kwa upana pia hubadilisha ACL za chanzo na ugawaji; kubali tokeo hilo kama sehemu ya muundo.
Hatua ya HTTP inayoaminika inaweza kuwasilisha metadata ya mteja katika kichwa cha upelekaji, lakini NAT haitengenezi kichwa hicho au kuibadilisha kuwa utambulisho wa mwenzake wa TCP. Kuhifadhi chanzo kwenye muunganisho kuelekea Squid hakuhifadhi pia kwenye muunganisho tofauti wa tovuti wa Squid.
Mwisho, muundo wa ukaguzi bado unapaswa kutoa taarifa za mwisho zinazohitajika na Squid. Uelekezaji wa kurudi wenye ulinganifu hutatua utaratibu huu wa muda wa kupita, si usanidi wote wa proksi wazi.