curl socks5h socks5-ის წინააღმდეგ: ვინ წყვეტს ჰოსტის სახელს
დამატებითი ასო DNS მოთხოვნას გადაადგილებს და არა დაშიფვრას. შეადარეთ ორივე ფორმა, შემდეგ შეამოწმეთ, რომელ ჰოსტის სახელს კვლავ სჭირდება ლოკალური გადამწყვეტი.
ადამიანები socks5h-ს socks5-ად აღიქვამენ უფრო მოსახერხებელი წერილობით, და ელიან, რომ ორივე ერთსა და იმავე მოთხოვნას იმავე ადგილას გაგზავნის. დამატებითი ასო სამაგიეროდ DNS მოთხოვნას გადაადგილებს. მანქანაში, რომლის გადამწყვეტი და პროქსი სხვადასხვა ქსელშია, ეს არის სხვაობა მომუშავე და წარუმატებელ მოთხოვნას შორის.
ერთი ასო, ორი გადამწყვეტი
სქემა წყვეტს, სად იქცევა დანიშნულების სახელი მისამართად. ლოკალური გადაწყვეტა იყენებს თქვენს მანქანაზე მოწყობილ გადამწყვეტს. დისტანციური გადაწყვეტა ჰოსტის სახელს SOCKS მოთხოვნის შიგნით ათავსებს და პროქსი მას საკუთარი გადამწყვეტითა და ქსელის საკუთარი ხედვით ეძებს. ორივე ფორმა კვლავ იმავე პორტზე იმავე პროქსის მისამართს უკავშირდება, ამიტომ განსხვავება მოთხოვნის სხეულშია, არა გზაში.
სქემაში არაფერი ცვლის დაშიფვრას ან ავთენტიფიკაციას; მოძრაობს მხოლოდ DNS გზა. ამიტომ ასოს უყურადღებოდ დატოვება ადვილია, ხოლო შეცდომა ძვირი.
იგივე პროქსი, სხვა მოთხოვნა
ორი გამოძახება ერთი სიმბოლოთი განსხვავდება. დანარჩენი ყველაფერი იდენტურია:
curl --proxy socks5://proxy.example:1080 https://service.example/
curl --proxy socks5h://proxy.example:1080 https://service.example/The curl-ის პროქსის ცნობარი ამ სქემებს ცალ-ცალკე აღწერს და ეს არის ავტორიტეტული მიზეზი, რომ ისინი სინონიმებად არ მივიჩნიოთ. გაუშვით ორივე უვნებელი საბოლოო წერტილის წინააღმდეგ, რომლის გამოყენებაც ნებადართული გაქვთ, და წაიკითხეთ განსხვავება. წარმატებული დისტანციური ძებნა სხვა პროგრამებზე არაფერს ამბობს, რადგან ბრაუზერები, პაკეტების მმართველები და ენების გაშვების გარემოები თითოეული თავად ირჩევს.
თავად პროქსის სახელი ლოკალურად წყდება
ამ ბრძანებაში proxy.example მისამართად უნდა იქცეს სანამ სხვა რამ მოხდება, და ეს ძებნა ყოველთვის ლოკალურია. service.example-ის გადაწყვეტის პროქსიზე გადატანა არაფერს აკეთებს თავად პროქსის სახელისთვის, რომელსაც კვლავ სჭირდება გადამწყვეტი, რომელსაც თქვენი მანქანა მიაღწევს. სწორედ აქ ცვლის VPN სურათს.
თუ პროქსის სახელი მხოლოდ გვირაბის შიგნით წყდება, კავშირი დამოკიდებულია იმაზე, რომ გვირაბი curl-ის დაწყებამდე აწეული იყოს. რომელი სქემა გაიმარჯვებს, დამოკიდებულია იმაზე, რომელი მხარე შეძლებს პასუხს. როცა თქვენი მანქანა ვერ წყვეტს დანიშნულებას, პროქსი კი შველის, socks5 ვარდება და socks5h წარმატდება. როცა თქვენი მანქანა მას გვირაბით წყვეტს, პროქსი კი ვერ შველის, socks5 მუშაობს და socks5h ვარდება.
სქემა პროქსისკენ კავშირს VPN-ის შიგნით ან გარეთ არ ათავსებს; ამას მარშრუტიზაციის ცხრილი აკეთებს და სქემა მას ვერასდროს ხედავს. ამიტომ ერთ გვირაბს შეუძლია ერთი სქემა გაასწოროს და მეორე გააფუჭოს იმავე მანქანაზე. ასო მხოლოდ იმას წყვეტს, ვინ სვამს კითხვას.
რისი გადაწყვეტა შეუძლია თითოეულ მხარეს
საჯარო პროქსი ვერ წყვეტს მხოლოდ კომპანიაში არსებულ სახელს, ამიტომ ჰოსტის სახელის იქ გაგზავნა პროქსიზე ვარდება და ჩნდება როგორც პროქსის შეცდომა და არა ლოკალური DNS შეცდომა. იმავე კერძო ქსელის შიგნით მყოფი პროქსი ჩვეულებრივ შველის ასეთ სახელებს, და სწორედ იქ იმართლებს socks5h თავის თავს. აირჩიეთ გადამწყვეტის ადგილი იმ პოლიტიკით, რომელიც ნამდვილად გჭირდებათ, რადგან დისტანციური DNS ავტომატურად უფრო ძლიერი არ არის და ის სახელს ნამდვილად მესამე მხარეს გადასცემს. საჯარო დანიშნულებისთვის ორივე ფორმა მუშაობს, ამიტომ ამჯობინეთ ის, რომელსაც თქვენი სხვა ხელსაწყოები უკვე იყენებენ.
ჩაწერეთ ეს არჩევანი runbook-ში და არა კომენტარში, და დააშორეთ სერტიფიკატები საერთო ისტორიასა და დიაგნოსტიკურ გამონაბოლქვს. შემდეგ ცვალეთ ერთი ცვლადი თითო ჯერზე: იგივე დანიშნულება, იგივე ბინარი, იგივე გადამწყვეტი, ერთი ასო.
რომელმა ბინარმა უპასუხა
იმავე მანქანაზე ორი curl-ის ბინარი შეიძლება განსხვავდებოდეს ვერსიითა და აგების შესაძლებლობებით. Unix-ის მსგავს გარსში type -a curl ჩამოთვლის გზაზე ყველა დამთხვევას და curl --version აჩვენებს იმის შესაძლებლობებს, რომელიც გაეშვება. გზის დასაწყისში მდგომი შემოხვევის სკრიპტი ან ფსევდონიმი ხშირი მიზეზია იმისა, რომ შედეგები არ ემთხვევა ბინარს, რომელსაც თქვენ ტესტავთ.
მხარდაუჭერელი სქემა, პროქსი, რომელიც სახელს ვერ წყვეტს, და მიუწვდომელი დანიშნულება სამი სხვადასხვა შეცდომაა, ამიტომ წაიკითხეთ შეტყობინება ასოს შეცვლამდე. აგება socks5h სინტაქსის გარეშე პროქსის სტრიქონს მხარდაუჭერელად აცხადებს, რაც არ არის იგივე, რაც ვერ გადაწყვეტილი სახელი. ნუ აქცევთ სისტემური curl-ის შესახებ ერთ ძველ მოხსენებას ყველა პლატფორმისთვის მუდმივ წესად.