Ар бир сапка бир 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
Талдоо баскычы өткөндөн кийин, кийинки ийгиликсиздик сөздүк тууралуу эмес, файл, сертификат же шифр тууралуу болот, жана бул чыныгы прогресс. Иш көчүрмөсүн жана эмне бириктирилгени тууралуу бир сап жазууну сактаңыз; ошол куюу ошол командадагы башка бирөөгө дагы кайталанат.