మీ కంటైనర్ UDP 1195 పై వినగలదు, హోస్ట్ 1194 ప్రచురిస్తుంది, మ్యాపింగ్ అలా చెప్పినంత వరకు ఇది సరైనది. సంఖ్యలు అనువాద పట్టికను ఏర్పరుస్తాయి: క్లయింట్ హోస్ట్ పోర్ట్ను డయల్ చేస్తుంది, Docker గమ్యాన్ని కంటైనర్ పోర్ట్కు తిరిగి రాస్తుంది, OpenVPN దాని స్వంత కాన్ఫిగరేషన్ పేర్కొనే పోర్ట్లో సమాధానమిస్తుంది. ఈ లింకులలో ఏదైనా సరిపోకపోతే ఫైర్వాల్ లాగా కనిపించే నిశ్శబ్ద వైఫల్యం ఏర్పడుతుంది. సర్టిఫికెట్లు మరియు సైఫర్లు దీని క్రింద ఉంటాయి మరియు దీన్ని సరిచేయలేవు.

ప్రామాణీకరణ గురించి ఏదైనా మార్చే ముందు ఒక ప్యాకెట్ను క్లయింట్ నుండి ప్రక్రియ వరకు అనుసరించండి.

మూడు సంఖ్యలు, ఒక కనెక్షన్

ఆ మూడు సంఖ్యలు క్లయింట్ ఉపయోగించే దూరపు గమ్యం, హోస్ట్పై ప్రచురించిన మ్యాపింగ్, మరియు కంటైనర్ లోపలి శ్రోత. అవి సమానంగా ఉండాల్సిన అవసరం లేదు, కానీ గొలుసుగా ఏర్పడాలి. సమాన సంఖ్యలు యాదృచ్ఛికంగా అత్యంత సాధారణమైన ప్రత్యేక సందర్భం, అందుకే సరిపోకపోవడాన్ని ఒకసారి రాయడం సులభం, తర్వాత చూడడం కష్టం.

డీబగ్ చేయడానికి ముందు గొలుసును ఒక లైన్లో రాయండి: క్లయింట్ చిరునామా మరియు పోర్ట్, హోస్ట్ మ్యాపింగ్, కంటైనర్ శ్రోత, రవాణా. గొలుసులోని లోపం వేర్వేరు విలువలతో రెండుసార్లు వచ్చే సంఖ్యగా కనిపిస్తుంది.

LocationExample
Remote client destinationHost address, UDP 1194
Published mappingHost UDP 1194 to container UDP 1195
Container listenerOpenVPN on UDP 1195

చిన్న సింటాక్స్ నిజంగా ఏం చెబుతుంది

చిన్న రూపంలో ఎడమ వైపు హోస్ట్ పోర్ట్, కుడి వైపు కంటైనర్ పోర్ట్, మరియు స్లాష్ ప్రత్యయం రవాణాను ఎంచుకుంటుంది. ప్రత్యయాన్ని వదిలేస్తే Docker మ్యాపింగ్ను TCP గా పరిగణిస్తుంది, కాబట్టి ప్రోటోకాల్ లేని మ్యాపింగ్ వెనుక ఉన్న UDP శ్రోత ఎవరూ చేరలేని శ్రోత. ఆ డిఫాల్ట్ డాక్యుమెంట్ చేయబడింది మరియు సంఖ్యలను సరిపెట్టి పని పూర్తయిందని భావించినవారిని ఇప్పటికీ ఆశ్చర్యపరుస్తుంది.

పొడవైన రూపం బైండ్ చిరునామా మరియు ప్రోటోకాల్ను స్పష్టంగా నిర్ణయిస్తుంది, ఇది నెట్వర్క్ వైపు ఉన్న దేనికైనా అదనపు లైన్లకు తగినది. మ్యాపింగ్ను సృష్టించిన ఫైల్ను నమ్మకుండా ప్రచురించిన మ్యాపింగ్ను తిరిగి చదవండి.

ports:
  - 1194:1195/udp

ప్యాకెట్ ఎక్కడ ఆగవచ్చు

ఒక అభ్యర్థన Docker ముందు, Docker లో లేదా శ్రోత వద్ద పడవేయబడవచ్చు. Docker ముందు క్లౌడ్ ఫైర్వాల్ లేదా తనే ఫార్వర్డ్ చేసే రౌటర్ ఉండవచ్చు, ఆ పరికరానికి హోస్ట్ వైపు పోర్ట్ మరియు సరైన రవాణా అవసరం. Docker లోపల తప్పు కంటైనర్ పోర్ట్కు మ్యాపింగ్ మూసివేసిన సాకెట్కు పంపుతుంది.

