દરેક લીટીમાં એક 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
વિશ્લેષણ તબક્કો પાર થયા પછી આગલી નિષ્ફળતા શબ્દભંડોળને બદલે ફાઇલ, પ્રમાણપત્ર કે સાઇફર વિશે હશે, અને આ ખરી પ્રગતિ છે. વર્કિંગ કૉપી અને શું જોડાયું તે વિશે એક લીટીની નોંધ રાખો; એ જ પેસ્ટ એ જ ટીમના બીજા કોઈ સાથે ફરી થશે.