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

Мисал Dante 1.4.x ишеничтүү Linux жумуш станциясында атайын, башкарылуучу инстанс катары орнотулганын жана пакет берген кызмат эсеби менен журнал конфигурациясы өз ордунда калганын болжолдойт. Жумуш станциясы 10.77.0.2-не өзүнүн WireGuard интерфейсинде ээ, ошол туннель аркылуу 10.60.0.20:443-не жетет, ал эми кызматтын өз аталышы app.corp.example.

1-кадам: угуучуну loopbackке гана байлаңыз

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

internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none

client pass {
    from: 127.0.0.1/32 to: 127.0.0.1/32
}

socks pass {
    from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
    command: connect
    protocol: tcp
}

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

Бул кадамдын кайтарылышы — инстансты токтотуу; конфигурация файлы кайтарган убакта дискте кала алат.

2-кадам: бир эмес, эки эреже жазыңыз

Dante'нин конфигурация маалымдамасы эки эреже түрүнө ар башка милдет берет. Клиент эрежеси loopback угуучусуна туташууга жол берет, анын максаты — угуучунун өз дареги. SOCKS эрежеси суралган кийинки туташууну бекитилген хост менен портко уруксат кылат. Далакелбеген сурамдар демейки боюнча бөгөттөлөт, ошондуктан жок эреже бузулган маршрутка так окшош көрүнөт.

Бул конфигурация атайылап эмне кылбай турганына көңүл буруңуз: ал SOCKS сырсөзүн сурабайт. Бул ишеничтүү жергиликтүү хостко ылайыктуу жана бул колдонуучу аутентификациясы эмес. Ошол машинедеги каалаган башка процесс да loopback'ти колдоно алат. Алыскы колдонмонун өз аутентификациясын ордунда кармаңыз жана бул аутентификациясыз форманы ишеничсиз жергиликтүү колдонуучуларга же LAN'га караган угуучуга кайра колдонбоңуз.

3-кадам: маршрутту туура булактан текшериңиз

external чыгуучу булак дарегин тандайт; ал WireGuard маршрутун орнотпойт. Мисалдын булагы жана максаты үчүн окууга гана арналган издөө:

ip -4 route get 10.60.0.20 from 10.77.0.2

Муну Dante'нин чыныгы тармактык аттар мейкиндигинде иштетиңиз, кокустан ачык турган кабыкта эмес. Маршрут, WireGuard өнөктөшүн тандоо, алыскы тараптын уруксаты жана кайтуу жолу — баары ошол булак дарегине туура келиши керек. Ийгиликтүү издөө зарыл жана жетишсиз, анткени ал алыскы чет сурамды кабыл алабы, аны айтпайт.

Издөө ийгиликтүү болушу үчүн демейки маршрут кошуу азгырыгына каршы турңуз. Прокси порту ушул жумуш станциясында гана бар; аны жасоо үчүн хосттун демейки маршрутун өзгөртүү бүт долбоорду оодарат.

4-кадам: көздөлгөн инсандык менен сынаңыз

Ээси орнотулган конфигурацияны текшерип, инстансты кызмат менеджери аркылуу иштеткенден кийин, үлгү сурам мындай:

curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/

Менен socks5h Dante максатты ажыратууну аткарат, бирок Dante ушул жумуш станциясында иштейт, ошондуктан жөндөө DNS'ти туннелдин алыскы учуна өзү жөнөтпөйт. Dante колдонгон бекитилген чечүүчү ошол ат үчүн уруксат берилген даректи кайтарышы керек. Бош no-proxy тизме мурастоо аркылуу келген өзгөчөлүктүн SOCKS'ти үнсүз айланып өтүшүнө жол бербейт.

Сыноодо HTTPS хост аты жана сертификат текшерүүсүн сактаңыз, андан кийин чыныгы угуучуну карап, келишимдин эки жарымын ырастаңыз: уруксат берилген сурам ийгиликтүү, ал эми четтетилген максат ийгиликсиз. Колдоого алынбаган багыттоо буйруктарынын тыюу салынган бойдон калаарын да текшериңиз, анткени бул фрагмент TCP үстүндөгү SOCKS CONNECT буйругуна жол берет, жалпы UDP же бүт түзмөк туннелине окшош эч нерсеге жол бербейт.

5-кадам: туннель кулаганда эмне болорун чечиңиз

Муну өндүрүш деп атаардан мурун туннелдин жоголушун жана инстансты кайра иштетүүнү сынаңыз. Dante'ни WireGuard'дан кийин иштеткен көзөмөлчү fail-closed маршруттоону түзбөйт жана fail-closed DNS'ти да түзбөйт; экөөнү тең тармак ээси аркылуу аткаруу керек. Туннель өчүп турганда колдонмо эмне кылаарын байкаңыз: таза ката — жакшы натыйжа, коомдук чечүүчүгө үнсүз өтүү — андай эмес.

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

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