తర్వాత శ్రోత: OpenVPN కాన్ఫిగరేషన్ ఒక పోర్ట్ మరియు ప్రోటోకాల్ను పేర్కొంటుంది, కంటైనర్ లోపల మరొకదానికి వచ్చే క్లయింట్ ఏదీ చేరుకోదు. UDP సేవను TCP తో పరీక్షించడం ఈ ఏ దశలోనూ ఏమీ నిరూపించదు, కాబట్టి క్లయింట్ ఉపయోగించబోయే రవాణానే ఉపయోగించండి.

బైండ్ చిరునామాలు చేరుకోగలిగే సామర్థ్యాన్ని నిర్ణయిస్తాయి

loopback కు కట్టబడిన ప్రచురిత మ్యాపింగ్ హోస్ట్ నుండి మాత్రమే చేరుకోగలదు, అన్ని ఇంటర్ఫేస్లకు కట్టబడినది ఫైర్వాల్ అనుమతించిన చోటంతా చేరుకోగలదు. చిరునామాను వదిలేసే Compose ఫైల్లో రెండూ ఒకేలా కనిపిస్తాయి, Docker డిఫాల్ట్ విశాలమైనది.

అమలు ఏ బహిర్గతాన్ని ఉద్దేశిస్తుందో నిర్ణయించి, తర్వాత స్పష్టంగా రాయండి. loopback ద్వారా కనెక్ట్ అయ్యే అంతర్గత పరీక్ష మరియు కనెక్ట్ కాలేని దూరపు క్లయింట్ రెండూ ఒకే కంటైనర్ యొక్క ఖచ్చితమైన వివరణలు కాగలవు.

నడుస్తున్న స్థితిని చదవండి

నడుస్తున్న కంటైనర్ యొక్క వాస్తవ మ్యాపింగ్ మరియు దాని నెట్వర్క్ నామస్థలంలోని శ్రోతను పరిశీలించండి. కంటైనర్ ప్రారంభమైన తర్వాత Compose ఫైల్ సవరించబడి ఉండవచ్చు, ఇమేజ్ మెటాడేటా పోర్ట్ను ప్రచురించకుండా ప్రకటించవచ్చు, రెండవ కంటైనర్ ఇప్పటికే హోస్ట్ పోర్ట్ను కలిగి ఉండవచ్చు. ఇమేజ్లో పోర్ట్ను ప్రకటించడం దాన్ని ప్రచురించడం కాదు, రెండూ వినడానికి సమానం కావు.

మూడు వేర్వేరు స్థితులు, మూడు వేర్వేరు ఆదేశాలు, చివరిది మాత్రమే OpenVPN తో సంబంధం కలిగి ఉంటుంది.

మ్యాపింగ్ సరైన తర్వాత

ప్యాకెట్ OpenVPN చేరుకున్న తర్వాత, దాని లాగ్ TLS మరియు ప్రామాణీకరణ గురించి చదివే స్థలం. ఎప్పుడూ రాని ప్యాకెట్ను సరిచేయడానికి సర్టిఫికెట్లను తిరిగి సృష్టించడం రెండవ చరాన్ని జోడించే వృథా పని. మ్యాపింగ్ గమనికను క్లయింట్ ప్రొఫైల్ పక్కన ఉంచండి, తదుపరి వ్యక్తి మూడు సంఖ్యలను మళ్లీ కనుగొనకుండా ఒక లైన్ చదువుతాడు. హోస్ట్ వైపు ఒకసారి ప్యాకెట్ క్యాప్చర్ చేయడం మూడు లింకులలో ఏది తప్పో నిర్ణయిస్తుంది, దాని ఖర్చు సర్టిఫికెట్ పునరుత్పత్తి కంటే తక్కువ.

ఇక్కడ వివరించిన సందర్భం వంతెన ద్వారా ప్రచురణ. హోస్ట్ నెట్వర్కింగ్ మరియు రూట్ చేసిన కంటైనర్ చిరునామాలు అనువాదాన్ని దాటవేస్తాయి, కాబట్టి ఆ డిజైన్లలో అదే సంఖ్యలు వేరే అర్థాన్ని ఇస్తాయి.

సంబంధిత వ్యాసాలు