Anza mahali ujumbe unaonekana. Mteja anaunganisha, handaki linapanda, kisha kumbukumbu inaripoti kwamba amri ya Linux ya kuongeza njia ilishindwa na File exists. Hakuna kitu katika sentensi hiyo kinachorejelea cheti, ufunguo au faili ya usanidi, ingawa maneno yanadokeza hivyo. Kernel inaelezea jedwali lake la njia, na kiambishi ulichoomba kisakinishwe tayari kina ingizo.

Fuata mfuatano wa mteja mwenyewe: alichoomba, jedwali lililokuwa na nini tayari, nani aliweka ingizo hilo hapo, na kisha tu nini cha kubadilisha. Kila hatua huondoa mmiliki mmoja anayewezekana.

Mteja alikuwa akiomba nini kwa kweli

Kabla ya kushindwa, mteja hurekodi njia anayokusudia kuongeza, kwa kawaida kama lengwa, kifuniko cha mtandao, lango na wakati mwingine kama metriki au jedwali. Mstari huo ni ombi. Hitilafu inayofuata ni jibu la kernel, na zote mbili zinapaswa kusomwa pamoja.

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

Hali ya kutoka isiyo sifuri ya msaidizi wa njia haitoi taarifa nyingi kuliko maandishi yaliyo chini yake, kwa sababu majibu tofauti ya kernel hutoa hali isiyo sifuri. Hifadhi ujumbe kamili; tofauti kati ya ingizo lililopo na lango lisiloweza kufikiwa huamua sehemu zipi zinazofuata zinatumika.

Soma njia iliyopo, si anwani pekee

Kutafuta kwenye jedwali sehemu nne zilizo na nukta sawa haitoshi. Kitu cha njia hutambulika kwa familia ya anwani, jedwali, kiambishi cha lengwa, metriki, itifaki na kifaa cha pato, na ingizo zinazoshiriki kiambishi zinaweza kuishi pamoja kihalali wakati sifa hizo zinatofautiana. Kinachogongana ni kitu kizima, si maandishi.

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

Amri ya mwisho hujibu swali tofauti na mbili za kwanza: si kile kilichopo, bali ingizo gani kernel ingechagua kwa lengwa hilo sasa hivi. Mitazamo yote miwili ni muhimu, na haitoshani mara nyingi vya kutosha kustahili kulinganishwa kabla ya kuhitimisha chochote. Kutokubaliana kati yao ni kesi ya kuvutia, si hitilafu ya kuzungusha.

Rekodi kiambishi, jedwali, metriki na kifaa kando ya ombi lililoshindwa. Ikiwa ingizo lililopo lina sifa sawa na hop inayofuata sawa, una maagizo yaliyorudiwa na si tatizo la njia.

Wamiliki wanne ambao kiambishi kinaweza kuwa nao

Njia zilizounganishwa zinatoka kwenye anwani iliyotengwa na mfumo huziunda upya kila wakati anwani hiyo ipo. Mteja wa DHCP au msimamizi wa muunganisho husakinisha njia kama sehemu ya mzunguko wake wa maisha. Mteja mwingine wa VPN anaweza kuwa tayari amebeba kiambishi kimoja. Na ndoano au script ya ndani inaweza kuongeza moja ambayo hakuna kingine kinajua.

Kila mmiliki anahitaji marekebisho tofauti. Njia iliyounganishwa si yako kufuta; kuiondoa kunaweza kuvunja ufikiaji wa ndani kabla handaki halijatumika, na kernel itairudisha. Njia inayomilikiwa na msimamizi inapaswa kubadilishwa kupitia msimamizi huyo, si kwa ip route del ya mkono ambayo muunganisho unaofuata huibatilisha.

Kiolesura kilichobaki hurahisisha mkanganyiko huo. Wakati kifaa cha handaki kinapona muunganisho, njia zilizosakinishwa na msimbo maalum wa usanidi zinaweza bado kuwepo kwenye mzunguko wa pili, kwa hivyo script inayodhani hali safi hushindwa mara ya pili na kufanya kazi mara ya kwanza. Ama safisha ingizo lililopitwa na wakati kwa makusudi au fanya msimbo wa usanidi usiwe na athari ya kurudiwa.

block-local hujibu swali lingine

Wakati wasifu unatuma trafiki yote kupitia handaki, mteja lazima aamue kitakachotokea kwa mtandao wa ndani. Bendera block-local hubadilisha uamuzi huo kwa kuelekeza LAN ya ndani kupitia handaki huku ikihifadhi msamaha ulioandikwa kwa lango la LAN; huu ni uchaguzi wa sera ya trafiki wenye matokeo yanayoonekana kwa ufikikaji.

Haielezi kwa nini kuongeza njia kulirudisha hitilafu ya ingizo lililopo, na kuichukua kama ukarabati wa jumla kunaficha mgogoro halisi nyuma ya mabadiliko ya sera. Ikiwa rasilimali zako za ndani haziwezi kufikiwa baada ya kuhariri wasifu, bendera hii ni moja ya mambo ya kwanza ya kukagua; ikiwa kuongeza njia kunashindwa, si jibu.

Ichukulie kama uamuzi kuhusu ni maeneo gani yanabaki ya ndani, uliofanywa kwa makusudi na kuandikwa. Si swichi ya kujaribu wakati kumbukumbu inaonekana ya kutisha.

Funga mzunguko: ondoa nakala mahali ilipotoka

Mara tu unapojua mmiliki gani anashikilia ingizo, ondoa maagizo yaliyorudiwa pale yalipofafanuliwa. Inaweza kuwa mstari wa route kwenye wasifu, push kutoka kwa seva, au ndoano isiyohitaji kuendeshwa tena.

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

Kisha unganisha tena na uthibitishe mambo matatu: handaki linapanda, lengwa lililokusudiwa linatatuliwa kwa njia uliyotaka, na kushindwa kunatoweka bila jipya kuonekana mahali pake. Kumbukumbu safi yenye njia iliyochaguliwa vibaya si ukarabati.

Ikiwa kiambishi kinamaanisha LAN ya ndani upande mmoja na mtandao wa mbali upande mwingine, tatizo ni mwingiliano wa anwani na si nakala, na hakuna kufuta kutatufanya maana zote mbili kuwa kweli kwa wakati mmoja. Kesi hiyo inahitaji mpango tofauti kwa mmoja wa mitandao miwili. Amua upande gani utapewa nambari upya kabla ya kugusa wowote.

Makala zinazohusiana