Хэн нэгэн танд профайл илгээж, та түүнийг импортлоод, гуч секундын дараа ямар нэг клиент хэн ч шалгаагүй газар руу залгаж байна. Эхлээд файлыг текст засварлагч дээр уншина уу, учир нь чухал бүхэн цөөн директивт багтдаг: remote, proto, port, ca, cert, tls-crypt ба verify-x509-name. Бусад бүхэн нь өгөгдмөл утга бөгөөд гайхмаар зүйл яг тэнд л амьдардаг.

Файлын ашиглаж болох бүх төгсгөлийн цэгийг жагсаа

Төгсгөлийн цэгүүдээс эхэл, учир нь нэг профайл хэд хэдийг агуулж болно. grep -nE '^[[:space:]]*(remote|proto|port|remote-random|connection)' profile.ovpn нь кандидат бүрийг файлын дарааллаар хэвлэх бөгөөд мөр доторх <connection> блок дотор багтсаныг ч оруулна.

Директив портыг орхивол клиент сонсогчийн өгөгдмөл утга руу буцдаг тул ганц remote vpn.example.com нь 1194 портыг илэрхийлнэ, файлд дараа нь ямар ч proto гарч ирсэн ч. Хэд хэдэн энгийн remote мөр нь хувилбар болно: клиент тэдгээрийг дарааллаар нь турших бөгөөд remote-random холихгүй л бол, мөн өөр операторын хост руу хэзээ ч чимээгүйгээр солихгүй. Холбоогүй домэйн дээрх хоёр remote мөр нь зогсоод алийг нь хэлэх гэснийг асуух цэг юм.

proto-гийн бичлэгийг ч анхаар. tcp нь клиентийн талын tcp-client-ийн ижил утгат үг болгон хүлээн авдаг боловч клиент профайл дахь tcp-server нь цэвэрхэн бүтэлгүйтэхийн оронд дүүжлэгдэх хандлагатай тохиргооны алдаа юм.

Эхлээд нэрийг, дараа нь портыг батал

dig +short vpn.example.com нь нэр байгаа эсэх, ямар хаягууд буцаахыг хэлнэ, олон хаягтай эсвэл проксийн ард байгаа төгсгөлийн цэг хэд хэдийг хууль ёсоор буцааж болно. Нэрийн шийдэл нь урьдчилсан нөхцөл бөгөөд эзэмшлийн нотолгоо биш; хэн ч нэрийг хаяг руу чиглүүлж болно, нэг хаяг олон нэрэнд хариулж болно.

Дараа нь олсон порт дээрх сонсогчийг шалга, тээврийн давхаргад тохируулан. TCP дээр openssl s_client -connect vpn.example.com:1194 -servername vpn.example.com нь серверийн танилцуулж буй гинжийг хэвлэнэ. UDP дээр DTLS хэрэгтэй: openssl s_client -dtls1_2 -connect vpn.example.com:1194 нь ижил гар барилтыг датаграмм дээгүүр гүйцэтгэнэ. Дууссан гар барилт нь ямар нэг зүйл сонсож, гэрчилгээ эзэмшиж байгааг батална, энэ нь ping-ээс илүү бөгөөд профайлын өөрийн итгэлцлийн тохиргооноос бага.

Гар барилт бүтэлгүйтэж, хост ping-д хариулж байвал порт буруу эсвэл шүүгдсэн байх магадлалтай. Үүнийг зөв порт шаардах шалтгаан гэж үз, ойролцоох портуудыг шүүрдэх урилга гэж биш. nc -vzu нь зарим стек дээр юу ч сонсохгүй байхад ч амжилт мэдээлдэг тул ард нь гар барилтгүй нүцгэн UDP шалгалт юу ч гэсэн үггүй.

Итгэлцлийн зүүг хаягаас тусдаа унш

Хаяг нь клиент хаашаа явахыг шийднэ; итгэлцлийн блок нь ирсний дараа хэнд итгэхийг шийднэ. verify-x509-name "vpn.example.com" name нь субъектийн нийтлэг нэрийг зүүж, remote-cert-tls server нь серверийн баталгаажуулалтад өргөтгөсөн түлхүүрийн хэрэглээг шаардна. Операторын өгсөн профайл хоёуланг нь агуулах ёстой.

