WireGuard ద్వారా మాత్రమే నడిచే HTTPS సేవ కోసం loopback పై Dante SOCKS
అంకిత SOCKS శ్రోతను loopback కు కట్టి ఒక TCP గమ్యాన్ని అనుమతించండి. Dante యొక్క బయటకు వెళ్లే మూలం, కెర్నల్ మార్గం, DNS మరియు టన్నెల్-నష్ట విధానాన్ని వేరుగా ఉంచండి.
ఈ రన్బుక్ ప్రాక్సీ తెలిసిన అప్లికేషన్కు ఇప్పటికే ఉన్న WireGuard మార్గానికి ప్రవేశం ఇస్తుంది, VPN సర్వర్లో లేదా ఇంటర్నెట్లో ప్రాక్సీ పోర్టును ప్రచురించకుండా. SOCKS డీమన్ అప్లికేషన్ ఇంటర్ఫేస్ను అందిస్తుంది, WireGuard ఇప్పటికే ఆమోదించబడిన IP మార్గాన్ని అందిస్తుంది, ఈ రెండూ మీ తరపున వినియోగదారుని ధృవీకరించవు. క్రింది ప్రతి దశ మీరు పరిశీలించగలిగే ఏదో ఉత్పత్తి చేస్తుంది, ప్రతి దానికి తిరిగి వెళ్లే మార్గం ఉంది: ఇన్స్టాన్స్ ఆపండి, నియమాన్ని తొలగించండి లేదా అప్లికేషన్ ప్రాక్సీ సెట్టింగ్ను తొలగించండి. ఇక్కడ ఏదీ హోస్ట్ డిఫాల్ట్ మార్గాన్ని మార్చదు.
ఉదాహరణ Dante 1.4.x విశ్వసనీయ Linux వర్క్స్టేషన్పై అంకిత, నిర్వహిత ఇన్స్టాన్స్గా ఇన్స్టాల్ చేయబడిందని, ప్యాకేజీ అందించిన సేవ ఖాతా మరియు లాగ్ కాన్ఫిగరేషన్ వాటి స్థానంలో ఉన్నాయని ఊహిస్తుంది. వర్క్స్టేషన్ 10.77.0.2 ను తన WireGuard ఇంటర్ఫేస్లో కలిగి ఉంది, ఆ టన్నెల్ ద్వారా 10.60.0.20:443 కు చేరుకుంటుంది, సేవ యొక్క సరైన పేరు app.corp.example.
దశ 1: శ్రోతను loopback కు మాత్రమే కట్టండి
నెట్వర్క్, పద్ధతి మరియు నియమ విభాగాలను ఇన్స్టాన్స్ యొక్క సక్రియ కాన్ఫిగరేషన్లో పెట్టి, ఉదాహరణ చిరునామాలను మార్చండి. అన్ని సర్వర్ సెట్టింగ్లు నియమ బ్లాకులకు ముందు వస్తాయి:
internal: 127.0.0.1 port = 1080
external: 10.77.0.2
external.protocol: ipv4
clientmethod: none
socksmethod: none
client pass {
from: 127.0.0.1/32 to: 127.0.0.1/32
}
socks pass {
from: 127.0.0.1/32 to: 10.60.0.20/32 port = 443
command: connect
protocol: tcp
}ఇది ఒక శకలం, ప్యాకేజీ యొక్క వినియోగదారు మరియు లాగ్ సెట్టింగ్లకు ప్రత్యామ్నాయం కాదు. ఉపయోగించని స్థానిక పోర్టును ఎంచుకోండి మరియు ఈ అంకిత ఇన్స్టాన్స్కు ఇతర శ్రోతలు, విస్తృత పాస్ నియమాలు మరియు ఒప్పందాన్ని మార్చే ఎగువ గొలుసు నమోదులు లేవని నిర్ధారించండి. గత కాన్ఫిగరేషన్ socks pass ను గమ్య పరిమితి లేకుండా వదిలి ఉంటే, ఏదైనా పరీక్షించే ముందు దాన్ని తొలగించండి.
ఈ దశ తిరిగి వెళ్లడం అంటే ఇన్స్టాన్స్ ఆపడం; మీరు దాన్ని తిరిగి పెట్టే సమయంలో కాన్ఫిగరేషన్ ఫైల్ డిస్క్లో ఉండవచ్చు.
దశ 2: ఒకటి కాదు, రెండు నియమాలు రాయండి
Dante యొక్క కాన్ఫిగరేషన్ సూచిక రెండు నియమ రకాలకు వేర్వేరు పనులు ఇస్తుంది. క్లయింట్ నియమం loopback శ్రోతకు కనెక్షన్ను అనుమతిస్తుంది, దాని గమ్యం శ్రోత స్వంత చిరునామా. SOCKS నియమం అభ్యర్థించిన తదుపరి కనెక్షన్ను ఆమోదించిన హోస్ట్ మరియు పోర్టుకు అనుమతిస్తుంది. సరిపోలని అభ్యర్థనలు డిఫాల్ట్గా నిరోధించబడతాయి, అందుకే లేని నియమం విరిగిన మార్గంలా కనిపిస్తుంది.
ఈ కాన్ఫిగరేషన్ ఉద్దేశపూర్వకంగా ఏమి చేయదో గమనించండి: ఇది SOCKS పాస్వర్డ్ అడగదు. అది విశ్వసనీయ స్థానిక హోస్ట్కు సరిపోతుంది, అది వినియోగదారు ధృవీకరణ కాదు. ఆ మెషీన్లోని ఏదైనా ఇతర ప్రక్రియ కూడా loopback ఉపయోగించవచ్చు. దూర అప్లికేషన్ యొక్క స్వంత ధృవీకరణను అలాగే ఉంచండి, ఈ ధృవీకరణ లేని రూపాన్ని విశ్వసనీయం కాని స్థానిక వినియోగదారులకు లేదా LAN వైపు చూసే శ్రోతకు మళ్లీ ఉపయోగించవద్దు.
దశ 3: సరైన మూలం నుండి మార్గాన్ని ధృవీకరించండి
external బయటకు వెళ్లే మూల చిరునామాన్ని ఎంచుకుంటుంది; అది WireGuard మార్గాన్ని ఇన్స్టాల్ చేయదు. ఉదాహరణ మూలం మరియు గమ్యం కోసం చదవడం-మాత్రమే శోధన:
ip -4 route get 10.60.0.20 from 10.77.0.2దాన్ని Dante యొక్క నిజమైన నెట్వర్క్ నామస్థలంలో నడపండి, మీకు తెరిచి ఉన్న ఏ షెల్లోనూ కాదు. మార్గం, WireGuard సహచరుడి ఎంపిక, దూర వైపు అనుమతి మరియు తిరిగి వచ్చే మార్గం అన్నీ ఆ మూల చిరునామాకు సరిపోవాలి. విజయవంతమైన శోధన అవసరం, సరిపోదు, ఎందుకంటే దూర మూల అభ్యర్థనను అంగీకరిస్తుందో లేదో అది ఏమీ చెప్పదు.
శోధన విజయవంతం కావడానికి డిఫాల్ట్ మార్గాన్ని జోడించాలనే ప్రలోభాన్ని ఎదిరించండి. ప్రాక్సీ పోర్టు ఈ వర్క్స్టేషన్లో మాత్రమే ఉంది; దాన్ని సృష్టించడానికి హోస్ట్ డిఫాల్ట్ మార్గాన్ని మార్చడం మొత్తం రూపకల్పనను తలకిందులు చేస్తుంది.
దశ 4: ఉద్దేశించిన గుర్తింపుతో పరీక్షించండి
యజమాని ఇన్స్టాల్ చేసిన కాన్ఫిగరేషన్ను ధృవీకరించి సేవా నిర్వాహకుడి ద్వారా ఇన్స్టాన్స్ ప్రారంభించిన తర్వాత, ఒక ఉదాహరణ అభ్యర్థన ఇది:
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' https://app.corp.example/తో socks5h, Dante గమ్య విశ్లేషణ చేస్తుంది, కానీ Dante ఈ వర్క్స్టేషన్లో నడుస్తుంది, కాబట్టి సెట్టింగ్ తనంతట తానుగా DNS ను టన్నెల్ దూర చివరకు పంపదు. Dante ఉపయోగించే ఆమోదించిన రిజాల్వర్ ఆ పేరుకు అనుమతించిన చిరునామాను తిరిగి ఇవ్వాలి. ఖాళీ no-proxy జాబితా వారసత్వ మినహాయింపు SOCKS ను నిశ్శబ్దంగా దాటవేయకుండా నిరోధిస్తుంది.
పరీక్షలో HTTPS హోస్ట్పేరు మరియు ధృవపత్ర ధృవీకరణను కొనసాగించండి, తర్వాత అసలు శ్రోతను పరిశీలించి ఒప్పందంలోని రెండు భాగాలను నిర్ధారించండి: అనుమతించిన అభ్యర్థన విజయవంతమవుతుంది, మినహాయించిన గమ్యం విఫలమవుతుంది. మద్దతు లేని ఫార్వార్డింగ్ ఆదేశాలు నిరాకరించబడి ఉండటాన్ని కూడా ధృవీకరించండి, ఎందుకంటే ఈ శకలం TCP పై SOCKS CONNECT ఆదేశాన్ని మాత్రమే అనుమతిస్తుంది, సాధారణ UDP లేదా మొత్తం పరికర టన్నెల్ వంటి వాటిని కాదు.
దశ 5: టన్నెల్ పడిపోయినప్పుడు ఏమి జరుగుతుందో నిర్ణయించండి
దీన్ని ఉత్పత్తి అని పిలిచే ముందు టన్నెల్-నష్టం మరియు ఇన్స్టాన్స్ పునఃప్రారంభాన్ని పరీక్షించండి. WireGuard తర్వాత Dante ను ప్రారంభించే పర్యవేక్షకుడు fail-closed రూటింగ్ను సృష్టించడు, fail-closed DNS ను కూడా సృష్టించడు; రెండూ నెట్వర్క్ యజమాని ద్వారా అమలు చేయాలి. టన్నెల్ డౌన్లో ఉన్నప్పుడు అప్లికేషన్ ఏమి చేస్తుందో గమనించండి: స్పష్టమైన లోపం మంచి ఫలితం, పబ్లిక్ రిజాల్వర్కు నిశ్శబ్దంగా పడిపోవడం కాదు.
బద్ధమైన టన్నెల్ చిరునామా మారితే నవీకరణలను సమన్వయం చేయండి, ఎందుకంటే external దానిపై పిన్ చేయబడింది. ఈ ఏర్పాటు ఇక అవసరం లేనప్పుడు, ఈ ఇన్స్టాన్స్ మరియు అప్లికేషన్ ప్రాక్సీ సెట్టింగ్ను కలిసి విరమించండి, WireGuard మార్గాన్ని దాని యజమానికి వదిలేయండి.