Алдаа нь .ovpn файлын эхний мөрийг зааж, client байх ёстой газарт холилдсон үсэг мэт харагдах зүйлийг иш татдаг. Файл таны редакторт ямар ч асуудалгүй нээгддэг, эхний мөр client гэж уншигдана, директиваа бүрэн энгийн байна. Хоёр ажиглалт хоёулаа үнэн, учир нь редактор байтуудыг код тайлж байгаа боловч клиент тийм биш. Таны харж байгаа зүйл бараг үргэлж кодчлолын асуудал, синтаксийн асуудал биш.

Домог: редактор танд файлыг харуулдаг

Текст редактор байтуудыг өөрөө илрүүлсэн эсвэл таамагласан кодчлолоор тэмдэгт болгон хувиргадаг. UTF-16 гэж таамаглавал файл дэлгэц дээр төгс харагдана, харин доорх байтууд нь хосууд бөгөөд латин үсэг бүрийн дараа тэг байт ордог. OpenVPN тэдгээр байтуудыг тэмдэгт гэж уншдаг ба анх шинжлэхийг оролдсон директива дээр зөрүү илэрдэг.

Тиймээс харагдах мөр ба хүргэгдэх мөр хоёр өөр зүйл. Харж байгаа хачин тэмдэгтүүдийг устгах нь кодчлолын бус, харуулалтын өөрчлөлт бөгөөд дараагийн шинжилгээ мөн адил шалтгаанаар бага зэрэг өөр мессежтэй бүтэлгүйтдэг. Тиймээс алдааны доторх тэмдгийг мөшгих нь хэзээ ч хаашаа ч хүргэхгүй. Байтууд эх сурвалжид буруу байгаа бөгөөд дараагийн уншигч бүр ижил эвдэрсэн дарааллыг таамагладаг.

Бүтэлгүйтлийн тодорхой хэлбэрийг таних нь зүйтэй, учир нь энэ нь нэг ёсны оношлогооны шинжтэй. Файлын яг эхэнд тэмдэг байх нь, бусад машинд ажиллаж байсан профайлд, үгсийн сангийн бус байт дарааллын асуудал юм.

Эхний байтууд яг юу гэж хэлдэг вэ

Тэмдэгтийн оронд байтуудыг уншаарай. Хоёр жижиг команд үүнийг секундын дотор шийдэх бөгөөд аль нь ч файлыг өөрчилж болох програмаар нээхийг шаардахгүй:

file client.ovpn
head -c 24 client.ovpn | od -An -tx1

Таны хайж буй загвар бол хоёр дахь байт бүр нь тэг байх текстийн өмнөх хос байт юм. FF FE нь UTF-16 little-endian, FE FF нь big-endian, EF BB BF нь байт дарааллын тэмдэгтэй UTF-8-ыг илэрхийлнэ. Тэмдэггүй энгийн UTF-8 файл эхний үсгийн байтаас шууд эхэлдэг.

Үсгүүдийн хоорондох тэг байтууд гол сэжүүр юм. UTF-16 little-endian-д client гэдэг үг зургаа биш арван хоёр байт эзэлдэг, учир нь ASCII тэмдэгт бүрийн дараа тэг ордог. Тэр бүтцийг редакторын дэлгэц танд харуулж чадахгүй бөгөөд хоёр байт устгах нь ч арилгаж чадахгүй.

Энд нэг чухал нарийн зүйл бий: OpenVPN-ийн тохиргооны уншигч файлын эхэнд байх UTF-8 байт дарааллын тэмдгийг үнэхээр алгасдаг, үүнийг 2.6 тохиргооны уншигч харуулдаг. Тэр тэвчээр нь яг тэр тэмдэгт хамаарах бөгөөд үсгүүд нь тэгээр дүүрсэн UTF-16 файлд юу ч хийдэггүй. Хоёр тэмдгийг нэг асуудал гэж үзэх нь домгийн хоёр дахь хагас юм.

Хөрвүүлэх нь устгах бус, өөр нэрээр хадгалах

Ямар нэгэн зүйл хийхээс өмнө операторын эх хувилбарын хүрээгүй хуулбарыг хадгалж, тусдаа файл дээр ажиллаарай. Профайлд хувийн түлхүүр эсвэл бүртгэлийн материал байж болох тул хуулбар нь таны буцах зам ба мөн лавлагаа юм.

Дараа нь бодит кодчлолын хөрвүүлэлт хийгээрэй, нэг бол редакторын тодорхой кодчлолын цэсээр, эсвэл оролт болон гаралтын кодчлолыг заасан хөрвүүлэгчээр:

iconv -f UTF-16 -t UTF-8 client.ovpn > client-utf8.ovpn
file client-utf8.ovpn

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

Клиент эсвэл үйлчилгээг хөрвүүлсэн файл руу чиглүүлж, түүний мэдээлэх эхний алдааг хараарай. Холилдсон тэмдэг алга болсон бол кодчлолын ажил дууссан бөгөөд дараа нь бүтэлгүйтэх бүхэн өөр асуудал юм.

Засварласан кодчлол юуг засварладаггүй вэ

Кодчлол нь текстийг хэрхэн уншихыг тодорхойлдог; таны өмнөх клиентэд сонголтууд хүчинтэй эсэхийг хэлдэггүй. Өөр хэрэгжүүлэлтэд зориулж экспортолсон профайл цэвэрхэн шинжилэгдэж болох бөгөөд ажиллаж буй бүтээц дэмждэггүй сонголт эсвэл тэр клиентэд аргумент нь өөр утгатай директиваас болж няцаагддаг.

Тэдгээр хожуу алдаа нь өөрийн гэсэн мөрдөн шалгалтыг хүртэх ёстой: яг зөв бичиглэл, аргументийн синтакс, түүнийг хүлээн авдаг хувилбар. Амжилттай шинжилгээг амжилттай профайл гэж бүү үзээрэй.

Үүнийг хийж байхдаа мөрдөн шалгалтыг орон нутгийнх байлгаарай. Нийтийн онлайн хөрвүүлэгч болон буулгасан hex гаралт нь хувийн түлхүүр агуулж болох файлд муу газар, учир нь кодчлолын асуудлыг засахад хялбар, алдагдсан түлхүүрийг засахад хэцүү.

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