Ir-regola tal-VPN wieħed f'Android ma timblokkax server SSH ospitat
Il-limitu ta' VPN wieħed jillimita s-servizzi VPN, mhux is-sockets. Server SSH fuq it-telefon ifalli minħabba l-listener, l-aċċess tas-sieħeb jew il-passaġġ tar-risposta.
It-twemmin huwa komuni biżżejjed biex jiġi trattat bħala fatt: Android jippermetti VPN wieħed biss, allura server SSH li jaħdem fuq it-telefon ma jistax jaħdem minn dak it-tunnel. L-ewwel nofs huwa veru u l-konklużjoni ma tiġix minnu. Il-limitu tal-pjattaforma huwa dwar kemm apps jistgħu jokkupaw is-slot tas-servizz VPN, mhux dwar kemm sockets jistgħu jeżistu jew min jista' jikkonnettja mat-telefon. Daemon SSH b'socket li jisma' huwa app ordinarja b'port ordinarju, u t-tunnel huwa wieħed mill-passaġġi li t-traffiku tiegħu jista' jieħu.
X'inhuma verament jillimita r-regola tal-VPN wieħed
VpnService huwa riżors b'slot wieħed. Meta app tistabbilixxi tunnel issir il-VPN tal-apparat, u t-tieni app li tipprova tistabbilixxi wieħed tiġi miċħuda sakemm l-ewwel titlaq. Din hija regola dwar is-sjieda tat-tunnel, u tispjega għaliex żewġ klijenti VPN ma jistgħux jaħdmu fl-istess ħin.
Ma tgħid xejn dwar sockets li jisimgħu. Is-server SSH ma jsejjaħx lil VpnService, ma jinterċettax pakketti u ma jikkompetix għal dak is-slot. Huwa jorbot port u jaċċetta konnessjonijiet, l-istess ħaġa li kien jagħmel mingħajr VPN installat xejn. Allura l-mit jikkonfondi limitu fuq il-fornituri tat-tunnel ma' limitu fuq il-konnessjonijiet tan-netwerk, u t-tnejn m'għandhom l-ebda relazzjoni.
Il-listener huwa destinazzjoni, mhux parti mit-tunnel
Ladarba t-tunnel jeżisti, it-telefon għandu indirizz fuqu u l-apparat sieħeb għandu rotta lejn dak l-indirizz. Jekk xi ħaġa twieġeb jiddeċiedi l-listener. Daemon marbut mal-loopback huwa aċċessibbli biss mit-telefon innifsu; daemon marbut mal-indirizz antik tat-tunnel jista' jżomm il-binding tiegħu wara rikonnessjoni waqt li l-indirizz li miegħu ntrabt ikun inbidel.
Ir-regoli tal-bind huma konfigurazzjoni SSH ordinarja: l-indirizz u l-port tas-smigħ, u min jista' jawtentika. Fuq Android dawk is-settings jgħixu fil-konfigurazzjoni tal-app innifisha, u s-sid tal-proċess tal-app jista' ma jkollux permess juża ports privileġġjati, għalhekk id-drawwa tad-desktop li jorbot il-port 22 bħala root ma tgħaddix bla bidla.
ListenAddress 10.90.0.4
Port 2222
AllowUsers aliceImbagħad hemm il-permess fuq il-passaġġ innifsu. VPN tal-konsumatur li bil-ferħ iġorr traffiku web ħiereġ m'għandux għalfejn jippermetti konnessjonijiet deħlin lejn il-klijenti tiegħu xejn; ħafna ma jagħmlux, għax dan jesponi klijent wieħed għall-ieħor. Jekk is-sieħeb ma jistax jilħaq l-indirizz tat-tunnel tat-telefon minn imkien, il-problema tinsab fil-politika tas-servizz u mhux fit-telefon.
Il-passaġġ tar-risposta huwa fejn normalment jinqasam
Ejja ngħidu li s-sieħeb jilħaq l-indirizz tat-tunnel tat-telefon u l-SYN jasal. Issa r-risposta trid toħroġ mill-istess passaġġ, u din hija deċiżjoni ta' routing ġewwa t-telefon. Jekk ir-risposta toħroġ mill-Wi-Fi għax dik hija n-netwerk default, is-sieħeb jara konnessjoni li qatt ma titlesta, li tidher eżattament bħal firewall.
Android jagħmel dan aktar kumpless minn desktop għax in-netwerk default jintgħażel għal kull proċess u jista' jinbidel mill-politika tal-app VPN. Klijent VPN jista' jirrotta biss lista ta' apps permessi, allura app tas-server li tinsab barra minn dik il-lista tkompli tuża n-netwerk fiżiku għar-risposti tagħha waqt li s-sieħeb jistenna lilhom mit-tunnel.
App tista' wkoll torbot is-sockets tagħha ma' netwerk speċifiku, li jissupera d-default. Meta taqra rapport li servizz huwa aċċessibbli minn indirizz u mhux minn ieħor, normalment dan huwa l-mekkaniżmu warajh.
L-għaddi mill-VPN ma jsewwix servizz deħlin
Is-soluzzjoni popolari, teskludi l-app SSH mill-VPN sabiex it-traffiku tagħha jieqaf jiġi ridirett, hija tiswija għall-problema opposta. Tgħin meta t-trasport ta' klijent SSH ħiereġ ikompli jinqasam minħabba t-tunnel. Għal server ospitat tista' tneħħi r-risposti mit-tunnel li qed juża s-sieħeb, li jbiddel falliment parzjali f'wieħed totali.
L-istess japplika għall-ftuħ ta' port pubbliku fuq ir-router. Jekk ir-rekwiżit huwa li apparat awtorizzat wieħed jilħaq it-telefon permezz tal-VPN, l-esponiment tal-SSH għall-internet huwa mudell ta' theddida differenti u mhux tiswija.
Iddeċiedi l-ewwel l-indirizz tas-servizz: l-indirizz LAN tat-telefon, l-indirizz tat-tunnel tiegħu, jew endpoint mibgħut apposta. Kull wieħed għandu l-kuntratt tiegħu ta' aċċessibilità u espożizzjoni, u li tħallathom huwa kif problema żgħira ta' aċċess issir toqba permanenti.
Iddijanjostika direzzjoni waħda ħin wieħed
Ikteb erba' fatti qabel ma tibdel il-konfigurazzjoni: l-indirizz li miegħu qed jikkonnettja s-sieħeb, l-istat tal-listener fuq it-telefon, il-kuntest tal-app u l-utent li jipposjedih, u l-passaġġ osservat f'kull direzzjoni. Rapport li jgħid li l-VPN jiskonnettja l-SSH ma fih l-ebda waħda minnhom u ma jistax jiddistingwi problema ta' trasport tal-klijent minn server mhux aċċessibbli.
adb shell ip -br addr
adb shell ip route get 10.90.0.9
nc -vz 10.90.0.4 2222Ħaddem il-verifika tal-port mis-sieħeb, mhux mit-telefon, u aqra l-output dettaljat tal-klijent SSH biex tara jekk ifallix qabel jew wara l-handshake TCP. Socket li qatt ma jikkonnettja u login miċħud huma stadji differenti b'responsabbli differenti.
Żomm il-verifika tal-kjavi tal-host u r-restrizzjonijiet tal-kont intatti waqt li tiddenbuggja. Huwa r-restrizzjoni tal-listener u l-utenti permessi li tagħmel server aċċessibbli aċċettabbli; li tħallihom biex konnessjoni taħdem tbiddel problema waħda ma' waħda agħar. Ir-referenza tas-server OpenSSH tkopri l-kontrolli tas-smigħ u l-aċċess jekk l-implimentazzjoni Android tiegħek issegwi l-istess ismijiet tal-konfigurazzjoni.