Linux VPN клиентийг хуучин төхөөрөмжийн протоколд тааруулаарай
Төхөөрөмжийн нийтэлсэн портуудыг уншаад, тохирох клиентийг суулгаарай: GRE дээрх pppd, IKEv1 XAuth-д strongSwan эсвэл порталд openconnect.
Дөрвөн протоколын гэр бүл тавиур дээр үлдсэн бараг бүх төхөөрөмжийг хамардаг бөгөөд тус бүр нь Linux дээр өөр өөрөөр бүтэлгүйтдэг. Алсын талын нийтэлсэн портууд болон тохируулсан саналууд таны багцыг тодорхойлдог, таны санамсаргүй ажиллуулж буй түгээлт биш. Форумын нийтлэлд дурдсаныг суулгаад дараа нь ямар нэгэн зүйл холбогдох хүртэл засах нь үдээс хойшийн цагийг алдах арга юм. Төхөөрөмжийг уншаарай, хоёрдугаарт суулгаарай, гуравдугаарт шалгаарай.
Алсын тал юу нийтэлж байгааг тэмдэглээрэй
Багц менежерийг нээхээс өмнө төхөөрөмжийн хүлээж буй протокол, порт, баталгаажуулалтыг бичээрэй. Дөрвөн гэр бүл хуучин тоног төхөөрөмжийн ихэнхийг хамардаг бөгөөд доорх хүснэгт нь нэг дэлгэц дээрх бүх шийдвэр юм.
| Family | Ports | Linux side |
|---|---|---|
| PPTP | TCP 1723 plus GRE, IP protocol 47 | pppd with a peer file |
| L2TP/IPsec | UDP 500, 4500, 1701 | NetworkManager plugin over strongSwan |
| IKEv1 aggressive with XAuth | UDP 500 | native strongSwan connection |
| AnyConnect-style portal | TCP 443 | openconnect with a TUN device |
Гарын авлага болон төхөөрөмжийн өөрийн галт хананы дүрмүүд нь түүний нэвтрэх хуудас дээрх протоколын нэрээс илүү найдвартай. IPsec сурталчилдаг төхөөрөмж зөвхөн IKEv1 ярьж магадгүй бөгөөд хэн ч хэрэглээгүй firmware хувилбар нь эцэст нь IKEv2 нэмдэг зүйл байж магадгүй. Өгөгдлийн зам болон тохиргооны портыг хоёуланг нь баталгаажуулаарай, учир нь энд хуучин тоног төхөөрөмж болон орчин үеийн сүлжээ ялгаатай. Энэ алхамд алдаа гаргах нь нөгөө талд хэзээ ч байгаагүй боломжийн эсрэг клиентээ дибаг хийх гэсэн үг.
PPTP: pppd-г засахаас өмнө GRE-г батлаарай
Linux дээр PPTP нь таны эхлүүлдэг демон биш, харин pppd-ийн дуудлага бөгөөд холболтын параметрүүд нь pppd дуудагдсан үед уншдаг нэртэй peer файлд амьдардаг. Түгээлтүүд үүнийг одоо ч багцладаг, гэхдээ протоколын мэдэгдэж буй сул талууд нь үүнийг ямар ч мэдрэмтгий зүйлд тохиромжгүй болгодог тул зөвхөн өөр юу ч санал болгодгүй төхөөрөмжид хатуу хадгалаарай. Клиент хэлэлцээ хийж байх үед GRE-г ажиглаарай, таамаглалын оронд богино бичлэгээр. Хамгийн их цаг үрдэг бүтэлгүйтэл нь баталгаажуулалт биш, харин дутуу өгөгдлийн зам юм.
pppd call branch-office
tcpdump -ni any proto gre -c 5
Хэрэв тохиргоо дууссаны дараа холбоос хэзээ ч трафик зөөхгүй бол итгэмжлэлийг хүрэхээс өмнө GRE замаас сэжиглээрэй. Үүлэн аюулгүй байдлын бүлгүүдэд 47 протоколын тодорхой дүрэм хэрэгтэй бөгөөд зарим сүлжээ үүнийг харагдах алдаагүйгээр бүрэн хаадаг. Та бодитоор ашиглах сүлжээнээс туршаарай, бүгдийг зөвшөөрдөг лабораториос биш.
L2TP/IPsec: нэг тохирох санал арван оролдлогыг ялна
Десктопын харилцах цонхны оронд демоны лог уншаарай, учир нь цонх хэд хэдэн өөр бүтэлгүйтлийг нэг мессежид нэгтгэдэг. NO_PROPOSAL_CHOSEN алдаа нь эхний үе шатанд хамаарна: клиент серверийн хүлээж авахгүй шифрлэлт, хэш эсвэл Diffie-Hellman бүлгийг санал болгосон. Төхөөрөмж юуг дэмждэгийг жагсааж, түүнд тохирох нэг санал бичээрэй, учир нь санамсаргүй хослолууд ихэвчлэн ижил алдааг удаан өгдөг. Десктоп дээр практик клиент нь доор strongSwan эсвэл Libreswan бүхий NetworkManager L2TP залгуур юм.
Десктопын залгуурт нэг утгатай саналын мөр нь ажлыг шилжүүлж буй демонд өөр утгатай байж болох тул засаж буй давхаргад тохирох синтаксийг хадгалаарай. Хэрэв төхөөрөмж туннелийн нууц мөн шаарддаг бол энэ нь IPsec түлхүүрээс тусдаа үе шат. Ямар нэгэн зүйл бичихээс өмнө интерфэйс аль хоёрын аль нэгийг асууж байгааг баталгаажуулаарай.
XAuth-тай түрэмгий IKEv1, порталын тохиолдол
FortiGate хэв маягийн төгсгөлийн цэг ихэвчлэн хүсдэг XAuth-тай түрэмгий горим болон тохируулсан горимын хаяг, график залгуур үүнийг огт харуулахгүй байж магадгүй. Төрөлх демон үүнийг зохицуулдаг бөгөөд доорх блок нь бүрэн файл биш, тэр тохиргооны хэлбэр юм. Саналын утгуудын хувьд үйлдвэрлэгчийн хамгийн сүүлийн баримт бичгийг үзээрэй.
conn branch
keyexchange=ikev1
aggressive=yes
leftauth=psk
leftauth2=xauth
leftsourceip=%config
right=203.0.113.10
Хуучин strongSwan хувилбарууд 5 хувилбар leftauth2=xauth хэрэглэдэг газарт xauth=client хэрэглэдэг байсан тул хуулсан хэсэг зөвхөн синтаксийн улмаас бүтэлгүйтэж болно. TLS порталын хувьд AnyConnect протоколоор ярьдаг openconnect нь Cisco болон ихэнх дахин брэндлэгдсэн бүтээгдэхүүнийг зохицуулдаг бөгөөд түүнд TUN төхөөрөмж болон түүнийг тохируулах эрх хэрэгтэй. Порталын хаягийг хөтөч харуулж байгаа шигээр нь, төхөөрөмжийн хүлээж буй аливаа замыг оруулан дамжуулж, дараа нь ард нь ямар нэгэн зүйл туршихаас өмнө олгогдсон хаягийг шалгаарай. Интерфэйсийг урьдчилан үүсгэх нь тохиргооны үеэр нэг төрлийн гэнэтийн зүйлийг арилгадаг.
sudo ip tuntap add dev tun0 mode tun
sudo openconnect --protocol=anyconnect vpn.example.com
Холбогдоод, дараа нь тогтмол дарааллаар шалгаарай
Нэг удаад яг нэг VPN менежер ажиллуулаарай, учир нь NetworkManager профайл болон гараар эхлүүлсэн демон маршрут болон DNS-ийн төлөө тэмцэлдэнэ. Гараар холболт туршихаас өмнө профайлыг буулгаж, хуучин туннелийн интерфэйс үлдээгүйг баталгаажуулаарай. Дараа нь энэ дарааллаар шалгаарай: туннелийн хаяг, танд хэрэгтэй цорын ганц дотоод хост руу хүрэх маршрут, нэрийн шийдэл, эцэст нь бодит хүсэлт. Ногоон дүрс нь баталгаажуулалтыг нотолдог, өөр юу ч биш.
ip -4 addr show tun0
ip route get 10.20.30.10
getent hosts app.internal
Хэрэв ямар нэгэн алхам бүтэлгүйтвэл дараагийнхыг туршихын оронд тэнд зогсоорой, учир нь эвдэрсэн маршрутын доорх DNS бүтэлгүйтэл танд юу ч заадаггүй. Туршихын өмнө ажиллаж буй профайлын хуулбарыг хадгалаарай, учир нь устгасан холболтын файл амархан алдагдаж, дахин бүтээхэд хүндрэлтэй. Саналын утгуудыг төхөөрөмжийн загвар болон firmware хувилбартай нэг тэмдэглэлд хадгалаарай, учир нь хайрцагыг солих үед тэр тэмдэглэл нь шилжилт ба археологийн төслийн ялгаа.