Стариот .ovpn профил не работи на Ubuntu 24.04: кои редови да се избришат
Ubuntu 24.04 доаѓа со OpenVPN 2.6, а профил извезен за 2.4 умира на отстранетите опции. Избришете keysize и ncp-disable, потоа поправете ns-cert-type.
Профилот се презема, се увезува и потоа запира на ред 12 од датотеката со порака Unrecognized option што го именува keysize. Ништо на сметката не е променето, а серверот сѐ уште прифаќа други клиенти. Променет е самиот клиент: Ubuntu 24.04 инсталира OpenVPN 2.6, додека извозот е напишан за 2.4. Поправката е кратка низа бришења, а редоследот е важен бидејќи секоја застарена опција го прекинува парсирањето пред следната воопшто да се прочита.
Прочитајте го редот со грешка пред да ја допрете датотеката
OpenVPN ја именува датотеката и редот каде парсирањето запре, па можете да поправите само еден проблем по стартување. Стартувајте го профилот од терминал, а не од аплет на работната површина, бидејќи аплетот обично го голта stderr и бројот на редот е единствениот сигурен показател што го добивате: sudo openvpn --config /etc/openvpn/client/provider.ovpn. Поправете го тој ред, стартувајте повторно и очекувајте следниот неуспех да именува друга опција.
Грешка во парсирањето секогаш се појавува пред секое TLS ракување, па пораката што споменува сертификат веќе ја поминала синтаксната фаза. Таа разлика ве спречува да уредувате датотека што не успева само при автентикација. Читајте го првиот збор од пораката, а не нејзината средина.
Три класи на неуспех, три различни поправки
Старите извози не успеваат на три различен начин, и токму нивното спојување во еден проблем ги тера луѓето да реинсталираат пакети што никогаш не биле расипани. Формулацијата на пораката ви кажува во која класа сте пред да ја отворите датотеката.
- Грешките во парсирањето именуваат датотека и ред и запираат пред воопшто да постои сообраќај.
- Грешките во преговарањето се поврзуваат, потоа известуваат дека двата краја не се договориле за заедничко шифрирање или прифатлив канал за податоци.
- Грешките во автентикацијата одат најдалеку и именуваат сертификат, корисник или одбиени акредитиви.
Уредувањето на профилот ја поправа само првата класа. Преговарањето бара одлука на двата краја на тунелот, а одбиените акредитиви воопшто не се синтаксен проблем. Ако вашата порака споменува заедничко шифрирање или канал за податоци, бришењата подолу нема да променат ништо.
Избришете ги опциите што 2.6 ги отстрани, по овој редослед
Секој од овие редови самостојно го запира парсирањето, па клиентот ги известува еден по еден. Одете по списокот надолу и стартувајте повторно по секое бришење.
Прво избришете keysize, бидејќи нема современ еквивалент и неговото присуство обично означува шифрирање што тековниот клиент и онака го одбива. Потоа избришете ncp-disable, што го контролираше преговарањето за шифри, стана застарен во 2.5 и го нема во 2.6. Заменете ns-cert-type server со remote-cert-tls server, што ја изразува истата намера преку поддржана проверка. Историјата на промени 2.6 ги наведува преостанатите отстранувања покрај нивните замени, па сѐ што парсерот сѐ уште одбива има документиран одговор.
Зачувајте копија од оригиналниот профил пред првото уредување. Провајдерите регенерираат извози, а diff со недопрената датотека е најбрзиот начин да ги одвоите вашите промени од нивните. Ако бришењето му дозволи на клиентот да стартува, но тунелот сѐ уште не успева, сте преминале во класата на преговарање и преостанатите редови не се причината. Ставете ја верзијата на клиентот во името на датотеката за следната личност да знае на кое издание се однесуваат уредувањата.
Држете го BF-CBC активен само како ограничен резервен вариант
Некои провајдери сѐ уште завршуваат на BF-CBC, со кој OpenVPN 2.6 нема да преговара без помош бидејќи шифрирањето има 64-битен блок. Тесната поправка е резервна листа плус стариот провајдер на OpenSSL, а не намалување на целиот клиент.
providers legacy default
data-ciphers AES-256-GCM:AES-128-GCM
data-ciphers-fallback BF-CBC
Првиот ред го вчитува стариот провајдер за OpenSSL сѐ уште да може да го создаде тоа шифрирање, вториот го задржува современото преговарање за партнерите што го поддржуваат, а третиот се применува само кога серверот не нуди ништо подобро. Ова е намерно слабеење на тунелот, па запишете покрај датотеката зошто постои. Во исто време побарајте од провајдерот регенериран извоз, бидејќи резервата е мост, а не одредиште.
Не посегнувајте по --compat-mode како универзален одговор. Тој менува неколку однесувања одеднаш, вклучително стандардните вредности за преговарање и повторно преговарање, па никогаш нема да дознаете која промена била важна. Претпочитајте ги трите експлицитни реда погоре, бидејќи секој го наведува сопствениот ефект.
Проверете со профилот што клиентот навистина го вчитува
Увезените врски често се копираат во системски директориум, па уредувањето на датотеката во папката за преземања може воопшто да не промени ништо. Најдете ја копијата што работи: sudo grep -rl "remote " /etc/NetworkManager/system-connections /etc/openvpn. Потоа стартувајте го тунелот и прочитајте го редот во дневникот што известува кое шифрирање на каналот за податоци е навистина избрано. Врска што го завршува ракувањето на резервата ви кажува дека серверот никогаш не понудил нешто современо.
Тестирајте од мрежа што не е онаа што провајдерот ја очекува, за да не се претстават заробен портал или филтрирана гостинска мрежа како дефект во профилот. Запишете ја верзијата на клиентот покрај секое барање за поддршка.
Кога тунелот е кренат, испратете едно барање што мора да помине низ него и едно што не смее, па потврдете дека одговорот на резолверот се променил како што очекувавте. Ако профилот сега се парсира, но врската сѐ уште не успева, сте го оставиле синтаксниот проблем зад себе и текстот на грешката ќе ја именува новата класа. Држете ја уредената датотека во контрола на верзии покрај белешка што го именува целното OpenVPN издание.