WireGuard సర్వర్ మొదట పంపిన తర్వాత మాత్రమే పనిచేస్తుంది: ఎండ్పాయింట్ జ్ఞానం
దిశపై ఆధారపడిన విజయం సాధారణంగా ఒక పీర్ మరొకరి చిరునామాను ఎప్పుడూ నేర్చుకోలేదని అర్థం. ఎండ్పాయింట్లను పోల్చి, ఆపై అనువాద మ్యాపింగ్ గడువు ముగిసిందో లేదో తనిఖీ చేయండి.
సర్వర్ మొదట ఏదైనా పంపిన తర్వాత మాత్రమే టన్నెల్ పనిచేస్తున్నట్లు కనిపిస్తుంది. క్లయింట్ నుండి ప్రారంభించండి, ఏమీ జరగదు, కొన్ని సెకన్లు వేచి ఉండి మళ్లీ ప్రయత్నించండి, అది విజయవంతమవుతుంది. సాధారణ నిర్ధారణ పాడైన NAT, మరియు సాధారణ నిర్ధారణ తప్పు. మారినది ఏమిటంటే ఒక పీర్ మరొకరు ఎక్కడ ఉంటారో తెలుసుకుంది.
ఎండ్పాయింట్ జ్ఞానం, చేరుకోగల సామర్థ్యం కాదు
WireGuard పీర్ ఎక్కడికి పంపాలో తెలిసే వరకు హ్యాండ్షేక్ ప్రారంభించదు. కాన్ఫిగరేషన్ దానిని చిరునామా మరియు పోర్ట్ ఎండ్పాయింట్గా ఇస్తుంది, నడుస్తున్న స్థితి ఇప్పుడు నమ్ముతున్న ఎండ్పాయింట్ను ట్రాక్ చేస్తుంది.
wg show ఆ చిత్రానికి రెండు వైపులా ముద్రిస్తుంది, మరియు అవుట్పుట్లో ఎండ్పాయింట్ లేని పీర్ తన పబ్లిక్ కీ మరియు అనుమతించిన ప్రిఫిక్స్ ఎంత సరిగ్గా ఉన్నా ఏమీ ప్రారంభించలేదు. ఏదైనా నియమాన్ని మార్చే ముందు క్లయింట్ దృష్టిని సర్వర్తో పోల్చండి, ఎందుకంటే ఎవరికి ఏమి తెలుసు అనే దానిపై ఇద్దరూ తరచుగా ఏకీభవించరు.
పీర్ ఎండ్పాయింట్ను ఎలా నేర్చుకుంటుంది
WireGuard ఉద్దేశపూర్వకంగా నిశ్శబ్దంగా ఉంటుంది. సరిగ్గా ప్రామాణీకరించిన ప్యాకెట్ పీర్ ఊహించని చిరునామా నుండి వచ్చినప్పుడు, అమలు ఆ పీర్ ఎండ్పాయింట్ను కొత్త మూలానికి నవీకరిస్తుంది, నెట్వర్క్లు మార్చే ల్యాప్టాప్లో రోమింగ్ ఈ విధంగా పనిచేస్తుంది. ఆ ప్రవర్తన దిశా ఆధారపడటాన్ని వివరిస్తుంది: సర్వర్ మొదట పంపి దాని ప్యాకెట్ క్లయింట్ను చేరితే, క్లయింట్ సర్వర్ ప్రస్తుత చిరునామాను నేర్చుకుని సమాధానం ఇవ్వగలదు. అంతవరకు దానికి పంపడానికి స్థలం లేదు. ఈ యంత్రాంగం మొదటి వినియోగ నమ్మకం షార్ట్కట్ కాదు, ప్రామాణీకరించిన రోమింగ్, ఎందుకంటే ఎండ్పాయింట్ కదిలే ముందు ప్యాకెట్ చెల్లుబాటు అయి ఉండాలి.
wg కోసం సాధన పత్రాలు ఆ నవీకరణను వివరిస్తాయి, దాని చుట్టూ రూపకల్పన చేయబోతే ఒకసారి చదవడం విలువైనది.
స్థితి ఉన్న అనువాదం దాని స్వంత దిశను జోడిస్తుంది
UDP అనువదించే గేట్వే గుండా వెళ్ళినప్పుడు, గేట్వే తాను మొదట చూసిన ప్యాకెట్కు స్థితిని సృష్టిస్తుంది. RFC 4787 ఆ ప్రవర్తనను మరియు చివరికి మ్యాపింగ్ను తొలగించే కాల పరిమితులను వివరిస్తుంది. నిష్క్రియ మ్యాపింగ్ గడువు ముగుస్తుంది, దూరపు వైపు నుండి వచ్చే ఇన్బౌండ్ ప్యాకెట్ను అప్పుడు హోస్ట్ను చేరకముందే గేట్వే విసిరేస్తుంది. ఉదయం మొత్తం పనిచేసిన టన్నెల్ మధ్యాహ్నం తర్వాత సమాధానం ఇవ్వడం ఆపడానికి కారణం ఇదే.
ఇది అదే దిశా లక్షణాన్ని ఉత్పత్తి చేసే రెండవ మరియు స్వతంత్ర యంత్రాంగం. ఎండ్పాయింట్ జ్ఞానం మరియు అనువాద స్థితి రెండూ సరిగ్గా ఉండాలి, ఒకదాన్ని సరిచేయడం మరొకదాన్ని సరిచేయదు.
మీకు నిజంగా కావాల్సిన దిశను కాన్ఫిగర్ చేయండి
కనెక్షన్ ప్రారంభించాల్సిన క్లయింట్ కోసం, సర్వర్ ఎండ్పాయింట్ను క్లయింట్ పీర్ విభాగంలో ఉంచి అక్కడే ఉంచండి. సర్వర్ మొదట పంపుతుందని ఆధారపడటం అనేది ప్రశాంత నెట్వర్క్లో మారే ట్రాఫిక్ క్రమం యొక్క యాదృచ్ఛికతపై ఆధారపడటం. కాన్ఫిగరేషన్ ఉద్దేశించిన దిశను ప్రకటించాలి, దాన్ని కనుగొనకూడదు.
అనువాదం వెనుక ఉన్న మరియు చేరుకోగలిగేలా ఉండాల్సిన పీర్ కోసం, ఆ వైపు నిరంతర keepalive ను ప్రారంభించండి. ప్రతి 25 సెకన్లకు keepalive సాధారణ ప్రారంభ విలువ, దాని లక్ష్యం టన్నెల్ను పరీక్షించడం కాదు, మ్యాపింగ్ను తెరిచి ఉంచడం. దాన్ని మోయడానికి ఒక వైపును ఎంచుకోండి, ఎందుకంటే రెండు వైపులా ప్రారంభించడం ఫలితాన్ని మెరుగుపరకుండా ట్రాఫిక్ మరియు లాగ్ శబ్దాన్ని రెట్టింపు చేస్తుంది.
ట్రిగ్గర్కు ముందు మరియు తర్వాత స్థితిని పోల్చండి
అది విఫలమైన క్షణంలో రెండు దృశ్యాలను క్యాప్చర్ చేయండి, ఆపై సర్వర్ పంపిన తర్వాత మళ్లీ. మొదటి ఆదేశం ఎండ్పాయింట్లను మరియు హ్యాండ్షేక్ వయస్సును చూపిస్తుంది. రెండవది పోర్ట్ కోసం అనువాద నమోదు ఉందో లేదో చూపిస్తుంది. క్యాప్చర్ ఏ దిశ నిజంగా తీగను దాటిందో చూపిస్తుంది, మార్గ తనిఖీ క్లయింట్ ఆ ట్రాఫిక్ను పూర్తిగా వేరే చోటికి పంపడం లేదని నిర్ధారిస్తుంది.
wg show conntrack -L -p udp 2>/dev/null | grep 51820 tcpdump -ni any -c 20 'udp port 51820' ip route get 198.51.100.7
ఎండ్పాయింట్ నిలువు వరుసను మరియు అనువాద నమోదును కలిపి రాయండి. ఎండ్పాయింట్ లేని పీర్ మరియు మ్యాపింగ్ లేని గేట్వే రెండు వేర్వేరు లోపాలు. వాటిలో ఒకటి మాత్రమే keepalive ద్వారా సరిచేయబడుతుంది.