Kuuskümmend minutit, või kolmkümmend, või sada kakskümmend: ümmargusele intervallile langev katkestus ei ole peaaegu kunagi võrk. OpenVPN uuendab taimeri järgi võtmematerjali, mis kaitseb andmekanalit, ja lühem taimer kui see, mida eeldasite, näeb täpselt välja nagu ühendus, mis pidevalt ebaõnnestub. Kasutajad teatavad katkenud ühendusest, samal ajal kui logi teatab edukast võtmevahetusest. Allolev juhend eraldab selle uuendamise tõelisest taaskäivitamisest, loeb tegelikult kehtivat väärtust ja muudab seda alles siis, kui hind on laual.

Tehke samme järjekorras, sest esimene otsustab, kas ülejäänud leht puudutab teid üldse. Kui hüppate ette, veedate õhtu taimerit häälestades rikke tõttu, millel pole sellega mingit seost.

Eristage pehmet lähtestust taaskäivitamisest

Logirida on kogu diagnoos. Uuesti läbirääkimine kirjutab pehme lähtestuse ja seejärel uue võtmevahetuse sama tunnelisiseselt: liides säilitab oma aadressi, marsruute uuesti ei lisata ja loodud TCP-sessioonid jäävad tavaliselt pausiga püsima. Tõeline taaskäivitamine rebib sessiooni maha, ehitab liidese uuesti üles, võib anda teise kliendi aadressi ja tapab iga pikaajalise ühenduse. Mõlemad sündmused on tavalised; ainult üks neist seletab katkenud kõnet.

journalctl -u openvpn-client@office -b --no-pager | grep -nE 'soft reset|Connection reset|reneg|TLS Error'
openvpn --version | head -n 1

Versioonirida on oluline, sest logi sõnastus muutub väljaannete vahel ja sõnum, mida mäletate versioonist 2.3, võib olla versioonis 2.6 teisiti sõnastatud. Lugege oma logi, mitte kellegi teise foorumiväljavõtet. Kui palute abi, tsiteerige täpset rida, sest ümberjutustus kaotab detaili, mis sündmuse tuvastab. Kui liidese aadress ei muutu sündmuse ajal ja sessioonide nimekiri jääb püsima, vaatate uuendamist ja ülejäänud jaotised kehtivad.

Lugege kehtivat taimerit, mitte oma faili

reneg-sec on andmekanali kordusläbirääkimiste vaheline sekundite arv ja selle vaikeväärtus on 3600. Kumbki pool kannab oma väärtust ja just kahest väiksem käivitab uuendamise. See üks reegel seletab enamikku teatistest: suure arvu seadnud kliendiprofiil lähtestatakse ikkagi iga tunni tagant, kuni server hoiab vaikeväärtust.

grep -Rn --include='*.conf' -E 'reneg-sec|reneg-bytes' /etc/openvpn
# server side, including included files
grep -Rn -E '^reneg-sec' /etc/openvpn/server/

Lugege ka serveri kehtivat konfiguratsiooni, sealhulgas kõike, mida see edastab, enne kui teete kliendifaili põhjal järelduse. Seejärel tõstke detailsust ja jälgige ühte intervalli algusest lõpuni: tase 3 näitab juba kordusläbirääkimise ridu ja ajatemplid ütlevad, kas sündmus kordub iga 3600 sekundi järel või järgib hoopis aktiivsust.

Muutke seda seal, kus see tegelikult edastatakse

Levinud ravim on üks rida kliendiprofiilis ja umbes pooltel juhtudel on see vale koht. Kuna võidab poole väiksem väärtus, võib nullile seatud taimeriga klienti ikkagi uuesti läbi rääkida server, mida ei muudetud.

# on both ends, or on the side that owns the pushed configuration
reneg-sec 0

Kui profiile luuakse tsentraalselt, muutke malli, mitte juurutatud koopiat, muidu taastab järgmine varustuskäivitus väärtuse, mille just eemaldasite. Kontrollige kahe intervalli, mitte ühe jälgimisega: üks vaikne tund sobib ka 7200 peale seatud taimeriga.

Otsustage ka, mis juhtub segajuurutuse korral. Kui viite muudatuse esmalt klientideni, jääb aken, kus server ikka veel uuendamist käivitab; see on kahjutu, kuid segane, kui jälgite kinnitusi logidest. Muutke esimesena seda poolt, kus väärtus on väiksem, ja sümptom kaob kohas, mida ootate.

Millest loobute kordusläbirääkimise väljalülitamisega

Regulaarne kordusläbirääkimine piirab, kui kaua üks andmekanali võtmete komplekt liiklust kaitseb. Taimeri väljalülitamine ei riku tunnelit ja kodu-ruuteril või väikese kontori lüüsil on praktiline mõju tagasihoidlik. See on siiski vahetus ja vahetust tasub nimetada enne, kui selle teete. Muutub see, kui kaua üks võtmekomplekt sessiooni kaitseb, mitte see, kas tunnel üldse töötab.

Mõistlik põhjus väljalülitamiseks on lähtestus, mis rikub midagi, mida ei saa jätkata: katkev kõne, uuesti loomist vajav kaugtöölaua sessioon, algusest peale algav varundus. Kui paus on kasutajatele nähtamatu, ei maksa vaikeväärtuse hoidmine midagi ja säilitab teile antud võtmerotatsiooni.

Eelistage põhjuse parandamist, kui muster seda lubab. Uuendamine, mis ebaõnnestub poolel teel, samal ajal kui esimene käepigistus õnnestus, osutab teele, mitte taimerile: otsige paketi suuruse probleemi suuremas juhtkanali vahetuses, olekut jälgivat tulemüüri, mis voo maha viskab, või ettepanekut, mis õnnestub ainult esimesel katsel. Igaüks neist jätab jälje samasse logisse, mida just lugesite. Taimeri väljalülitamine peidab selle tõendi.

Kui intervall osutab mujale

Kaks naabrit konfiguratsioonis tekitavad sarnaseid sümptomeid ja erinevaid parandusi. ping-restart taaskäivitab tunneli, kui määratud aja jooksul midagi ei saabu, samal ajal kui ping-exit võtab kliendi täielikult maha. Jõudeoleku katkestus ilma ühegi kordusläbirääkimiseta logis kuulub nende või NAT-seadme alla, millel UDP-vastendus aegus omaenda graafiku järgi.

Tarbija-ruuterid, mobiilsed hotspotid ja operaatoritasandi NAT lasevad kõik jõudeolekus UDP-sessioonid aeguda, ilma et kellelegi ütleksid. See rike järgib jõudeolekut, mitte kella, ja see ongi vihje: sessioon, mis katkeb pärast kümmet vaikset minutit ja elab üle tunni ühtlast liiklust, ei läbiräägi uuesti.

Kirjutage üles kolm asja enne, kui muudate neljandat: mõõdetud intervall, leitud kehtiv väärtus ja käsk, mis selle näitas. Kui intervall liigub koos taimeriga, on mehhanism tuvastatud ja parandus on otsus ülaltoodud vahetuse kohta. Kui see ei liigu, pange säte tagasi ja jälgige edasi keepalive'e, NAT-i olekut ja paketikadu.

Seotud artiklid