გამჭვირვალე პროქსის DNAT: რატომ არის მნიშვნელოვანი დაბრუნების მარშრუტი
გაიგეთ, რატომ შეიძლება DNAT-მა მოთხოვნა ცალკე პროქსის მიაწოდოს, სანამ პასუხი კარიბჭეს გვერდს უვლის და კავშირს წყვეტს.
გადამისამართებული SYN შესაძლოა Squid-ამდე მივიდეს, სანამ კლიენტს ჯერ კიდევ დროის ამოწურვა აქვს. DNAT კონფიგურაციაში დაბრუნების პაკეტმაც უნდა მიაღწიოს კარიბჭეს, რომელსაც ტრანსლაციის მდგომარეობა უჭირავს.
განვიხილოთ ეს ჰიპოთეტური LAN:
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 directlyკლიენტი თავდაპირველად ვებსაიტის მისამართს დაუკავშირდა. DNAT-ის შემდეგ პროქსი ხედავს კლიენტის წყაროს და შესაძლოა ლოკალური ქვექსელის მარშრუტით პირდაპირ უპასუხოს. ეს პასუხი გამოტოვებს კარიბჭის შებრუნებულ ტრანსლაციას და შესაძლოა კლიენტამდე პროქსის მისამართიდან მივიდეს, მოსალოდნელი ვებსაიტის მისამართის ნაცვლად. კარიბჭე ვერ შეაკეთებს პაკეტებს, რომლებსაც არასოდეს იღებს.
| მიდგომა | შედეგი |
|---|---|
| პროქსის პასუხების გატარება მთარგმნელ კარიბჭეში | პროქსისკენ მიმავალ შემავალ კავშირს შეუძლია კლიენტის წყაროს მისამართის შენარჩუნება |
| შესაბამისი წყაროს ტრანსლაციის გამოყენებაც | პროქსი კარიბჭეს პასუხობს როგორც მისი პარტნიორი, მაგრამ ახლა ხედავს იმ თარგმნილ წყაროს და არა საწყის კლიენტს |
ნუ მოხსნით SNAT-ს ლამაზი ჟურნალებისთვის დაბრუნების მარშრუტის შემოწმების გარეშე. მისი ფართო გამოყენება ასევე ცვლის წყაროს ACL-ებსა და მიკუთვნებას; მიიღეთ ეს შედეგი დიზაინის ნაწილად.
სანდო HTTP ნახტომს შეუძლია კლიენტის მეტამონაცემები გადამისამართების თავსართში გადასცეს, მაგრამ NAT არ ქმნის ამ თავსართს და არც TCP პარტნიორის იდენტობად აქცევს. წყაროს შენარჩუნება Squid-თან კავშირზე არ ინარჩუნებს მას Squid-ის ცალკე ვებსაიტის კავშირზე.
და ბოლოს, ჩარევის დიზაინმა მაინც უნდა უზრუნველყოს Squid-ისთვის საჭირო დანიშნულების ინფორმაცია. სიმეტრიული დაბრუნების მარშრუტიზაცია წყვეტს ამ დროის ამოწურვის მექანიზმს და არა მთელ გამჭვირვალე პროქსის კონფიგურაციას.