TAP లేదా TUN? Android OpenVPN క్లయింట్లు మరియు వంతెన సేవికలు
TAP ఈథర్నెట్ ఫ్రేమ్లను తీసుకువెళ్తుంది, TUN IP ప్యాకెట్లను తీసుకువెళ్తుంది, Android యాప్కు రెండవ రకం మాత్రమే లభిస్తుంది. రెండింటిని పోల్చి, తర్వాత సేవిక వైపు సరిచేయండి.
ల్యాప్టాప్లో పనిచేసే ప్రొఫైల్ ఫోన్లో విఫలమవుతుంది. స్పష్టమైన చర్య క్లయింట్ కాన్ఫిగ్లో ఒక పదాన్ని మార్చడం. ఆ పదం సహాయపడదు, ఎందుకంటే రెండు చివరలు ఒకే రకమైన ట్రాఫిక్ గురించి మాట్లాడటం లేదు.
TAP ఈథర్నెట్ ఫ్రేమ్లను తీసుకువెళ్తుంది. TUN IP ప్యాకెట్లను తీసుకువెళ్తుంది. Android VPN యాప్కు IP ఇంటర్ఫేస్ ఇవ్వబడుతుంది, ఇది కాన్ఫిగ్ ఏమి చెప్పినా రెండు ఏర్పాట్లలో ఒకటి సాధ్యమవ్వడానికి మరియు మరొకటి కాకుండా చేస్తుంది.
పోలిక చిన్నది, కానీ దీన్ని ఫోన్లోనే సరిచేయగలమా లేక సేవను మార్చాలా అనేది అది నిర్ణయిస్తుంది.
వేర్వేరు భారాలతో రెండు రకాల సొరంగాలు
TAP ఇంటర్ఫేస్ ఈథర్నెట్ అడాప్టర్ లాగా ప్రవర్తిస్తుంది. అది ఫ్రేమ్లను తీసుకువెళ్తుంది, అంటే ARP, ప్రసారం మరియు IP కింద LAN తీసుకువెళ్లే ప్రతిదీ. ఇదే వంతెనను సాధ్యం చేస్తుంది: సొరంగం ప్రసార డొమైన్ను విస్తరిస్తుంది, క్లయింట్లు స్విచ్కు కలిపినట్లు ప్రవర్తిస్తాయి.
TUN ఇంటర్ఫేస్ తనకు చిరునామా చేసిన IP ప్యాకెట్లను తీసుకువెళ్తుంది. చర్చించడానికి లింక్ పొర లేదు, ARP లేదు, ప్రసారం లేదు. సొరంగంలోకి ఏమి ప్రవేశిస్తుందో మార్గదర్శనం నిర్ణయిస్తుంది, సేవిక వైపు కాన్ఫిగ్ వంతెనకు బదులు ఉపజాలాన్ని ఉపయోగిస్తుంది.
రెండు చివరలు వాటిలో ఏది చేస్తున్నారో అంగీకరించాలి. ఒక వైపు dev tap ను dev tun గా మార్చడం సేవను మార్చదు; మార్గదర్శిత సొరంగాన్ని ఆశించే క్లయింట్ మరియు ఇంకా ఫ్రేమ్లు పంపుతున్న సేవిక ఏర్పడతాయి, ఉపయోగకరమైనది ఏదీ దాటకుండానే చేతులు కలపడం విజయవంతం కావచ్చు.
Android యాప్కు నిజంగా ఇచ్చేది
వేదిక యొక్క VpnService API యాప్కు IP ప్యాకెట్ల కోసం వర్చువల్ ఇంటర్ఫేస్ ఇస్తుంది, అది చిరునామాలు, మార్గాలు మరియు MTU తో కాన్ఫిగర్ చేయబడింది. ఆ API లో ఈథర్నెట్ అడాప్టర్ లేదు, యాప్ ఒకటి సృష్టించడానికి మార్గం కూడా లేదు.
అందుకే OpenVPN Connect Android లో TAP వంతెనకు బదులు మార్గదర్శిత TUN కనెక్షన్లకు మద్దతును నమోదు చేస్తుంది. Android తరచుగా అడిగే ప్రశ్నలు ఈ పరిమితిపై క్లయింట్ వైపు ప్రకటన, అది వేదిక API తో సరిపోతుంది.
రూట్ అనుమతులు ఉన్న నెట్వర్క్ సాధనాలు, అనుకూల ఫర్మ్వేర్ లేదా స్పష్టమైన అనువాద పొరను అమలు చేసే ఉత్పత్తి వేరే ఏర్పాట్లు. సాధారణ సందర్భం ప్రణాళిక చేయాల్సినది: మీ ఫైల్ను దిగుమతి చేసుకుని సాధారణ వినియోగదారుగా నడవగల యాప్, IP ఇంటర్ఫేస్తో మరియు దాని కింద ఏమీ లేకుండా.
అయినా ప్రయత్నించినప్పుడు ఎలా ఉంటుంది
కనెక్షన్ సాధారణంగా ఏర్పడుతుంది. అదే వైఫల్యాన్ని గందరగోళంగా చేస్తుంది: క్లయింట్ కనెక్ట్ అయినట్లు నివేదిస్తుంది, సేవిక లాగ్ భాగస్వామిని చూపిస్తుంది, ఏ యాప్లికేషన్ పనిచేయదు.
ఫోన్కు కేటాయించిన చిరునామాకు పంపిన ట్రాఫిక్ చేరదు, ఎందుకంటే సేవిక ఫ్రేమ్లను ఫోన్ ఎప్పుడూ కలిగి లేని MAC చిరునామాకు వంతెన చేస్తుంది. ప్రసారంపై ఆధారపడిన కనుగొనడం ఖాళీగా ఉంటుంది. LAN వంతెన ద్వారా DHCP పై ఆధారపడితే, ఫోన్ ఆ విధంగా లీజ్ పొందదు, వంతెన చేసిన ఉపజాలంలో చేతితో ఇచ్చిన చిరునామా కూడా లేని ఇంటర్ఫేస్ను సృష్టించదు.
కొన్ని క్లయింట్లు ముందుగానే విఫలమవుతాయి, ప్రొఫైల్ దిగుమతిలో, అమలు చేయలేని పరికర రకాన్ని చూసినప్పుడు. రెండు ప్రవర్తనలు ఒకే అర్థాన్ని ఇస్తాయి, మార్గాలు జోడించడం, DNS మార్చడం లేదా సొరంగం చిరునామా పరిధిని విస్తరించడం ద్వారా ఏదీ సరిచేయబడదు.
సేవిక వైపు ఏమి మార్చాలి
సరిదిద్దడం VPN సేవను నిర్వహించే వారిది, మరియు అది సాధారణంగా స్థానభ్రంశం కాదు, జోడింపు. మార్గదర్శిత పరికరం, దాని స్వంత క్లయింట్ ఉపజాలం మరియు చిరునామాలను కేటాయించి ఫోన్లకు అవసరమైన మార్గాలను నెట్టే సేవిక వైపు కాన్ఫిగ్తో రెండవ OpenVPN సందర్భాన్ని అమలు చేయండి. ఇప్పటికే ఉన్న వంతెన సందర్భం నిజంగా ఈథర్నెట్ అవసరమైన పరికరాలకు సేవ చేస్తూనే ఉంటుంది.
రెండు వివరాలు దీన్ని ఆచరణలో పనిచేయిస్తాయి. కొత్త క్లయింట్ ఉపజాలం కోసం LAN కు VPN హోస్ట్ వైపు చూపే తిరిగి మార్గం కావాలి, లేకపోతే సమాధానాలు ఎప్పటికీ తిరిగి రావు. మరియు సొరంగం హోస్ట్పై ఫైర్వాల్ సొరంగం ఇంటర్ఫేస్ మరియు LAN మధ్య ఫార్వర్డ్ చేయాలి, హోస్ట్ నుండే చేసిన పరీక్ష విజయవంతమైనప్పుడు ఈ దశను ఎక్కువగా మరచిపోతారు.
నిర్వాహకుడు సేవను జోడించలేకపోతే, ప్రత్యామ్నాయం వంతెనలో చేరగల పరికరం, అంటే ఫోన్ తరఫున పనిచేసే ల్యాప్టాప్ లేదా రౌటర్. ఇది దాని స్వంత నిర్వహణ ఖర్చుతో కూడిన తాత్కాలిక పరిష్కారం, Android కాన్ఫిగ్ కాదు.
సొరంగం నుండి కాదు, యాప్ నుండి నిర్ణయించండి
ఫోన్ నిజంగా ఏమి చేరుకోవాలో అడగండి, తర్వాత దాన్ని మ్యాప్ చేయండి. పేరు లేదా చిరునామా ద్వారా చేరుకునే ఫైల్ భాగస్వామ్యం లేదా ఇంట్రానెట్ సైట్ IP అవసరం, DNS పేరును పరిష్కరించి మార్గం ఉన్నప్పుడు మార్గదర్శిత సొరంగం దాన్ని నెరవేరుస్తుంది. స్థానిక ప్రసార డొమైన్ను బ్రౌజ్ చేసే కనుగొనే సాధనం IP అవసరం కాదు, ఎంత మార్గదర్శనమైనా దాన్ని నింపదు.
| Requirement | Tunnel that satisfies it |
|---|---|
| File server or intranet by hostname | Routed TUN, with working DNS |
| Broadcast or ARP-based discovery | Ethernet bridging, so not an ordinary Android client |
| Multicast delivery | Bridging or an explicit multicast relay |
| One application to one address | Routed TUN, narrowest possible route |
ఆ పట్టిక పంపాల్సిన అభ్యర్థన కూడా. యాప్, అది ఉపయోగించే చిరునామా లేదా పేరు, మరియు అది కనుగొనడంపై ఆధారపడి ఉందా అని పేర్కొనండి. నిర్వాహకుడు ఆ వివరణపై పనిచేయగలడు, కనెక్ట్ కాని ఫోన్పై ఎవరూ అలా చేయలేరు.
చివరగా, ప్రతి క్లయింట్ను LAN అడాప్టర్ను అనుకరించమని బలవంతం చేయడం బదులు అవసరమైన పరికరాల కోసం TAP సేవను ఉంచండి. స్పష్టమైన లక్ష్యాలతో రెండు సేవలకు మద్దతు ఇవ్వడం అందరికీ సగం పనిచేసే ఒకదాని కంటే సులభం.