पूर्वी सुरू होणारी प्रोफाइल आता पर्याय त्रुटीने अयशस्वी होते, आणि पार्सर ज्या ओळीचा उल्लेख करतो ती स्क्रीनवर पूर्णपणे योग्य दिसते. हाच सापळा आहे: कॉन्फिगरेशन फाइल भौतिक ओळींची यादी आहे, प्रत्येकात एक पर्याय कीवर्ड आणि त्याचे युक्तिवाद असतात, आणि संपादकाने वळवलेली लांब ओळ बाइट पाहण्यापर्यंत दोन ओळींसारखीच दिसते. नेटवर्क, प्रमाणपत्र किंवा बोगदा या अयशस्वीतेच्या वर्गात सहभागी नाहीत. स्क्रीनवर सारख्याच दिसणाऱ्या दोन ओळी एका बाइटने वेगळ्या असू शकतात.

खालील तपासण्या क्रमाने करा आणि पहिल्या अयशस्वी तपासणीवर थांबा. प्रत्येक पुढीलपेक्षा स्वस्त आहे, आणि प्रत्येक वेगळे स्पष्टीकरण वगळते.

एक ओळ, एक सूचना

पार्सर एक ओळ वाचतो, पहिला शब्द पर्याय म्हणून घेतो आणि उर्वरित त्या पर्यायाचे युक्तिवाद मानतो. त्यामुळे 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

विश्लेषण टप्पा पार झाल्यावर पुढील अयशस्वीता शब्दसंग्रहाऐवजी फाइल, प्रमाणपत्र किंवा सायफरबद्दल असेल, आणि ही खरी प्रगती आहे. कार्यरत प्रत आणि काय जोडले गेले याबद्दल एका ओळीची नोंद ठेवा; तोच पेस्ट त्याच संघातील दुसऱ्या कोणासोबत पुन्हा होईल.

संबंधित लेख