Jūs ielīmējat iepriekš koplietoto atslēgu no administratora ziņojuma NetworkManager dialogā, atzīmējat rūtiņu, lai to parādītu, un tā sakrīt burtu pa burtam. Savienojums tomēr beidzas ar autentifikācijas kļūdu, pirms tunelis ir pacelts. Pirmo reizi to ieraugot, es domāju, ka atslēga ir nepareiza; tā nebija. Vēl divas lietas nosaka, ko dēmons patiešām nolasa: slepeno datu fails, ko spraudnis raksta šim savienojumam, un tas, vai vērtība izgāja cauri dialogam nemainīta.

Zemāk aprakstītais ceļš seko atslēgai no lauka līdz failam, un tieši šī secība pasaka, kur tā pazuda. Dariet to mašīnā, kas neizdodas, nevis tajā, kas strādā, jo atšķirība starp šīm divām mašīnām parasti ir failu izvietojums, nevis atslēga.

Sāciet ar dialogu, bet neuzticieties laukam

Atveriet savienojuma IPsec cilni un atslēgu ierakstiet no jauna, nevis ielīmējiet. Atslēga, kas nokopēta no tērzēšanas ziņojuma, PDF vai paroļu pārvaldnieka, var atnākt ar rindas pārtraukumu beigās, ko lauks nerāda, un redzamās rakstzīmes joprojām izskatās pareizas.

Noklikšķiniet uz paroles rādīšanas vadīklas un skatieties uz virknes beigām, nevis vidu. Ja kursors atstāj tukšu rindu zem teksta, izdzēsiet to un ierakstiet pēdējo rakstzīmi no jauna. Šis viens labojums atrisina pārsteidzošu daļu šādu ziņojumu, un tas maksā mazāk nekā jebkura žurnāla lasīšana.

Ja atslēga nāk no biļešu sistēmas, kas lauž garas rindas, pieprasiet to kanālā, kas nelauž. Salīdziniet garumus ar administratoru, nevis skatieties uz divām virknēm blakus; lūzuma vietā pazudusī rakstzīme proporcionālā fontā nav redzama.

Sekojiet atslēgai /etc/ipsec.d iekšienē

Spraudnis nekad nenodod PSK IPsec dēmonam kā argumentu komandrindā. Tā vietā tas glabā vērtību slepeno datu failā un gādā, lai dēmons šo failu iekļautu, pievienojot include rindu /etc/ipsec.secrets, ja tādas nav. Tas, ko dialogs tur, ir ievade ģenerētajam failam, nevis izmantotā vērtība.

Uzskaitiet, kas pastāv, pirms kaut ko maināt:

ipsec --version
sudo ls -l /etc/ipsec.d/*.secrets /etc/ipsec.d/ipsec.nm-l2tp.secrets 2>/dev/null
sudo grep -n "include" /etc/ipsec.secrets

Vecākas spraudņa versijas rakstīja vienu failu katram savienojumam, nosauktu pēc savienojuma UUID, piemēram, /etc/ipsec.d/nm-l2tp-ipsec-<uuid>.secrets. Profila dzēšana lietotnē šo failu uzticami nedzēš. Ja vecs iepriekšējā servera fails joprojām ir diskā un joprojām ir iekļauts, dēmons var izvēlēties noslēpumu, kas pieder profilam, kuru vairs neizmantojat, un savienojums neizdodas, lai gan redzamais lauks ir pareizs.

Saprotiet, ko 1.2.12 izmaiņa nodarīja atjauninājumiem

Spraudņa versija 1.2.12 aizstāja katra savienojuma slepeno datu failus ar vienu koplietotu failu, /etc/ipsec.d/ipsec.nm-l2tp.secrets. Atjauninājums neiztīra vecākos failus pēc UUID, un esošā include /etc/ipsec.d/*.secrets rinda tos joprojām iekļauj. Versija 1.2.16 mainīja noklusējuma priekšlikumu apstrādi, nevis noslēpumu izvietojumu.

Šī vēsture izskaidro, kāpēc divas mašīnas ar šķietami vienu un to pašu profilu uzvedas atšķirīgi. Atslēga ir identiska; failu kopa, ko dēmons iekļauj, nav. Kad noņemat bāreņu failu, pārvietojiet to malā, nevis dzēsiet, apstipriniet savienojumu un pēc tam dzēsiet, kad darba stāvoklis ir fiksēts. Pārdēvēšana saglabā veco vērtību atgūstamu, ja izrādās, ka kļūme ir citur.

Atdaliet rakstzīmes, ko glabāšanas formāts nevar saturēt

strongSwan dokumentācija par koplietotā noslēpuma virkni norāda, ka vērtība nevar saturēt rindas pārtraukumu vai dubultpēdiņas rakstzīmi. Atslēga, kas ielīmēta no dokumenta, var saturēt jebkuru no tiem bez jebkādas vizuālas atšķirības parastā dialogā.

Kopš 1.2.12 glabātā vērtība nav vienkāršs teksts. Spraudnis kodē PSK ar base64, pirms tas sasniedz failu, un laidiena piezīmes šo kodējumu min kā iemeslu, kāpēc dubultpēdiņa tagad ir pieņemama atslēgā. Tāpēc laukā ierakstīta pēdiņa ir attēlojama; tas pats neattiecas uz katru vadības rakstzīmi.

Garumskaitlis ir cits ierobežojums. L2TP/IPsec programmatūrā nav universāla minimuma: daži klienti pieņem atslēgas, kas īsākas par divdesmit rakstzīmēm, un daži vārtejas nosaka minimumu. Ja īsa atslēga tiek noraidīta, noteikums pieder servera politikai vai šī klienta validācijai, un kaut kā palielināšana lokāli to nemainīs.

Izlasiet, kurš autentifikācijas slānis neizdevās

Vispirms palaidiet ipsec --version, jo strongSwan un Libreswan izmanto atšķirīgus failu nosaukumus un sintaksi, un padoms vienam var kaitēt otram. Pēc tam nolasiet kļūmes posmu no klienta ziņojuma vai dēmona žurnāla: sūdzība par iepriekš koplietoto atslēgu ir cits notikums nekā noraidīts lietotājvārds un parole.

PSK autentificē tuneļa galus. Lietotājvārds un parole autentificē personu L2TP iekšienē, un PPP ar tiem nodarbojas pēc tam, kad IPsec asociācija ir pacelta. Pareiza PSK ar nepareizu kontu joprojām neizdodas, un konta maiņa nesalabos atslēgu, ko dēmons nekad nav pareizi nolasījis.

Aizverot biļeti, pierakstiet visus četrus: spraudņa versiju, izmantoto slepeno datu failu, vai atslēga tika ierakstīta no jauna vai ielīmēta, un kļūdā nosaukto slāni. Tad ikviens, kas vēlāk atkārtos šo ceļu, varēs uzreiz pāriet pie atšķirības starp strādājošo un neizdevušos mašīnu.

Saistītie raksti