sshuttle SSH буга чейин иштеп жаткандыктан жана криптография тааныш көрүнгөндүктөн тандалат, бирок бул ой жүгүртүү ылайыктуулукту чечкен жалгыз суроону айланып өтөт. Кандай пакеттер машинадан чыгат, аларды аркы тарапта кайсы эсеп ташыйт жана курал канча жергиликтүү укук талап кылат. Бул үч жооп өткөрүү ыкмасына жараша өзгөрөт, ошондуктан бир колдонмо үчүн иштеген конфигурация кийинкиси үчүн үнсүз ишке ашпай калышы мүмкүн. Төмөнкү сереп колдонмо чындап муктаж болгон протоколдон башталат.

Колдонмого керектүү протоколдон баштаңыз

sshuttle 2.0де протокол колдоосу тандаган ыкмаңызга байланыштуу. Linuxтун NAT жана nft ыкмалары TCP менен DNSти иштетет, TPROXY жалпы UDPни кошот. Ар бир платформа менен ыкманын өз чектери бар, ал эми macOS таптакыр башка механизм аркылуу тосот. Бир нерсени тандаардан мурун орнотулган версияны, тандалган ыкманы жана колдонмого керектүү протоколдорду жазып алыңыз.

Ошондуктан иштеген TCP сурамы UDP колдонмосу же ар бир DNS издөө жөнүндө абдан аз нерсени далилдейт. sshuttle TCPни бүт IP пакеттерин туннелдөөнүн ордуна агым катары карайт, ошондуктан кадимки VPNден алынган өткөрүү жөндөмү тууралуу корутунду бул жерге өтпөйт. Чындап иштеткен механизмди чындап бар жүктөм менен салыштырыңыз.

ApproachWhat it carriesWhat it needs locally
SSH local forwardOne explicitly named TCP destinationNothing beyond the SSH client
sshuttle, nft or nat methodTCP and DNS to the routed prefixesRoot or sudo for firewall rules
sshuttle, tproxy methodTCP, DNS and general UDPRoot or sudo, and kernel support
IP VPNRouted IP traffic in a tunnelA client with the required privileges

Кардарга жергиликтүү түрдө эмне керек

Документтелген кардардык түзүлүш root же sudo талап кылат, анткени ал туннель интерфейсин түзүүнүн ордуна жергиликтүү тосуу эрежелерин орнотот. Ушул бир факт коопсуздук окуясын өзгөртөт: ушундай укугу бар процесс бүт машинанын трафигин багыттай алат, бир гана колдонмонун эмес. Укукту орнотуу деталы эмес, долбоорлоонун бөлүгү катары караңыз.

Курал кайсы эрежелерди орнотконун жана алар чыкканда жоголорун ырастаңыз. Тосуу эрежелерин калтырып кулаган сессия оператор байланыш кетти деп ойлогондон көпкө кийин трафикти кара көңдөйгө жибериши мүмкүн, ал эми симптом калган эреже эмес, тармак бузулушу сыяктуу көрүнөт.

sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route

Биринчи буйрук типтүү чакыруунун формасы, чындап керектүү префикс менен. Экинчиси курал эмнени орнотконун көрсөтөт, үчүнчүсү туннель интерфейси пайда болбогонун ырастайт, бул бул долбоор үчүн күтүлгөн натыйжа.

Алыскы тарап эмнени иштетет

Алыскы тарап уруксат берилген SSH эсеби жана шайкеш Python жардамчы чөйрөсү. Чектелген кабыкта ийгиликтүү кирүү ошол жардамчыны иштетүүгө автоматтык түрдө уруксат бербейт, жардамчыны иштете алган эсеп ар бир максаттуу кызматка автоматтык түрдө жетпейт. Эки факт тең мүчүлүштүктөрдү жоюу жазууларына эмес, кирүү сурамына тиешелүү.

Хосттун инсандыгын текшерүүнү жана эсептин аутентификациясын коргоңуз. Биринчи байланыш иштеши үчүн белгисиз хост ачкычын кабыл алуу алыскы тарап сиз көздөгөн машина деген текшерүүнү алып салат, жана бул бул жерде бир максаттуу өткөрүүгө караганда маанилүү.

Алыскы эсепти иш агымына керектүү кызматтар менен чектеңиз жана бул көлөмдү хостту башкаргандар менен келишиңиз. Алар ишеним мамилесинин бөлүгү, жана кардар тарабындагы эч бир параметр муну өзгөртпөйт.

Ишеним чек арасы кайда жатат

Жеке API байланышын SSH аркылуу өткөрүү ар бир API операциясына уруксат бербейт. Колдонмонун TLSи жана колдонмого кирүү дагы эле колдонулат, ал эми курал аутентификациясыз кызматты коопсуз кыла албайт. Алыскы хосттон кийинки секирик да автоматтык түрдө SSH каналы менен бирдей корголгон сегмент эмес, анткени бул экинчи байланыш алыскы хосттун кандай саясаты болсо, ошого баш ийет.

Чек араны бир сүйлөм менен жазыңыз: бул префикстерге трафик ошол хосттогу бул эсеп аркылуу чыгат. Эгер сүйлөмгө өзгөчөлүктөрдүн абзацы керек болсо, долбоор өз документтери айткандан көбүрөөк иштейт жана өндүрүшкө жетээрден мурун кайра кароого татыктуу.

Аны ар бир протокол боюнча далилдеңиз, анан куралды тандаңыз

Ар бир керектүү протоколду зыянсыз сурам менен текшериңиз, чечүүчүнүн жолун жана колдонмо колдонгон дарек топторун кошуп. Тестке ажыроону да кошуңуз, ошондо колдонмонун уруксат берилген ишке ашпоо жүрүм-туруму окуя учурунда күтүүсүз эмес, белгилүү натыйжа болот. Иштеп турганда туура өткөргөн сессия кулагандан кийин эмне болорун тууралуу эч нерсе айтпайды.

Ачык аталган бир аз кызматтар үчүн жөнөкөй жергиликтүү өткөрүү ээлик кылууга жана аудитке жеңилирээк. Өз ыкмасына туура келген колдонмо трафиги үчүн sshuttle мыйзамдуу орто жолду сунуштайт. Талап кенен IP байланыш болгондо, VPN долбоору чынчыл жооп болуп саналат, ал эми тандоо шифрлөө алгоритмдеринин рейтингин эмес, камтуу менен операциялык жоопкерчиликти ээрчийт.

Тектеш макалалар