Вашето одобрено прокси работи на скок-домаќин каде што слуша само на loopback, па ништо надвор од таа машина не може да го достигне. Не ви треба VPN или ново прокси; ви треба еден порт од таа машина пренесен на еден ваш порт. Локалното проследување го прави токму тоа, и бара една команда плус едно поставување на апликацијата. Збунетоста обично доаѓа од мешањето која loopback адреса припаѓа на која машина.

Одлучете дали веќе постои фиксно прокси

Оваа техника проследува услуга што веќе работи. Ако оддалечениот домаќин има само SSH демон и нема прокси, никакво проследување нема да создаде едно, и врската ќе биде одбиена од оддалечената страна. Потврдете дека проксито е врзано, кој е неговиот порт и дали слуша на 127.0.0.1 или на одредена адреса на интерфејс, бидејќи таа адреса е целта што проследувањето мора да ја гаѓа.

Ако го потврдите ова прво, ќе се спасите од отстранување грешки на тунел што никогаш не бил поврзан со ништо.

Изградете го проследувањето и прочитајте ја командата

Формата што ја сакате врзува loopback порт на вашиот преносен сметач и го поврзува, од страната на серверот, со адресата на проксито како што серверот ја гледа.

ssh -NT -o ControlPath=none -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:13128:127.0.0.1:3128 [email protected]

-N потиснува оддалечена команда, а -T потиснува доделување на termios, бидејќи сакате тунел, а не школка. Првата loopback адреса е местото каде слуша преносниот сметач; втората ја решава SSH серверот, па 127.0.0.1 таму значи проксито на таа машина. ExitOnForwardFailure прави командата гласно да не успее ако локалниот порт е веќе зафатен, наместо да започне сесија што ништо не проследува. Запишете ја целната адреса како што ја решава серверот, бидејќи име што може да го реши само вашиот преносен сметач ќе не успее на другата страна.

Сопствената политика на серверот важи пред нешто од ова да работи. AllowTcpForwarding мора да го дозволи тоа, а PermitOpen може да ограничи до кои одредишта и порти сесијата може да стигне, па проследување што клиентот го прифаќа серверот сепак може да го одбие. Одбивањето се појавува како грешка при проследување или канал на клиентот, и читањето на таа порака е побрзо од уредување на командата.

Насочете една апликација кон проследувањето

Конфигурирајте ја апликацијата да користи HTTP прокси на http://127.0.0.1:13128, со акредитиви ако оддалеченото прокси ги бара. Задржете ја сопствената проверка на сертификати на апликацијата за HTTPS одредишта, бидејќи тунелот на проксито не ја заменува. Ова е фиксно проследување на една услуга, па на апликацијата мора да ѝ се каже за прокси наместо да се остави сама да открие едно.

Брза проверка пред какво било трајно конфигурирање: curl -x http://127.0.0.1:13128 -I https://example.com, што го вежба HTTP CONNECT методот што проксито мора да го поддржува.

Задржете го авторитетот каде што беше

Оддалеченото прокси сѐ уште одлучува кои одредишта и методи ги дозволува, и најавувањето преку SSH не треба тивко да му даде на секоја сметка општ веб реле. Врзувањето на 127.0.0.1 на преносниот сметач избегнува објавување на портот на вашата локална мрежа, и не го прави портот приватен од други процеси на истата машина. Замената на тоа врзување со wildcard адреса за споделување на проксито е начинот на кој се создава нераководено отворено реле.

SSH транспортот го штити скокот до серверот. По таа точка проксито отвора сопствена врска, па обично HTTP барање до одредиште останува обично и по серверот, иако првиот сегмент бил шифриран.

Проверете ги двата краја, потоа исчистете

Поставувањето на локалниот тунел и успехот на оддалечената услуга се различни резултати, и излезниот статус на командата ви кажува само за првиот. Проверете дали слушачот постои со ss -ltn, потоа направете дозволено барање од апликацијата и барање што проксито треба да го одбие. Ако двете се однесуваат како што се очекува, патеката е вистинска; ако тунелот работи, а секое барање не успее, проксито одбива или не може да стигне до одредиштето.

Кога ќе завршите, запрете го SSH процесот што го поседува, отстранете го поставувањето на проксито од апликацијата и потврдете дека локалниот порт исчезнал наместо да оставите слушач што ќе ја надживее задачата.

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