Мөр бүрт нэг OpenVPN заавар, яагаад мөр таслах нь хуурч байна
Зөөлөн таслагдсан дэлгэц нь файл дахь шинэ мөр биш. Муу хэсгийг харь хүний загвараар солихын өмнө жинхэнэ мөрийн таслалтыг шалга.
Урьд нь ажиллаж байсан профайл одоо сонголтын алдаа гаргаж бүтэлгүйтэж байна, анализатор иш татсан мөр дэлгэц дээр бүрэн боломжийн харагдаж байна. Энэ бол урхи юм: тохиргооны файл нь физик мөрүүдийн жагсаалт бөгөөд мөр бүр нэг сонголтын түлхүүр үг болон түүний аргументуудыг агуулна, засварлагчийн тасласан урт мөр нь байтуудыг харах хүртэл хоёр мөрөөс ялгаагүй харагдана. Сүлжээ, гэрчилгээ, туннель нь энэ төрлийн алдаанд оролцохгүй. Дэлгэц дээр ижил харагдах хоёр мөр нэг байтаар ялгаатай байж болно.
Доорх шалгалтуудыг дарааллаар нь хийж, эхний бүтэлгүйтсэн дээр зогсо. Шалгалт бүр дараагийнхаас хямд бөгөөд тус бүр өөр тайлбарыг үгүйсгэдэг.
Нэг мөр, нэг заавар
Анализатор мөр уншиж, эхний үгийг сонголт гэж авч, үлдсэнийг нь тухайн сонголтын аргумент гэж үздэг. Тиймээс cert server.crt port 1194 гэх мэт мөр нь дараалсан хоёр заавар биш. Энэ нь гурван аргументтай нэг cert сонголт бөгөөд гурав дахь нь сонголт хүлээн авдаг файлын нэр биш. Алдааг дутуу мөр таслалт гэж унших нь зөв; дутуу заавар гэж унших нь зөв биш.
# malformed: one option, three arguments
cert server.crt port 1194
# intended: two options, one argument each
cert server.crt
port 1194
Тэр засагдсан хоёр мөр бол хэсэг, тохиргоо биш. Тэд хил хаана хамаарахыг харуулахаар байна. Профайл дахь энгийн заавар бүр ижил дүрмийг дагадаг бөгөөд тэдгээрийн хоёрыг холбосон мөр нь аргументын алдаа эсвэл сонголтын хүлээгээгүй утгыг гаргадаг.
Мөр таслалт бодитой гэдгийг батла
Засварлагчид харуулахын тулд тасладаг. Зарим нь буулгах үед хатуу таслалт нэмдэг, зарим нь нэмдэггүй, тиймээс ижил харагдах үр дүн хоёр өөр файлаас гарч болно. Ямар нэгэн өөрчлөлт хийхийн өмнө мөрийн төгсгөлүүдийг харуулж, мөрүүдийг тоол. Хэмжих нь нэг тушаал; таамаглах нь нэг орой.
cat -A /etc/openvpn/server/lab.conf | sed -n '10,20p'
awk 'NR>=10 && NR<=20 {printf "%d:%s\n", NR, $0}' /etc/openvpn/server/lab.conf
Эхний гаралтад жинхэнэ мөр таслалт бүр $ тэмдэг болж харагдана, тиймээс таслагдсан боловч хуваагдаагүй мөр таны дэлгэц таслах газарт ямар ч тэмдэг харуулахгүй. Хоёр дахь тушаал дугаарласан мөрүүдийг хэвлэдэг бөгөөд энэ нь анализаторын мэдээлсэн зүйлийг файлд байгаа зүйлтэй харьцуулах хамгийн хурдан арга юм.
Илүү зай ч заавар үүсгэхгүй. Догол мөр нь гоёл чимэглэлийн зүйл бөгөөд зайгаар эхэлсэн мөр нь мөн ижил ганц сонголт хэвээр байна. Хэрэв алдааны мессеж мөрийн дугаарыг зааж байвал түүнд хамаарах догол мөрийг биш, яг тэр мөрийг унш.
Зааврын жагсаалт биш, замыг иш тат
Хашилт нь зай агуулсан аргументуудад зориулагдсан, сонголтуудыг бүлэглэхэд биш. Зайтай гэрчилгээний зам өөрийн хашилтыг шаарддаг; нэг хос хашилтыг хуваалцсан хоёр заавар нь нэг муу мөр хэвээр байна.
cert "/etc/openvpn/pki/lab certs/server.crt"
key "/etc/openvpn/pki/lab certs/server.key"
Сонголтын нэрсийг байрлалтай зэрэг шалга, учир нь холбогдсон мөр нь хэзээ ч байгаагүй итгэмээр харагдах токен үүсгэж болно. Портын заавар нь port; ижил санаанд өөр зүйл ашигласан профайл мөрийн хил хязгаарыг зассаны дараа ч бүтэлгүйтнэ. Нэр танил бус харагдвал форумын жишээтэй биш, ажиллуулж буй хувилбарынхаа сонголтын жагсаалттай харьцуул.
Дотор блокуудыг блокоор нь хадгал
Профайлууд гэрчилгээ, түлхүүрүүдийг дотор нь авч явж болох бөгөөд тэдгээр блок нь тохиргоо биш, өгөгдөл юм. Блок доторх PEM мөрүүд нь тэгшлэх, дахин доголуулах, холбох сонголт биш бөгөөд блокийн тэмдэг өөрийн мөрөндөө байх ёстой.
Дотор блокийг тунгалаг бус бүс гэж үз: эргэн тойрны сонголтын мөрүүдийг зас, агуулгыг нь байт байтаар нь хөндөхгүй орхи, хэзээ ч нийтийн дэмжлэгийн сэдэвт буулгаж болохгүй. Хэрэв форматлах хэрэгсэл блокийг дахин бичсэн бол гараар засахын оронд PKI-аас сэргээ.
Загвар биш, хамгийн бага хэсгийг зас
Уруу татдаг засвар нь бүх файлыг „ажилладаг” заавраас авсан тохиргоогоор солих явдал юм. Энэ нь нэг муу мөрийг хэн ч хянаагүй бодлогын өөрчлөлтүүдээр сольдог: өөр DH параметрүүд, шахалтын тохиргоо, шифр сонголт, давхардсан сонсогчид. Анхны асуудал жижиг бөгөөд орон нутгийнх, орлуулалт нь аль нь ч биш.
Профайлыг хамгаалагдсан ажлын файл руу хуулж, тэр хуулбар дахь мөрийн хил хязгаарыг засаад, үйлчилгээний ердийн эзэмшигчид ачаалуул. Дараа нь инстанцыг эхлүүлж, эхний алдааг, хэрэв байвал, эхнээс нь унш.
openvpn --config /etc/openvpn/server/lab.conf --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log
Шинжилгээний шат давсны дараа дараагийн бүтэлгүйтэл үгсийн сангийн тухай биш, файл, гэрчилгээ эсвэл шифрийн тухай байх бөгөөд энэ нь жинхэнэ дэвшил юм. Ажлын хуулбар болон юу холбогдсоны тухай нэг мөрт тэмдэглэлийг хадгал; ижил буулгалт мөн багийн өөр нэг хүнд дахин тохиолдох болно.