Овај приручник даје апликацији која познаје прокси приступ постојећој WireGuard путањи без објављивања прокси порта на VPN серверу или на интернету. 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 користи мора да врати дозвољену адресу за то име. Празан списак без проксија спречава наслеђени изузетак да тихо заобиђе SOCKS.

Сачувајте у тесту проверу HTTPS имена домаћина и сертификата, затим прегледајте стварни слушалац и потврдите обе половине уговора: дозвољени захтев успева, а искључено одредиште не успева. Такође проверите да неподржане команде прослеђивања остају одбијене, јер овај фрагмент дозвољава команду SOCKS CONNECT преко TCP-а и ништа слично општем UDP или тунелу целог уређаја.

Корак 5: одлучите шта се дешава када тунел падне

Тестирајте губитак тунела и поновно покретање инстанце пре него што ово назовете производњом. Надзорник који покреће Dante после WireGuard-а не ствара fail-closed рутирање и не ствара fail-closed DNS; обоје мора да се спроведе кроз власника мреже. Посматрајте шта апликација ради док је тунел пао: чиста грешка је добар исход, тихи пад на јавни резолвер није.

Ускладите ажурирања ако се везана адреса тунела промени, јер external је причвршћена на њу. Када распоред више није потребан, повуците ову инстанцу и прокси поставку апликације заједно и оставите WireGuard путању ономе коме припада.

Повезани чланци