DNAT proksi telus: mengapa laluan balik penting
Fahami mengapa DNAT boleh menghantar permintaan ke proksi berasingan sementara balasan memintas gateway dan memutuskan sambungan.
SYN yang dialihkan boleh tiba di Squid sementara klien masih tamat masa. Dalam persediaan DNAT, paket balik juga mesti sampai ke gateway yang memegang keadaan terjemahan.
Pertimbangkan LAN hipotetikal ini:
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 directlyKlien pada mulanya bersambung ke alamat laman web. Selepas DNAT, proksi melihat sumber klien dan boleh menggunakan laluan subnet tempatan untuk membalas terus. Balasan itu terlepas terjemahan songsang gateway dan boleh sampai kepada klien dari alamat proksi dan bukannya alamat laman web yang dijangkakan. Gateway tidak boleh membaiki paket yang tidak pernah diterimanya.
| Pendekatan | Akibat |
|---|---|
| Menghantar balasan proksi melalui gateway yang menterjemah | Sambungan masuk ke proksi boleh mengekalkan alamat sumber klien |
| Menggunakan terjemahan sumber yang sesuai juga | Proksi membalas gateway sebagai rakan setaranya, tetapi kini melihat sumber terjemahan itu dan bukan klien asal |
Jangan buang SNAT demi log yang lebih cantik tanpa mengesahkan laluan balik. Menggunakannya secara meluas juga mengubah ACL sumber dan atribusi; terima akibat itu sebagai sebahagian daripada reka bentuk.
Lompatan HTTP yang dipercayai boleh menyampaikan metadata klien dalam pengepala penghantaran, tetapi NAT tidak mencipta pengepala itu atau mengubahnya menjadi identiti rakan TCP. Mengekalkan sumber pada sambungan ke Squid juga tidak mengekalkannya pada sambungan laman web berasingan Squid.
Akhir sekali, reka bentuk pemintasan masih perlu menyediakan maklumat destinasi yang diperlukan Squid. Penghalaan balik simetri menyelesaikan mekanisme tamat masa ini, bukan keseluruhan konfigurasi proksi telus.