Энэ гарын авлага нь прокси мэддэг програмд 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-р алхам: туннель унах үед юу болохыг шийднэ үү

Үүнийг үйлдвэрлэл гэж нэрлэхийн өмнө туннель алдагдах болон инстансыг дахин эхлүүлэхийг туршина уу. WireGuard-ийн дараа Dante-г эхлүүлдэг хянагч fail-closed маршрутлалт үүсгэдэггүй, fail-closed DNS ч үүсгэдэггүй; хоёуланг нь сүлжээний эзэмшигчээр дамжуулан хэрэгжүүлэх ёстой. Туннель унасан үед програм юу хийдгийг ажиглаарай: цэвэр алдаа сайн үр дүн, нийтийн шийдвэрлэгч рүү чимээгүй унах нь тийм биш.

Холбогдсон туннелийн хаяг өөрчлөгдвөл шинэчлэлтүүдийг зохицуулаарай, учир нь external түүн дээр бэхлэгдсэн. Энэ зохицуулалт цаашид шаардлагагүй болоход энэ инстанс болон програмын прокси тохиргоог хамт зогсоож, WireGuard замыг эзэмшигчид нь үлдээнэ үү.

Холбоотой нийтлэлүүд