Nid yw "File exists" OpenVPN ar lwybr yn broblem ffeil
Daw'r neges o dabl llwybrau'r cnewyllyn, nid o'r system ffeiliau. Darllenwch y cofnod sy'n berchen ar y rhagddodiad yn barod cyn newid polisi'r LAN.
Dechreuwch lle mae'r neges yn ymddangos. Mae cleient yn cysylltu, mae'r twnnel yn codi, ac yna mae'r log yn adrodd bod gorchymyn ychwanegu llwybr Linux wedi methu gyda File exists. Nid oes dim yn y frawddeg honno'n cyfeirio at dystysgrif, allwedd na ffeil ffurfweddu, er bod y geiriau'n awgrymu hynny. Mae'r cnewyllyn yn disgrifio ei dabl llwybrau, ac mae gan y rhagddodiad y gwnaethoch ofyn i'w osod gofnod yn barod.
Dilynnwch ddilyniant y cleient ei hun: beth y gofynnodd amdano, beth oedd y tabl yn ei gynnwys yn barod, pwy a osododd y cofnod hwnnw yno, ac yna'n unig beth i'w newid. Mae pob cam yn dileu un perchennog posibl.
Beth oedd y cleient yn gofyn amdano mewn gwirionedd
Cyn y methiant, mae'r cleient yn cofnodi'r llwybr y mae'n bwriadu ei ychwanegu, fel arfer fel cyrchfan, mwgwd rhwydwaith, porth a weithiau metrig neu dabl. Y llinell honno yw'r cais. Y gwall sy'n dilyn yw ateb y cnewyllyn iddo, ac mae'r ddau i'w darllen ochr yn ochr.
journalctl -u openvpn-client@office -b --no-pager | grep -nE 'route|File exists'
openvpn --config /etc/openvpn/client/office.ovpn --verb 4 --log /tmp/ovpn.log
Mae statws gadael nad yw'n sero gan y cynorthwyydd llwybrau yn llai addysgiadol na'r testun oddi tano, oherwydd bod ymatebion cnewyllyn gwahanol yn cynhyrchu statws nad yw'n sero. Cadwch y neges union; mae'r gwahaniaeth rhwng cofnod sy'n bodoli a phorth na ellir ei chyrraedd yn penderfynu pa un o'r adrannau nesaf sy'n berthnasol.
Darllenwch y llwybr sy'n bodoli, nid y cyfeiriad yn unig
Nid yw chwilio'r tabl am yr un pedwarawd dotiog yn ddigon. Mae gwrthrych llwybr yn cael ei adnabod gan ei deulu cyfeiriad, tabl, rhagddodiad cyrchfan, metrig, protocol a dyfais allbwn, a gall cofnodion sy'n rhannu rhagddodiad gydfodoli'n gyfreithlon pan fo'r priodoleddau hynny'n wahanol. Y gwrthrych cyfan sy'n gwrthdaro, nid y testun.
ip -4 route show table all | grep -F '10.40.'
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
Mae'r gorchymyn olaf yn ateb cwestiwn gwahanol i'r ddau gyntaf: nid beth sy'n bodoli, ond pa gofnod y byddai'r cnewyllyn yn ei ddewis ar gyfer y gyrchfan honno ar hyn o bryd. Mae'r ddau safbwynt yn ddefnyddiol, ac maent yn anghytuno'n ddigon aml i fod yn werth eu cymharu cyn dod i gasgliad. Yr anghysondeb rhyngddynt yw'r achos diddorol, nid gwall talgrynnu.
Cofnodwch y rhagddodiad, y tabl, y metrig a'r ddyfais wrth ymyl y cais a fethodd. Os oes gan y cofnod sy'n bodoli'r un priodoleddau a'r un naid nesaf, mae gennych gyfarwyddyd dyblyg yn hytrach na phroblem llwybrau.
Pedwar perchennog y gall rhagddodiad eu cael
Mae llwybrau cysylltiedig yn dod o gyfeiriad a bennir ac maent yn cael eu hail-greu gan y system pryd bynnag y bydd y cyfeiriad hwnnw'n bodoli. Mae cleient DHCP neu reolwr cysylltiad yn gosod llwybrau fel rhan o'i gylch bywyd ei hun. Efallai bod cleient VPN arall eisoes yn cario'r un rhagddodiad. A gall bachyn neu sgript lleol ychwanegu un nad oes dim arall yn gwybod amdano.
Mae angen cywiriad gwahanol ar bob perchennog. Nid eich un chi yw llwybr cysylltiedig i'w ddileu; gall ei dynnu dorri mynediad lleol cyn i'r twnnel fod yn ddefnyddiadwy, a bydd y cnewyllyn yn ei roi yn ôl. Dylid newid llwybr sy'n eiddo i reolwr drwy'r rheolwr hwnnw, nid gyda ip route del â llaw y bydd yr ailgysylltu nesaf yn ei ddadwneud.
Mae rhyngwyneb a gedwir yn gwneud yr un dryswch yn haws. Pan fydd dyfais y twnnel yn goroesi ailgysylltiad, gall llwybrau a osodwyd gan god sefydlu arferol fod yn bresennol o hyd ar yr ail rediad, felly mae sgript sy'n tybio dechrau glân yn methu'r ail dro ac yn gweithio'r tro cyntaf. Naill ai clirwch y cofnod hen ffasiwn yn fwriadol neu gwnewch y cod sefydlu yn idempotent.
Mae block-local yn ateb cwestiwn gwahanol
Pan fo proffil yn anfon yr holl draffig drwy'r twnnel, rhaid i'r cleient benderfynu beth sy'n digwydd i'r rhwydwaith lleol. Mae'r baner block-local yn newid y penderfyniad hwnnw drwy lwybro'r LAN leol drwy'r twnnel tra'n cadw'r eithriad cofnodedig ar gyfer porth y LAN; mae hynny'n ddewis polisi traffig sydd â chanlyniadau gweladwy i gyrhaeddedd.
Nid yw'n esbonio pam y dychwelodd ychwanegu llwybr wall cofnod sy'n bodoli, ac mae ei fabwysiadu fel atgyweiriad cyffredinol yn cuddio'r gwrthdaro gwirioneddol y tu ôl i newid polisi. Os yw eich adnoddau lleol yn mynd yn anghyrhaeddadwy ar ôl golygu proffil, mae'r faner hon ymhlith y pethau cyntaf i'w harchwilio; os bydd ychwanegu llwybr yn methu, nid dyna'r ateb.
Trinwch ef fel penderfyniad ynglŷn â pha gyrchfannau sy'n aros yn lleol, a wneir yn fwriadol ac a gofnodir. Nid newidyn i'w brofi pan fo'r log yn edrych yn frawychus yw ef.
Caewch y cylch: tynnwch y dyblyg yn ei ffynhonnell
Unwaith y byddwch yn gwybod pa berchennog sy'n dal y cofnod, tynnwch y cyfarwyddyd dyblyg lle mae'n cael ei ddiffinio. Gall fod yn llinell route yn y proffil, yn wthiad o'r gweinydd, neu'n fachyn nad oes angen iddo redeg mwyach.
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
journalctl -u openvpn-client@office -b --no-pager | tail -n 15
Yna ailgysylltwch a chadarnhau tri pheth: mae'r twnnel yn codi, mae'r gyrchfan a fwriadwyd yn datrys i'r llwybr a oedd ei eisiau, ac mae'r methiant wedi diflannu heb un newydd yn ymddangos yn ei le. Nid yw log glân gyda llwybr a ddewiswyd yn anghywir yn atgyweiriad.
Os yw'r rhagddodiad yn golygu'r LAN leol ar un ochr a rhwydwaith anghysbell ar yr ochr arall, y broblem yw gorgyffwrdd cyfeiriadau yn hytrach na dyblyg, ac ni fydd unrhyw faint o ddileu yn gwneud y ddau ystyr yn wir ar unwaith. Mae'r achos hwnnw angen cynllun gwahanol ar gyfer un o'r ddwy rwydwaith. Penderfynwch pa ochr fydd yn cael ei hailrifo cyn cyffwrdd y naill na'r llall.