Prófíll sem áður ræstist mistekst nú með valkostavilla, og línan sem þáttarinn vitnar í virðist fullkomlega eðlileg á skjánum. Það er gildran: stillingarskrá er listi af líkamlegum línum, hver með einu valkostsleitarorði og rökum sínum, og löng lína sem ritill brýtur virðist eins og tvær línur þar til litið er á bætin. Ekkert við netið, skírteinið eða göngin kemur við þessa tegund mistaka. Tvær línur sem líta eins út á skjánum geta verið frábrugðnar um eitt bæti.

Farðu í gegnum athuganirnar hér að neðan í röð og stoppaðu við þá fyrstu sem mistekst. Hver þeirra er ódýrari en sú næsta, og hver þeirra útilokar aðra skýringu.

Ein lína, ein skýring

Þáttarinn les línu, tekur fyrsta orðið sem valkostinn og meðhöndlar restina sem rök þess valkosts. Lína eins og cert server.crt port 1194 eru því ekki tvær skipanir í röð. Það er einn cert-valkostur með þremur rökum, og hið þriðja er ekki skráarnafn sem valkosturinn tekur. Að lesa villuna sem vantað línubrot er rétt; að lesa hana sem vantaða skýringu er það ekki.

# malformed: one option, three arguments
cert server.crt port 1194

# intended: two options, one argument each
cert server.crt
port 1194

Þessar tvær leiðréttu línur eru brot, ekki stilling. Þær eru til að sýna hvar mörkin eiga heima. Sérhver venjuleg skýring í prófíl fylgir sömu reglu, og lína sem sameinar tvær þeirra gefur annað hvort rökvillu eða gildi sem valkosturinn bjóst ekki við.

Sannaðu að línubrotið sé raunverulegt

Ritlar brjóta fyrir birtingu. Sumir setja líka inn hörð brot þegar þú límir, aðrir ekki, svo sama sjónræna niðurstaðan getur komið úr tveimur mjög ólíkum skrám. Sýndu línuendingarnar og teldu línurnar áður en þú breytir einhverju. Að mæla kostar eina skipun; að giska kostar eitt kvöld.

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

Í fyrstu úttakinu birtist hvert raunverulegt línubrot sem $-merki, svo lína sem er brotin en ekki klofin sýnir ekkert merki þar sem skjárinn brýtur. Önnur skipunin prentar númeraðar línur, sem er fljótlegasta leiðin til að bera saman það sem þáttarinn greinir frá og það sem skráin inniheldur.

Auka bil skapa heldur ekki skýringu. Inndráttur er snyrtilegur, og lína sem byrjar á auðu er enn sami eini valkosturinn. Ef villuboðin benda á línunúmer, lestu nákvæmlega þá línu í stað málsgreinarinnar sem hún tilheyrir.

Vitnaðu í slóð, ekki lista yfir skýringar

Gæsalappir eru fyrir rök sem innihalda bil, ekki fyrir að flokka valkosti. Slóð skírteinis með bili þarf sínar eigin gæsalappir; tvær skýringar sem deila gæsalappapari eru enn ein röng lína.

cert "/etc/openvpn/pki/lab certs/server.crt"
key "/etc/openvpn/pki/lab certs/server.key"

Athugaðu valkostshetin samtímis og skipulagið, því sameinuð lína getur framleitt trúverðugt tákn sem hefur aldrei verið til. Portskýringin er port; prófíll sem notar eitthvað annað fyrir sömu hugmynd mistekst jafnvel eftir að línumörkin eru leiðrétt. Þegar nafn virðist ókunnugt skaltu bera það saman við valkostalistann fyrir þá útgáfu sem þú keyrir í stað dæmis af spjallborði.

Haltu innfelldum blökkum sem blökkum

Prófílar geta borið skírteini og lykla innfelld, og þau blökk eru gögn frekar en stilling. PEM-línurnar inni í blökki eru ekki valkostir sem á að fletja út, draga inn að nýju eða sameina, og blökkmerkin verða að vera á sínum eigin línum.

Meðhöndlaðu innfellt blökk sem ógagnsætt svæði: leiðréttu valkostalínurnar í kring, láttu innihaldið vera bæti fyrir bæti og límdu það aldrei í opinberan stuðningsþráð. Ef sniðverkfæri endurskrifaði blökkið skaltu endurheimta það úr PKI-inu þínu í stað þess að laga það með höndunum.

Lagaðu minnsta hlutann, ekki sniðmátið

Hið freistandi viðgerð er að skipta út allri skránni fyrir stillingu úr kennsluefni sem „virkar“. Það skiptir einni rangri línu út fyrir sett af stefnubreytingum sem enginn fór yfir: aðrir DH-færibreytur, þjöppunarstillingar, dulritunaval, tvíteknir hlustendur. Upprunalega vandamálið er lítið og staðbundið, og staðgengillinn er hvorugt.

Afritaðu prófílinn í varið vinnuskrá, leiðréttu línumörkin í þeirri afritun og láttu venjulegan eiganda þjónustunnar hlaða henni. Ræstu síðan eintakið og lestu fyrstu villuna, ef einhver er, frá byrjun.

openvpn --config /etc/openvpn/server/lab.conf --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log

Þegar þáttunarstigið gengur upp verða næstu mistök um skrá, skírteini eða dulritun frekar en orðaforða, og það er raunveruleg framför. Geymdu vinnuafritið og eina línu athugasemd um hvað var sameinað; sama límingin mun gerast aftur hjá einhverjum öðrum í sama teymi.

Tengdir greinar