ca, мөр доторх <ca> блок, мөн tls-crypt эсвэл tls-auth-г хай. tls-auth ашигладаг профайлд клиент дээр key-direction 1 хэрэгтэй, серверийн тал 0 чиглэлийг ашиглаж байвал, зөрүү нь гар барилтыг гэрчилгээний гэмтэл мэт уншигдах TLS алдаагаар бүтэлгүйтүүлнэ. Саяхан нэрийг нь шийдсэн операторынх биш мөр доторх CA нь файлыг хоёр эх сурвалжаас угсарсныг илтгэнэ, энэ нь шийдэмгий татгалзах ёстой тохиолдол юм.

verify-x509-name нь name, name-prefix эсвэл subject горимыг хүлээн авч, сүүлийнх нь серверийн хэвлэх яг тэр дарааллаар бүрэн ялгах нэрийг хүлээнэ. Утгын хэлбэрт тохирох горимыг сонго, учир нь клиент ойрхон алдааны талаар анхааруулахын оронд холболт бүрийг татгалздаг. Таны бичээгүй файлын хувьд энгийн хост нэртэй name нь хамгийн бага гайхмаар сонголт.

Чимээгүйхэн бүтэлгүйтдэг тохиргоог шалга

OpenVPN 2.6 нь шифрүүдийг data-ciphers-ээр хэлэлцдэг бөгөөд зөвхөн хуучин cipher AES-256-CBC мөр агуулсан профайл хяналтын сувгийг дуусгаад дараа нь өгөгдөл дээр гацаж болно. Тэр утгыг унших нь файл таны нэгдэж буй серверээс өмнөх эсэхийг хэлнэ; 2.6-гийн гарын авлагын хуудас нь хэлэлцээрийн дарааллыг жагсаасан тул операторт эш татах шаардлагатай бол болно.

Файлын нэргүй auth-user-pass нь клиент асууна гэсэн үг тул өөрөө бүрэн мэт харагдах профайлд ч итгэмжлэл хэрэгтэй. auth-user-pass credentials.txt нь танд илгээгдээгүй байх файлыг хүлээж байна гэсэн үг. nobind ба resolv-retry infinite нь энгийн бөгөөд хор хөнөөлгүй, харин explicit-exit-notify нь зөвхөн UDP-д зориулагдсан бөгөөд TCP дээр утгагүй.

Эдгээрийн аль нь ч профайл хаашаа холбогдохыг өөрчлөхгүй, гэхдээ тус бүр нь огт холбогдох эсэхийг өөрчилдөг, аль нь ч клиентийн импортын харилцах цонхонд харагдахгүй.

Шийд, дараа нь шийдсэн зүйлээ тэмдэглэ

Энэ уншлагын дараа гурван үр дүн байх бөгөөд зөвхөн нэг нь импорт. Төгсгөлийн цэг ба зүү нь тусдаа сувгаар авсан заавраар таарч байвал импортло. Төгсгөлийн цэг зөв мэт боловч зүү эсвэл CA таарахгүй бол зассан файл хүс. Файл өөр өөр эх сурвалжийн төгсгөлийн цэг эсвэл CA материалыг хольж байвал устгаад шинэ хуулбар хүс.

Таны хянасан хэшийг тэмдэглэ, дараагийн хүн файл өөрчлөгдсөн эсэхийг мэдэх боломжтой болно: sha256sum profile.ovpn, тэмдэглэлдээ төгсгөлийн цэгийн хажууд наа. Профайл нь хаягийн жагсаалт биш, бүхэл зохион байгуулалт тул ажиллаж байгаа remote-ыг өөр хүний итгэлцлийн блок руу тэдний итгэмжлэлийг үлдээж хэзээ ч бүү залга.

Тэмдэглэлээ харьцуулахдаа хувийн түлхүүр, нууц үгийг дэлгэцийн зураг, чатын урсгалаас гадна байлга. Төгсгөлийн цэг ба нууц бус тохиргоо нь нарийн асуулт асуухад хангалттай, үлдсэн нь файлд байх ёстой.

Хэрэв импортлоод эхний оролдлого бүтэлгүйтвэл клиентийг --verb 3-той ажиллуулж эхний арван мөрийг унш: шийдэгдсэн remote хаяг, хэлэлцсэн proto, TLS алдаа энэ дарааллаар гарч ирэх бөгөөд энэ нь дээрх аль шалгалтыг алгасныг чинь хэлнэ.

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