Бұл нұсқаулық проксиді түсінетін қолданбаға 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 жолын оның иесіне қалдырыңыз.

Қатысты мақалалар