Njia inayoandikwa baada ya kila muunganisho hutatua wakati huo na sio wiki. Kwenye macOS, chaguo la kudumu kwa kawaida ni kiambishi kilichohifadhiwa na huduma ya VPN, kwa sababu huduma huiweka upya kila muunganisho na kuiondoa huduma inapokuwa imezimwa. Mbadala ni route add la muda mfupi kwa majaribio na hook ya muunganisho kwa anwani zinazojulikana tu baada ya majadiliano.

Amua kama njia ni ya huduma au ya kipindi

Uliza kiambishi kinategemea nini. Ikiwa ni mtandao wa kibinafsi thabiti nyuma ya huduma ya VPN asilia, njia ni ya huduma hiyo. Ikiwa inategemea anwani ya mwenzake inayobadilika kila muunganisho, hook au kazi inayoendeshwa na hali inaweza kuwa mmiliki bora. Ikiwa unakagua njia kwa dakika tano zijazo tu, njia ya muda mfupi inatosha.

Njia inayofungamanishwa na huduma ina mzunguko safi zaidi wa maisha. Inaonekana na huduma na hupotea huduma isipounganishwa, kwa hiyo haiwezi kuishi muda mrefu kuliko handaki inayoelekeza. Sifa hiyo ina thamani zaidi ya urahisi wa amri ya mstari mmoja.

Njia inayofungamanishwa na kipindi ni ya kiolesura, na nambari hiyo hubadilika bila taarifa. Muunganisho upya unaweza kuipa handaki jina la utun tofauti na lile lililotumiwa na kipindi kilichopita, jambo ambalo hubadilisha amri iliyowekwa ngumu kuwa njia isiyoelekeza mahali popote au, mbaya zaidi, handaki lingine.

Soma hali ya sasa ya njia na huduma

Anza na majina ambayo mfumo hutumia kwa kweli. Jina la huduma katika Mipangilio ya Mtandao ni kitambulisho cha amri zilizo hapa chini, na jedwali la njia la sasa linaonyesha kile mteja aliyeunganishwa amesakinisha. Soma vyote viwili wakati handaki iko juu.

scutil --nc list
networksetup -listnetworkserviceorder
netstat -rn | head -30
route get 10.20.5.5

Utafutaji huo unaonyesha lango na kiolesura ambavyo kiini kingechagua kwa anwani hii kwa sasa. Ikiwa tayari kinachagua handaki, kiambishi kimefunikwa na njia mpya itakuwa ya ziada. Ikiwa kinachagua kipanga njia cha ndani, handaki inakosa kiambishi hicho.

Kumbuka anwani ya mwenzake ukiwa umeunganishwa. Inakuwa thamani ya lango katika njia inayofungamanishwa na huduma, na kwa kawaida ni lengwa linaloonyeshwa kwa njia chaguo-msingi ya handaki katika netstat -rn.

Hifadhi kiambishi kwa networksetup

Zana networksetup huambatanisha njia za ziada kwenye huduma ya mtandao. Kwa huduma inayoitwa OfficeVPN na kiambishi cha kibinafsi kinachofikiwa kupitia mwenzake wa handaki, muundo ni:

sudo networksetup -setadditionalroutes OfficeVPN 10.20.0.0 255.255.0.0 10.8.0.6
networksetup -getadditionalroutes OfficeVPN

Kila utatu baada ya jina la huduma hutoa lengwa, kifuniko chake cha mtandao na mwenzake wa handaki kama lango. Mwito mmoja unaweza kubeba viambishi kadhaa, na mwito tupu hufuta orodha iliyohifadhiwa. Msomaji ni hatua ya uthibitishaji; ikiwa orodha ni tupu, mpangilio haukuwa ulitumika kwa huduma unayofikiri.

Lango lazima liwe mwenzake wa handaki, sio kipanga njia cha kimwili. Njia inayotaja lango la ndani hutuma kiambishi cha kibinafsi kupitia kiolesura cha kimwili, jambo ambalo ni kushindwa kwa awali pamoja na hatua za ziada. Mwenzake wa zamani ndio sababu ya kawaida zaidi kwa nini njia inayoonekana sahihi haibebi trafiki kamwe. Soma tena mwenzake kutoka hali iliyounganishwa badala ya kunakili anwani kutoka kumbuka la zamani.

Tumia route add kwa jaribio tu

Njia ya moja kwa moja ni muhimu kuthibitisha kuwa kiambishi kinafanya kazi kabla ya kukifanya cha kudumu. Muundo wa kiolesura huepuka utafutaji wa lango:

sudo route -n add -net 10.20.0.0/16 -interface utun4

Njia hupotea kwenye muunganisho upya unaofuata na inategemea nambari ya kiolesura iliyopo leo. Hilo huifanya kuwa utambuzi, sio usambazaji. Ikiwa jaribio linafanya kazi na njia inayofungamanishwa na huduma haifanyi, linganisha kwanza thamani ya lango; hiyo ndio sehemu inayokosewa mara nyingi zaidi.

Kuwa mwangalifu na ushauri unaobadilisha njia chaguo-msingi ya VPN ili kulazimisha mgawanyiko. Mteja anayelazimisha handaki kamili anaweza kusakinisha upya njia zake baada ya muunganisho upya au uboreshaji wa sera, kwa hiyo mabadiliko ya mikono hufutwa kimya. Viambishi vichache vya kibinafsi ni tatizo la uelekezaji; kuweka trafiki yote ya intaneti ndani dhidi ya sera ya handaki kamili ni uamuzi wa upande wa seva.

Chagua hook tu wakati anwani inajadiliwa

Kwa viungo vinavyotegemea PPP kama L2TP, macOS hutekeleza /etc/ppp/ip-up mara kiungo kinapowekwa. Skripti hupokea jina la kiolesura na anwani za ndani na za mbali zilizojadiliwa, kwa hiyo inaweza kuongeza njia inayotegemea mwenzake aliyetengwa na seva. Hiyo ndio hali hasa ambayo njia thabiti ya huduma haiwezi kueleza.

IKEv2 na wateja wa wazalishaji huenda wasitumie njia hiyo ya PPP kabisa, ikimaanisha skripti inaweza kukaa kimya kipindi chote. Hilo linapotokea, kazi ya launchd inayouliza scutil --nc status na kutenda kwa mabadiliko ya hali ndio utaratibu sawa, kwa ucheleweshaji mdogo.

Hok yoyote unayotumia, ifanye idempotent na ifanye iondoe njia zilizoanzishwa nayo yenyewe tu. Skripti inayofuta kila njia inayotaja handaki hatimaye itafuta njia inayohifadhi seva ya VPN ifikike, na muunganisho utakatika mara tu inapofanikiwa.

Maliza kwa kukagua lengwa la kibinafsi, uvinjari wa kawaida na mzunguko wa muunganisho upya au usingizi. Kisha kagua scutil --dns, kwa sababu utatuzi wa majina ni sera tofauti na njia inayofanya kazi haithibitishi kwamba majina ya kibinafsi yanayatuliwa.

Makala zinazohusiana