Borofayl ku shaqeeya laptop-ka ayaa ku guuldareysta telefoonka. Tallaabada cad waa in la beddelo hal eray oo ku jira qaabeynta macmiilka. Eraygaas ma caawin doono, sababtoo ah labada daraf ma ka hadlayaan isla nooc taraafik ah.

TAP waxay qaaddaa fareemada Ethernet. TUN waxay qaaddaa baakadaha IP. Appka VPN ee Android waxaa la siiyaa interface IP, taas oo ka dhigaysa mid ka mid ah labada hab mid suurtogal ah iyo kan kale aan suurtogal ahayn, iyadoo aan loo eegin waxa qaabeynta sheegto.

Isbarbardhiggu waa gaaban yahay, laakiin wuxuu go'aamiyaa inaad tan ku hagaajin karto telefoonka ama aad beddelto adeegga.

Laba nooc oo tunnel ah oo culeys kala duwan leh

Interface TAP waxay u dhaqantaa sida adapter Ethernet. Waxay qaaddaa fareemo, taas oo macnaheedu yahay ARP, baahin iyo wax kasta oo LAN ay qaaddo IP ka hooseeya. Taas ayaa buundada suurtogal ka dhigta: tunnelku wuxuu ballaariyaa goob baahin, macaamiishuna waxay u dhaqmaan sidii iyaga oo ku xiran switch.

Interface TUN waxay qaaddaa baakadaha IP ee loo jeediyay. Ma jiro lakab isku xir ah oo laga wada hadlo, ma jiro ARP, mana jiro baahin. Dawarsiga ayaa go'aamiya waxa tunnelka soo gala, qaabeynta dhinaca serverkuna waxay isticmaashaa subnet halkii buundo.

Labada daraf waa inay ku heshiiyaan midka ay samaynayaan. Beddelka dev tap oo loo beddelo dev tun dhinac ka mid ah ma beddelo adeegga; waxay soo saartaa macmiil filanaya tunnel la dawariyay iyo server weli diraya fareemo, gacan-qaadistuna way guulaysan kartaa iyadoo aan wax faa'iido leh soo gudbin.

Waxa Android dhab ahaan siiso appka

API VpnService ee madal ayaa appka siiya interface macmal ah oo loogu talagalay baakadaha IP, oo lagu qaabeeyay cinwaanno, waddooyin iyo MTU. API-daas ma jiro adapter Ethernet, appkuna ma hayo hab uu ku abuuro mid.

Taas ayaa sababta OpenVPN Connect u diiwaangeliso taageerada isku xirka TUN ee la dawariyay ee Android halkii buundooyinka TAP. Su'aalaha badan ee Android waa hadalka dhinaca macmiilka ee ku saabsan xadkan, wuuna waafaqsan yahay API-da madalka.

Qalabka shabakadda ee root leh, firmware gaar ah ama badeeco fulisa lakab tarjumaad cad waa habab kale. Kiiska caadiga ah waa kan la qorsheeyo: app awood u leh inuu soo dejiyo faylkaaga oo u shaqeeyo sida isticmaale caadi ah, oo leh interface IP oo aan waxba ka hooseyn.

Sida ay u muuqato marka aad haddana isku daydo

Isku xirku wuxuu inta badan dhacaa. Taas ayaa guuldarada ka dhigta mid qasan: macmiilku wuxuu soo sheegaa inuu xiran yahay, diiwaanka serverku wuxuu muujinayaa lammaane, mana jiro app shaqeeya.

Taraafikada loo diro cinwaanka telefoonka la qoondeeyay ma gaadho, sababtoo ah serverku wuxuu fareemada ku buundeynayaa cinwaan MAC oo telefoonku waligiis aan haysan. Soo-saarista ku tiirsan baahinta way madhan tahay. Haddii LANku ku tiirsan yahay DHCP buundada dhexdeeda, telefoonku ma heli doono kiro sidaas, cinwaan gacanta lagu bixiyay ee subnetka buundaysan weli ma abuuro interface-ka maqan.

Qaar ka mid ah macaamiisha ayaa hore u guuldareysta, marka borofaylka la soo dejinayo, marka ay arkaan nooc qalab ah oo aanay fulin karin. Labada dabeecad waxay ka dhigan yihiin isku mid, mana jiro mid lagu hagaajiyo iyadoo waddooyin lagu daro, DNS la beddelo ama baaxadda cinwaanka tunnelka la ballaariyo.

Waxa dhinaca serverku waa inuu beddelo

Hagaajintu waxay leedahay qofka maamula adeegga VPN, badanaana waa wax lagu daro halkii ay ahaan lahayd guurin. Ku shaqeeysii OpenVPN kale oo leh qalab la dawariyay, subnet macmiil oo u gaar ah iyo qaabeyn dhinaca server oo bixisa cinwaanno oo riixda waddooyinka telefoonadu u baahan yihiin. Tusaalaha buundaysan ee jira wuxuu sii wadaa inuu u adeego qalabka dhab ahaan u baahan Ethernet.

Laba faahfaahin ayaa tan ka dhigaya mid shaqaysa. LANku wuxuu u baahan yahay waddo soo-noqosho oo loogu talagalay subnetka cusub ee macmiilka, oo u jeedda martigeliyaha VPN, haddii kale jawaabuhu waligood soo noqon maayaan. Iyo dab-demiska martigeliyaha tunnelku waa inuu u gudbiyaa inta u dhaxaysa interface-ka tunnelka iyo LAN, waana tallaabada inta badan la illoobo marka tijaabo ka timaadda martigeliyaha laftiisa ay guulaysato.

Haddii hawlwadeenku aanu ku dari karin adeeg, beddelka waa qalab ku biiri kara buundada, taas oo ah laptop ama router ku shaqeeya magaca telefoonka. Taasi waa hareer-mar leh kharash maamul oo u gaar ah, ma aha qaabeyn Android.

Go'aanka ka gaar appka, ma aha tunnelka

Weydii waxa telefoonku dhab ahaan u baahan yahay inuu gaaro, ka dibna khariidad. Wadaagga faylka ama bogga intranet ee lagu gaaro magac ama cinwaan waa shuruud IP, tunnel la dawariyayna wuu buuxiyaa marka DNS uu magaca xalliyo oo waddadu jirto. Qalabka sahaminta ee baadha goobta baahinta maxalliga ah ma aha shuruud IP, mana jiro qadar dawarsi ah oo buuxin kara.

RequirementTunnel that satisfies it
File server or intranet by hostnameRouted TUN, with working DNS
Broadcast or ARP-based discoveryEthernet bridging, so not an ordinary Android client
Multicast deliveryBridging or an explicit multicast relay
One application to one addressRouted TUN, narrowest possible route

Shaxdaas sidoo kale waa codsiga la diro. Magaca appka, cinwaanka ama magaca uu isticmaalo, iyo inuu ku tiirsan yahay sahaminta. Hawlwadeenku wuu ku shaqeyn karaa sharaxaaddaas, taas oo aan qofna ku shaqeyn karin telefoon aan isku xiri karin.

Ugu dambeyntii, hayso adeegga TAP ee qalabka u baahan halkii aad ka dhigi lahayd macmiil kasta inuu dayaco adapter LAN. Laba adeeg oo ujeeddo cad leh ayaa ka fudud in la taageero mid qof walba u shaqeeya badh.

Maqaallo la xiriira