sshuttle vs పూర్తి VPN: దాని పద్ధతి నిజంగా ఏమి కవర్ చేస్తుంది
sshuttle దాని ఫార్వార్డింగ్ పద్ధతి మద్దతు ఇచ్చేది మాత్రమే తీసుకువెళుతుంది: మొదట TCP, DNS మరియు UDP కవరేజ్, అవసరమైన స్థానిక హక్కు మరియు దూర సహాయకుడిని తనిఖీ చేయండి.
SSH ఇప్పటికే పని చేస్తుంది మరియు క్రిప్టోగ్రఫీ పరిచితంగా కనిపిస్తుంది అనే కారణంతో sshuttle ఎంపిక చేయబడుతుంది, కానీ ఆ వాదన సరిపోతుందా అని నిర్ణయించే ఏకైక ప్రశ్నను దాటవేస్తుంది. ఏ ప్యాకెట్లు యంత్రాన్ని విడిచిపెడతాయి, ఆవలి వైపు ఏ ఖాతా వాటిని తీసుకువెళుతుంది, మరియు సాధనం ఎంత స్థానిక హక్కును కోరుతుంది. ఈ మూడు సమాధానాలు ఫార్వార్డింగ్ పద్ధతిని బట్టి మారుతాయి, కాబట్టి ఒక అప్లికేషన్కు పనిచేసే సెటప్ తదుపరి దానికి నిశ్శబ్దంగా విఫలమవ్వవచ్చు. క్రింది వివరణ అప్లికేషన్కు నిజంగా అవసరమైన ప్రోటోకాల్ నుండి ప్రారంభమవుతుంది.
అప్లికేషన్కు అవసరమైన ప్రోటోకాల్తో ప్రారంభించండి
sshuttle 2.0లో ప్రోటోకాల్ మద్దతు మీరు ఎంచుకునే పద్ధతిపై ఆధారపడి ఉంటుంది. Linux లోని NAT మరియు nft పద్ధతులు TCP మరియు DNS ను నిర్వహిస్తాయి, TPROXY సాధారణ UDP ను జోడిస్తుంది. ప్రతి ప్లాట్ఫారమ్ మరియు పద్ధతికి స్వంత పరిమితులు ఉన్నాయి, macOS పూర్తిగా భిన్నమైన యంత్రాంగంతో అడ్డుకుంటుంది. ఏదైనా ఎంచుకునే ముందు ఇన్స్టాల్ చేసిన సంస్కరణ, ఎంచుకున్న పద్ధతి మరియు అప్లికేషన్కు అవసరమైన ప్రోటోకాల్లను నమోదు చేయండి.
అందువల్ల పనిచేసే TCP అభ్యర్థన UDP అప్లికేషన్ లేదా ప్రతి DNS శోధన గురించి చాలా తక్కువ నిరూపిస్తుంది. sshuttle TCP ను పూర్తి IP ప్యాకెట్లను టన్నెల్ చేయడం బదులు ప్రవాహాలుగా పరిగణిస్తుంది, కాబట్టి సాధారణ VPN నుండి రుణం తీసుకున్న నిర్గమాంశ ముగింపు ఇక్కడ వర్తించదు. మీరు నిజంగా నడిపే యంత్రాంగాన్ని నిజంగా ఉన్న భారంతో పోల్చండి.
| Approach | What it carries | What it needs locally |
|---|---|---|
| SSH local forward | One explicitly named TCP destination | Nothing beyond the SSH client |
| sshuttle, nft or nat method | TCP and DNS to the routed prefixes | Root or sudo for firewall rules |
| sshuttle, tproxy method | TCP, DNS and general UDP | Root or sudo, and kernel support |
| IP VPN | Routed IP traffic in a tunnel | A client with the required privileges |
క్లయింట్కు స్థానికంగా ఏమి కావాలి
పత్రీకరించిన క్లయింట్ అమరికకు root లేదా sudo అవసరం, ఎందుకంటే అది టన్నెల్ ఇంటర్ఫేస్ను సృష్టించడం బదులు స్థానిక అడ్డుకునే నియమాలను ఇన్స్టాల్ చేస్తుంది. ఆ ఒక్క వాస్తవం భద్రతా కథను మారుస్తుంది: ఆ హక్కు ఉన్న ప్రక్రియ ఒక అప్లికేషన్ది మాత్రమే కాకుండా మొత్తం యంత్రం ట్రాఫిక్ను మళ్లించగలదు. హక్కును ఇన్స్టాలేషన్ వివరంగా కాకుండా రూపకల్పనలో భాగంగా పరిగణించండి.
సాధనం ఏ నియమాలను ఇన్స్టాల్ చేసింది మరియు అవి నిష్క్రమించేటప్పుడు మాయమవుతాయా అని నిర్ధారించుకోండి. అడ్డుకునే నియమాలను వదిలి కూలిపోయిన సెషన్, ఆపరేటర్ కనెక్షన్ పోయిందని నమ్మిన చాలా కాలం తర్వాత కూడా ట్రాఫిక్ను నల్ల గుండంలోకి పంపవచ్చు, మరియు లక్షణం మిగిలిన నియమంలా కాకుండా నెట్వర్క్ వైఫల్యంలా కనిపిస్తుంది.
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
మొదటి ఆదేశం సాధారణ పిలుపు రూపం, నిజంగా అవసరమైన ఉపసర్గతో. రెండవది సాధనం ఏమి ఇన్స్టాల్ చేసిందో చూపిస్తుంది, మూడవది ఏ టన్నెల్ ఇంటర్ఫేస్ కనిపించలేదని నిర్ధారిస్తుంది, ఇది ఈ రూపకల్పనకు ఆశించిన ఫలితం.
దూర వైపు ఏమి నడుపుతుంది
దూర వైపు అధికారం పొందిన SSH ఖాతా మరియు సరిపోయే Python సహాయక వాతావరణం. పరిమిత షెల్ కింద విజయవంతమైన లాగిన్ ఆ సహాయకుడిని నడపడానికి స్వయంచాలకంగా అనుమతి ఇవ్వదు, సహాయకుడిని నడపగల ఖాతా ప్రతి లక్ష్య సేవను స్వయంచాలకంగా చేరుకోదు. రెండు వాస్తవాలు సమస్య పరిష్కార నోట్స్లో కాకుండా యాక్సెస్ అభ్యర్థనలో ఉండాలి.
హోస్ట్ గుర్తింపు ధృవీకరణ మరియు ఖాతా ప్రామాణీకరణను రక్షించండి. మొదటి కనెక్షన్ పని చేయడానికి తెలియని హోస్ట్ కీని అంగీకరించడం, దూర వైపు మీరు ఉద్దేశించిన యంత్రం అనే తనిఖీని తొలగిస్తుంది, మరియు ఇది ఇక్కడ ఒకే లక్ష్య ఫార్వార్డింగ్ కంటే ఎక్కువ ముఖ్యం.
దూర ఖాతాను పని ప్రవాహానికి అవసరమైన సేవలకు పరిమితం చేయండి, ఆ పరిధిని హోస్ట్ను నడిపేవారితో చర్చించండి. వారు నమ్మక సంబంధంలో భాగం, క్లయింట్ వైపు ఏ సెట్టింగ్ దాన్ని మార్చదు.
నమ్మక సరిహద్దు ఎక్కడ ఉంది
SSH ద్వారా ప్రైవేట్ API కనెక్షన్ను ఫార్వార్డ్ చేయడం ప్రతి API ఆపరేషన్కు అధికారం ఇవ్వదు. అప్లికేషన్ TLS మరియు అప్లికేషన్ లాగిన్ ఇప్పటికీ వర్తిస్తాయి, మరియు సాధనం ప్రామాణీకరణ లేని సేవను సురక్షితం చేయలేదు. దూర హోస్ట్ నుండి తదుపరి దాటు కూడా స్వయంచాలకంగా SSH ఛానెల్ వంటి అదే రక్షిత విభాగం కాదు, ఎందుకంటే ఆ రెండవ కనెక్షన్ దూర హోస్ట్కు ఉన్న ఏ విధానాన్నైనా అనుసరిస్తుంది.
సరిహద్దును ఒక వాక్యంలో రాయండి: ఈ ఉపసర్గలకు ట్రాఫిక్ ఆ హోస్ట్లో ఈ ఖాతా ద్వారా బయటకు వెళుతుంది. వాక్యానికి మినహాయింపుల పేరా అవసరమైతే, రూపకల్పన దాని పత్రాలు చెప్పే దానికంటే ఎక్కువ చేస్తోంది, ఉత్పత్తికి చేరే ముందు రెండవ పరిశీలనకు అర్హం.
ప్రతి ప్రోటోకాల్పై నిరూపించండి, తర్వాత సాధనాన్ని ఎంచుకోండి
అవసరమైన ప్రతి ప్రోటోకాల్ను హానిచేయని అభ్యర్థనతో పరీక్షించండి, రిజాల్వర్ మార్గం మరియు అప్లికేషన్ ఉపయోగించే చిరునామా కుటుంబాలతో సహా. పరీక్షలో డిస్కనెక్ట్ను కూడా చేర్చండి, అప్పుడు అప్లికేషన్ యొక్క అనుమతించిన వైఫల్య ప్రవర్తన సంఘటన సమయంలో ఆశ్చర్యం కాకుండా తెలిసిన ఫలితం అవుతుంది. నడుస్తున్నప్పుడు సరిగ్గా ఫార్వార్డ్ చేసిన సెషన్ పడిపోయిన తర్వాత ఏమి జరుగుతుందనే దాని గురించి ఏమీ చెప్పదు.
స్పష్టంగా పేరు పెట్టిన కొన్ని సేవలకు సాధారణ స్థానిక ఫార్వార్డింగ్ యాజమాన్యం మరియు ఆడిట్కు సులభం. తన పద్ధతికి సరిపోయే అప్లికేషన్ ట్రాఫిక్కు sshuttle చట్టబద్ధమైన మధ్య మార్గాన్ని అందిస్తుంది. అవసరం విస్తృత IP కనెక్టివిటీ అయినప్పుడు, VPN రూపకల్పన నిజాయితీ సమాధానం, మరియు ఎంపిక ఎన్క్రిప్షన్ అల్గోరిథమ్ల ర్యాంకింగ్ను కాకుండా కవరేజ్ మరియు కార్యాచరణ బాధ్యతను అనుసరిస్తుంది.