Sut i wirio statws VPN heb ping ar Android, iOS a Windows
Dim ond bod un gwesteiwr wedi ateb y mae ping yn ei brofi, nid bod y twnnel i fyny. Holwch API statws Android, iOS a Windows, yna gwiriwch y llwybr y mae eich ap ei angen mewn gwirionedd.
Mae pingio 192.0.2.10 yn dweud wrthych fod un cyfeiriad wedi ateb eco ICMP, a dyna'r cwbl. Ar rwydwaith heb dwnnel gall lwyddo o hyd, oherwydd efallai bod y cyfeiriad ar yr is-rwydwaith lleol; gyda thwnnel iach gall fethu, oherwydd mae'r gweinydd yn gollwng ICMP tra'n gwasanaethu HTTPS. Y gwiriad sydd ei angen ar eich sgript yw ymholiad statws llwyfan ynghyd â phrawf llwybr ar gyfer y gyrchfan y mae'r ap yn ei defnyddio. Triniwch y rhain fel dau faes ar wahân, byth fel un boolean.
Beth mae ateb eco yn ei brofi mewn gwirionedd
Protocol cyrhaeddedd yw ICMP heb unrhyw syniad o ryngwynebau na thwneli. Pan ddaw ateb, mae'r cnewyllyn yn adrodd bod gwesteiwr wedi ateb; nid yw'n adrodd pa lwybr a gludodd y cais na'r un a gludodd yr ateb. Mae hidlo'n gwneud y signal yn fwy swnllyd fyth, oherwydd nid yw mur gwal sy'n rhwystro ceisiadau eco yn dweud dim am y pyrth y tu ôl iddo. A gall proffil twnnel hollt eithrio'r cyfeiriad a brofwyd yn fwriadol tra bo pob cyrchfan arall yn gweithio.
Yr hyn rydych chi eisiau ei wybod mewn gwirionedd yw a yw gwasanaeth penodol yn ddefnyddiadwy ar hyd y llwybr y mae'r ap yn ei gymryd. Dewiswch y gwesteiwr a'r porth y mae'r ap yn galw arnynt, yna mynnwch ateb ar y haen ap.
Mae cyrhaeddedd a chyflwr twnnel yn ffeithiau gwahanol, a gall y naill fod yn wir tra bo'r llall yn gau. Mae eu cadw ar wahân yn dweud wrthych bwy sy'n berchen ar y methiant. Mae eu cyfuno'n un gwiriad yn cynhyrchu tocyn na all neb ei lwybr.
Gofynnwch i Android am y cludiant, nid am ping
Mae Android yn ateb y cwestiwn statws yn uniongyrchol drwy ConnectivityManager. Mae galluoedd y rhwydwaith actif yn cario baner cludiant VPN, a osodir pan fydd traffig yn cael ei lwybro drwy ryngwyneb VPN. Mae'r alwad yn lleol, yn rhad ac yn annibynnol o ba un a yw unrhyw westeiwr anghysbell yn ateb.
Mae'r fersiwn Java hon yn dychwelyd false yn hytrach na thaflu pan nad oes rhwydwaith actif. Gan ei fod yn darllen y rhwydwaith actif, mae'n adlewyrchu'r proffil a ddewisodd y defnyddiwr yn Gosodiadau.
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkCapabilities caps = cm.getNetworkCapabilities(cm.getActiveNetwork());
boolean tunnel = caps != null && caps.hasTransport(NetworkCapabilities.TRANSPORT_VPN);
Ar gyfer hysbysiadau newid, cofrestrwch NetworkCallback yn hytrach na pholio ar amserydd. Peidiwch â chymysgu hynny â VpnService.prepare, sy'n adrodd yn unig a yw'r defnyddiwr wedi caniatáu VPN, nid a yw pecynnau'n llifo. Daw dirymiad drwy VpnService.onRevoke, ond nid yw anghofio proffil yn Gosodiadau yn cynhyrchu unrhyw ddarllediad o gwbl.
iOS: mae enwau rhyngwyneb yn heuristaidd, nid yn gontract
Mae llawer o ddarnau iOS yn archwilio'r gosodiadau procsi, yn dod o hyd i'r geiriadur __SCOPED__, ac yn chwilio am allweddi rhyngwyneb fel tap, tun, utun2, ppp neu ipsec. Confensiwn enwi yw'r dull hwnnw, nid gwarant a ddogfennwyd, felly gall diweddariad OS sy'n ailenwi rhyngwyneb ei dorri. Mae hefyd yn tueddu i adrodd gwir am gofnodion hen a erys ar ôl y twnnel.
Pan fo eich ap yn berchen ar y ffurfweddiad, mae NEVPNManager yn rhoi statws go iawn ichi. Mae'n disgrifio'r twnnel a gychwynnodd eich ap; gyda VPN fesul ap, gall apiau eraill fod yn gwbl y tu allan i'r twnnel hwnnw.
Ail-lwythwch y dewisiadau cyn darllen y statws, oherwydd mae'r gwerth yn newid wrth i'r twnnel ddod a mynd:
let manager = NEVPNManager.shared()
manager.loadFromPreferences { error in
let up = manager.connection.status == .connected
print(up)
}
Nid yw baner statws llwyfan yn profi o hyd fod traffig yn cyrraedd y cymar. Mae'r bwlch hwnnw'n cael ei orchuddio gan y prawf llwybr, a dyna pam nad yw un boolean yn ddigon ar gyfer cymorth.
Mae proffiliau Windows yn dangos maes statws go iawn
Mae Windows yn olrhain proffiliau VPN ar wahân i addasyddion, ac mae Get-VpnConnection yn dangos ConnectionStatus ar gyfer pob proffil y mae'n ei adnabod. Mae proffiliau a grëwyd drwy glient Windows neu becyn darparu yn ymddangos yma. Nid yw'r cmdlet yn synhwyrydd twnnel cyffredinol.
Darllenwch y maes ar gyfer proffil a enwyd, gan ychwanegu -AllUserConnection pan fo'r proffil yn perthyn i bob defnyddiwr:
Get-VpnConnection -Name "Fabrikam" | Select-Object Name, ConnectionStatus, ServerAddress
Mae cleientiaid trydydd parti yn aml yn aros yn anweledig i'r cmdlet hwn hyd yn oed pan fo eu twnnel i fyny, felly mae canlyniad gwag yn golygu anhysbys, nid datgysylltiedig. Mae rhestrau addasydd yr un mor gamarweiniol: gall addasydd gwerthwr barhau tra'n segur, ac mae rhai addasyddion yn bodoli dim ond yn ystod sesiwn. Ar gyfer proffil y mae Windows yn berchen arno, mae rasdial yn adrodd cod gadael y gallwch ganghennu arno. Mae'r rhain i gyd yn disgrifio cred leol, nid cyrhaeddedd y cymar.
Statws a llwybr: y gwiriad dau ran
Nid yw proffil cysylltiedig yn dweud dim am ble mae pecynnau'n mynd. Gall twnnel hollt gadw'r twnnel i fyny tra'n eithrio'r gyrchfan sy'n bwysig i chi. Mae proffiliau always-on yn aros yn gysylltiedig â gweinydd marw, ac mae kill switch yn rhwystro traffig yn fwriadol pan fydd y twnnel yn cwympo.
Profwch y ddwy haen: cadarnhewch fod cludiant VPN neu broffil yn actif, yna cadarnhewch fod y gyrchfan yn datrys ac yn ateb ar hyd y llwybr hwnnw. Ar Linux, gofynnwch i'r cnewyllyn pa ryngwyneb y byddai'n ei ddefnyddio:
ip route get 192.0.2.10
resolvectl query intranet.example.test
Pan fo'r cleient y tu allan i'ch rheolaeth, cofnodwch y ddau ganlyniad a gadewch i'r patrwm bwyntio at yr haen. Mae cysylltiedig a phrawf llwybr wedi methu yn awgrymu twnnel hollt, DNS neu bolisi. Mae datgysylltiedig a phrawf llwybr sy'n gweithio yn golygu bod llwybr arall yn cario'r traffig.
Prawf y gallwch ei redeg mewn trefn
Cofnodwch statws y llwyfan yn gyntaf, cyn i chi newid unrhyw gyflwr rhwydwaith. Datryswch yr enw gwesteiwr a nodwch y teulu cyfeiriad, oherwydd gall cofnod AAAA gymryd llwybr gwahanol i gofnod A. Agorwch borth y gwasanaeth a mynnu ateb ap yn hytrach na chydio llaw moel. Cadwch bob arsylwi yn ei faes log ei hun.
Ar flwch Linux sydd â dig a curl, mae tri gorchymyn yn cwmpasu datrys, llwybr a'r gwasanaeth ei hun. Rhedwch nhw gyda'r twnnel i fyny ac eto gydag ef i lawr:
dig +short intranet.example.test
ip route get 198.51.100.20
curl -sS -o /dev/null -w "%{http_code}" --max-time 8 https://intranet.example.test/health
Mae pedwar maes ar wahân yn curo un boolean, oherwydd mae statws, DNS, llwybr a pholisi yn methu'n annibynnol ac yn glanio ar wahanol dimau. Mae ping mewn terfynell yn parhau i fod yn wiriad synnwyr da â llaw. Mae'n ddiffiniad gwael o gysylltedd ar gyfer awtomeiddio, lle mae API'r llwyfan a phrawf llwybr yn ateb y cwestiwn go iawn.