Ibda minn fejn jidher il-messaġġ. Klijent jgħaddas, il-mina tinħareġ, u mbagħad il-log jirrapporta li l-kmand taż-żieda ta' rotta ta' Linux falla bid-File exists. Xejn f'dik is-sentenza ma jirreferi għal ċertifikat, ċavetta jew fajl ta' konfigurazzjoni, għalkemm il-kliem jissuġġerixxi hekk. Il-kernel qed jiddeskrivi t-tabella tar-rotot tiegħu, u l-prefiss li tlabt biex jiġi installat diġà għandu dħul.

Issegwi l-ordni tal-klijent stess: x' talab, x' kienet diġà tinkludi t-tabella, min poġġa dak id-dħul hemmhekk, u biss wara x' għandu jinbidel. Kull pass ineħħi sid possibbli wieħed.

X' kien qed jitlob il-klijent tassew

Qabel il-falliment, il-klijent jirreġistra r-rotta li biħsiebu jżid, ġeneralment bħala destinazzjoni, maskra tan-netwerk, gateway u xi kultant bħala metrika jew tabella. Dik il-linja hija t-talba. L-iżball li jsegwi hija t-tweġiba tal-kernel, u t-tnejn għandhom jinqraw flimkien.

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

Status tal-ħruġ li mhux żero mill-għajnuna tar-rotot jgħaddi inqas informazzjoni mill-kliem ta' taħtu, għax tweġibiet differenti tal-kernel jagħtu status li mhux żero. Żomm il-messaġġ eżatt; id-distinzjoni bejn dħul eżistenti u gateway li ma jintlaħaqx tiddetermina liema mis-sezzjonijiet li jmiss japplika.

Aqra r-rotta eżistenti, mhux biss l-indirizz

It-tfittxija fit-tabella għall-istess erbgħa bil-punti mhijiex biżżejjed. Oġġett ta' rotta jiġi identifikat mill-familja tal-indirizzi, tabella, prefiss tad-destinazzjoni, metrika, protokoll u apparat tal-ħruġ, u d-dħuliet li jaqsmu prefiss jistgħu jikkoeżistu legalment meta dawk l-attributi jkunu differenti. Li jikkolludi huwa l-oġġett kollu, mhux it-test.

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

L-aħħar kmand iwieġeb mistoqsija differenti mill-ewwel tnejn: mhux x' jeżisti, iżda liema dħul il-kernel jagħżel għal dik id-destinazzjoni bħalissa. Iż-żewġ perspettivi huma utli, u jiddifferixxu biżżejjed spiss biex ikunu jistħoqqilhom tqabbil qabel ma tasal għal xi konklużjoni. Id-diskrepanza bejniethom hija l-każ interessanti, mhux żball ta' arrotondament.

Irreġistra l-prefiss, it-tabella, il-metrika u l-apparat ħdejn it-talba li falliet. Jekk id-dħul eżistenti għandu l-istess attributi u l-istess qabża li jmiss, għandek struzzjoni duplikata u mhux problema ta' routing.

Erba' sidien li jista' jkollu prefiss

Rotot konnessi jiġu minn indirizz assenjat u s-sistema toħloqhom mill-ġdid kull meta dak l-indirizz jeżisti. Klijent DHCP jew maniġer tal-konnessjonijiet jinstalla rotot bħala parti miċ-ċiklu tal-ħajja tiegħu stess. Klijent VPN ieħor jista' diġà jkun qed iġorr l-istess prefiss. U hook jew script lokali jista' jżid waħda li xejn ieħor ma jaf biha.

Kull sid jeħtieġ korrezzjoni differenti. Rotta konnessa mhijiex tiegħek biex tħassarha; it-tneħħija tagħha tista' tkisser l-aċċess lokali qabel ma l-mina tkun tintuża, u l-kernel jerġa' jpoġġiha. Rotta li għandha maniġer għandha tinbidel permezz ta' dak il-maniġer, mhux b'ip route del manwali li s-sospensjoni li jmiss tħassar.

Interfaces miżmuma jagħmlu l-istess konfużjoni eħfef. Meta l-apparat tal-mina jgħaddi minn sospensjoni, ir-rotot installati mill-kodiċi tas-setup personalizzat jistgħu jkunu għadhom hemm fit-tieni tgħaddija, għalhekk script li jassumi stat nadif ifalli t-tieni darba u jaħdem l-ewwel. Jew naddaf id-dħul skadut apposta jew agħmel il-kodiċi tas-setup idempotenti.

block-local iwieġeb mistoqsija differenti

Meta profil jibgħat it-traffiku kollu mill-mina, il-klijent irid jiddeċiedi x' jiġri man-netwerk lokali. Il-bandiera block-local tbiddel dik id-deċiżjoni billi tiddirigĝi l-LAN lokali mill-mina filwaqt li żżomm l-eċċezzjoni dokumentata għall-gateway tal-LAN; din hija għażla ta' politika tat-traffiku b'konsegwenzi viżibbli għall-aċċessibilità.

Ma jispjegax għaliex iż-żieda ta' rotta rritornat żball ta' dħul eżistenti, u li tieħu dan bħala tiswija universali taħbi l-kunflitt reali wara bidla fil-politika. Jekk ir-riżorsi lokali tiegħek ma jibqgħux aċċessibbli wara editjar tal-profil, din il-bandiera hija waħda mill-ewwel affarijiet x' tiġi eżaminata; jekk iż-żieda ta' rotta tfalli, mhijiex it-tweġiba.

Ittrattaha bħala deċiżjoni dwar liema destinazzjonijiet jibqgħu lokali, meħuda apposta u miktuba. Mhijiex swiċċ x' tipprova meta l-log jidher allarmanti.

Agħlaq iċ-ċirku: neħħi d-duplikat mill-għerq tiegħu

Ladarba tkun taf liema sid għandu d-dħul, neħħi l-istruzzjoni duplikata fejn hija definita. Tista' tkun linja route fil-profil, push mis-server, jew hook li m'għadux jeħtieġ li jitħaddem.

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

Imbagħad erġa' qabbad u kkonferma tliet affarijiet: il-mina tinħareġ, id-destinazzjoni maħsuba tiġi riżolta lejn il-passaġġ li xtaqt, u l-falliment jisparixxi mingħajr ma jidher wieħed ġdid flokha. Log nadif b'passaġġ magħżul ħażin mhuwiex tiswija.

Jekk il-prefiss ifisser il-LAN lokali fuq naħa u netwerk remot fuq in-naħa l-oħra, il-problema hija sovrappożizzjoni ta' indirizzi u mhux duplikat, u ebda tħassir mhu se jagħmel iż-żewġ tifsiriet veri fl-istess ħin. Dak il-każ jeħtieġ pjan differenti għal wieħed miż-żewġ netwerks. Iddeċiedi liema naħa se tiġi nnumerata mill-ġdid qabel ma tmiss lil waħda minnhom.

Artikli relatati