Луѓето го третираат 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 во трајно правило за секоја платформа.

Поврзани статии