Llwybrau parhaus ar gyfer VPN Mac: networksetup neu fachyn cysylltu?
Nid yw llwybr a deipir ar ôl pob ailgysylltiad yn bolisi. Penderfynwch a yw’r rhagddodiad yn perthyn i’r gwasanaeth VPN, i brawf dros dro, neu i fachyn ar gyfer cyfeiriadau na wyddys amdanynt nes ar ôl trafodaeth.
Mae llwybr a deipir ar ôl pob cysylltiad yn datrys y foment ac nid yr wythnos. Ar macOS, y dewis parhaus yw rhagddodiad a storiwyd gyda’r gwasanaeth VPN fel arfer, oherwydd mae’r gwasanaeth yn ei ailosod ar bob cysylltiad ac yn ei dynnu pan fo’r gwasanaeth i lawr. Y dewisiadau eraill yw route add dros dro ar gyfer profi a bachyn cysylltu ar gyfer cyfeiriadau na wyddys amdanynt nes ar ôl trafodaeth.
Penderfynwch a yw’r llwybr yn perthyn i’r gwasanaeth neu i’r sesiwn
Gofynnwch ar ba beth y mae’r rhagddodiad yn dibynnu. Os yw’n rhwydwaith preifat sefydlog y tu ôl i wasanaeth VPN brodorol, mae’r llwybr yn perthyn i’r gwasanaeth hwnnw. Os yw’n dibynnu ar gyfeiriad cymar sy’n newid gyda phob cysylltiad, gall bachyn neu dasg a yrrir gan stat fod yn berchennog gwell. Os ydych ond yn gwirio llwybr am y pum munud nesaf, mae llwybr dros dro yn ddigon.
Mae gan y llwybr sy’n rhwym i’r gwasanaeth y cylch bywyd cliriaf. Mae’n ymddangos gyda’r gwasanaeth ac yn diflannu pan nad yw’r gwasanaeth wedi’i gysylltu, felly ni all oroesi’r tiwnel y mae’n ei nodi. Mae’r nodwedd honno’n werth mwy na chyfleustra gorchymyn un llinell.
Mae llwybr sy’n rhwym i sesiwn yn perthyn i’r rhyngwyneb, ac mae’r rhif hwnnw’n newid heb rybudd. Gall ailgysylltiad roi enw utun gwahanol i’r tiwnel na’r un a ddefnyddiwyd gan y sesiwn flaenorol, sy’n troi gorchymyn caled-godio yn llwybr nad yw’n nodi unrhyw beth neu, yn waeth, yn nodi tiwnel arall.
Darllenwch gyflwr presennol y llwybr a’r gwasanaeth
Dechreuwch gyda’r enwau y mae’r system yn eu defnyddio mewn gwirionedd. Enw’r gwasanaeth yng ngosodiadau Rhwydwaith yw’r dynodwr ar gyfer y gorchmynion isod, ac mae’r tabl llwybrau presennol yn dangos yr hyn a osodwyd gan y cleient cysylltiedig. Darllenwch y ddau tra bo’r tiwnel i fyny.
scutil --nc list
networksetup -listnetworkserviceorder
netstat -rn | head -30
route get 10.20.5.5
Mae’r chwiliad hwnnw’n dangos pa borth a pha ryngwyneb y byddai’r cnewyllyn yn ei ddewis ar gyfer y cyfeiriad hwn ar yr eiliad hon. Os yw eisoes yn dewis y tiwnel, mae’r rhagddodiad wedi’i orchuddio a byddai llwybr newydd yn ddiangen. Os yw’n dewis y llwybrydd lleol, mae’r tiwnel yn colli’r rhagddodiad hwnnw.
Nodwch gyfeiriad y cymar tra bo cysylltiad. Daw’n werth y porth yn y llwybr sy’n rhwym i’r gwasanaeth, ac fel arfer dyma’r cyrchfan a ddangosir ar gyfer llwybr diofyn y tiwnel yn netstat -rn.
Storiwch y rhagddodiad gyda networksetup
Mae’r offeryn networksetup yn atodi llwybrau ychwanegol i wasanaeth rhwydwaith. Ar gyfer gwasanaeth o’r enw OfficeVPN a rhagddodiad preifat a gyrhaeddir trwy gymar y tiwnel, y ffurf yw:
sudo networksetup -setadditionalroutes OfficeVPN 10.20.0.0 255.255.0.0 10.8.0.6
networksetup -getadditionalroutes OfficeVPN
Mae pob triawd ar ôl enw’r gwasanaeth yn rhoi cyrchfan, ei fwgwd rhwydwaith a chymar y tiwnel fel porth. Gall un alwad gludo sawl rhagddodiad, ac mae alwad wag yn clirio’r rhestr a storiwyd. Y darllenydd yw’r cam dilysu; os yw’r rhestr yn wag, ni chymhwyswyd y set i’r gwasanaeth yr ydych yn meddwl.
Rhaid i’r porth fod yn gymar y tiwnel, nid y llwybrydd corfforol. Mae llwybr sy’n enwi’r porth lleol yn anfon y rhagddodiad preifat allan trwy’r rhyngwyneb corfforol, sef y methiant gwreiddiol gyda chamau ychwanegol. Cymar hen yw’r rheswm mwyaf cyffredin pam nad yw llwybr sy’n edrych yn gywir byth yn cario traffig. Ailddarllenwch y cymar o’r cyflwr cysylltiedig yn lle copio cyfeiriad o nodyn hen.
Defnyddiwch route add ar gyfer prawf yn unig
Mae llwybr uniongyrchol yn ddefnyddiol i brofi bod rhagddodiad yn gweithio cyn ei wneud yn barhaol. Mae’r ffurf rhyngwyneb yn osgoi chwiliad porth:
sudo route -n add -net 10.20.0.0/16 -interface utun4
Mae’r llwybr yn diflannu ar yr ailgysylltiad nesaf ac yn dibynnu ar y rhif rhyngwyneb sy’n bodoli heddiw. Mae hynny’n ei wneud yn ddiagnostig, nid yn ddefnyddiad. Os yw’r prawf yn gweithio ac nid yw’r llwybr sy’n rhwym i’r gwasanaeth, cymharwch werth y porth yn gyntaf; dyna’r maes sy’n fwyaf aml yn anghywir.
Byddwch yn ofalus gyda chyngor sy’n disodli llwybr diofyn y VPN i orfodi ymddwyn hollt. Gall cleient sy’n gorfodi tiwnel llawn ailosod ei lwybrau ar ôl ailgysylltiad neu adnewyddiad polisi, felly mae’r newid â llaw yn cael ei ddadwneud yn dawel. Mae llond llaw o ragddodiadau preifat yn broblem llwybro; cadw holl draffig y rhyngrwyd yn lleol yn erbyn polisi tiwnel llawn yn benderfyniad ar ochr y gweinydd.
Dewiswch fachyn yn unig pan drafodir y cyfeiriad
Ar gyfer dolenni sy’n seiliedig ar PPP fel L2TP, mae macOS yn gweithredu /etc/ppp/ip-up unwaith y bydd y ddolen wedi’i sefydlu. Mae’r sgript yn derbyn enw’r rhyngwyneb a’r cyfeiriadau lleol ac anghysbell a drafodwyd, felly gall ychwanegu llwybr sy’n dibynnu ar y cymar a aseinwyd gan y gweinydd. Dyna’n union yr achos na all llwybr gwasanaeth sefydlog ei fynegi.
Efallai na fydd IKEv2 a chleientiaid gwerthwyr yn defnyddio’r llwybr PPP hwnnw o gwbl, sy’n golygu y gall y sgript aros yn dawel am y sesiwn gyfan. Pan ddigwydd hynny, tasg launchd sy’n holi scutil --nc status ac yn gweithredu ar newid stat yw’r mecanwaith cyfatebol, gydag oedi bach.
Pa fachyn bynnag a ddefnyddiwch, gwnewch ef yn idempotent a gwnewch iddo ddileu dim ond y llwybrau a grëwyd ganddo. Bydd sgript sy’n dileu pob llwybr sy’n crybwyll y tiwnel yn y pen draw yn dileu’r llwybr sy’n cadw gweinydd y VPN yn gyrhaeddadwy, a bydd y cysylltiad yn disgyn cyn gynted ag y bydd yn llwyddo.
Gorffennwch drwy wirio’r gyrchfan breifat, pori cyffredin, a chylch ailgysylltu neu gysgu. Yna archwiliwch scutil --dns, oherwydd mae datrys enwau yn bolisi ar wahân ac nid yw llwybr sy’n gweithio’n profi bod yr enwau preifat yn datrys.