PPPoE లో OpenVPN: link-mtu, tun-mtu లేదా mssfix తగ్గించాలా?
పింగ్ పనిచేస్తుంది కానీ పెద్ద పేజీలు PPPoE లేదా DS-Lite లింక్లో నిలిచిపోతాయి. మార్గాన్ని కొలిచి link-mtu, tun-mtu మరియు mssfix మధ్య నిర్ణయించండి, ఊహించి కాదు.
పింగ్ సమాధానమిస్తుంది, DNS పరిష్కరిస్తుంది, పూర్తి పరిమాణ సెగ్మెంట్ అవసరమయ్యే ప్రతి పేజీ నిలిచిపోతుంది. తన స్వంత ఎన్క్యాప్సులేషన్ను జోడించే లింక్పై, మార్గం నిశ్శబ్దంగా కొన్ని డజన్ల బైట్ల బడ్జెట్ను కోల్పోతుంది, మరియు స్వచ్ఛమైన Ethernet కోసం రాసిన ప్రొఫైల్ లైన్ మోయలేని ప్యాకెట్లను అడుగుతూనే ఉంటుంది. కనెక్షన్ నెమ్మదిగా లేదు; అది ముఖ్యమైన ప్యాకెట్లను సరిగ్గా పారేస్తోంది.
మూడు ఎంపికలు దీన్ని సరిచేయగలవు, అవి వేర్వేరు పొరలలో పనిచేస్తాయి. తప్పుది ఎంచుకుంటే ఏమీ జరగదు లేదా టన్నెల్ కొత్త విధంగా సున్నితంగా మారుతుంది, కాబట్టి ఎంపిక మార్గం నిజంగా ఏమి మద్దతిస్తుంది అనే దానితో ప్రారంభమవుతుంది.
మూడు నాబ్లు, మూడు వేర్వేరు పొరలు
link-mtu బాహ్య బడ్జెట్: ఎన్క్రిప్ట్ చేసిన పేలోడ్తో OpenVPN హెడర్, UDP హెడర్ మరియు బాహ్య IP హెడర్. ఇది మెషీన్ నుండి ఏమి బయటకు వెళ్తుందో వివరిస్తుంది, అందుకే భౌతిక మార్గం పరిమితం చేసే సంఖ్య ఇది.
tun-mtu అంతర్గత బడ్జెట్: మీ ట్రాఫిక్ చూసే ఇంటర్ఫేస్. మార్గం మోయగల దానికంటే టన్నెల్ ఓవర్హెడ్ మొత్తం ఇది పెద్దది, మరియు OpenVPN సాధారణంగా మిమ్మల్ని సెట్ చేయమని బలవంతం చేయడానికి బదులుగా దాన్ని ఉత్పన్నం చేస్తుంది.
mssfix పూర్తిగా వేరే యంత్రాంగం. TCP హ్యాండ్షేక్ల సమయంలో ప్రకటించే గరిష్ఠ సెగ్మెంట్ పరిమాణాన్ని ఇది తిరిగి రాస్తుంది, తద్వారా TCP భాగస్వాములు ఎన్క్యాప్సులేషన్ తర్వాత సరిపోయే సెగ్మెంట్లను ఎంచుకుంటారు. ఇది ఇంటర్ఫేస్ MTU ను మార్చదు, UDP పై ఎటువంటి ప్రభావం లేదు.
మీరు link-mtu ను స్పష్టంగా సెట్ చేస్తే, అంతర్గత MTU ను ఉత్పన్నం చేయడానికి OpenVPN తన స్వంత ఓవర్హెడ్ను తీసివేస్తుంది. ఆ ఓవర్హెడ్ స్థిరమైన స్థిరాంకం కాదు; అది సైఫర్ మరియు ప్రామాణీకరణపై ఆధారపడి ఉంటుంది, అందుకే ఫోరమ్ నుండి కాపీ చేసిన విలువ మరో ప్రొఫైల్లో తప్పుగా ఉండవచ్చు. link-mtu మరియు tun-mtu రెండింటినీ సెట్ చేయడం క్లయింట్కు రెండు విరుద్ధమైన సూచనలను ఇస్తుంది.
ఏదైనా సంఖ్యను ఎంచుకునే ముందు మార్గాన్ని కొలవండి
టన్నెల్ లోపలి నుండి కాదు, భౌతిక ఇంటర్ఫేస్ నుండి కొలవండి, పింగ్ పేలోడ్ను నివేదిస్తుంది, ప్యాకెట్ పరిమాణాన్ని కాదు అని గుర్తుంచుకోండి. పేలోడ్ను 1500 బైట్ల ఫ్రేమ్తో పోల్చే ముందు IPv4 మరియు ICMP హెడర్లకు 28 బైట్లను జోడించండి, మరియు భాగస్వామి వేరే సంఖ్యను నివేదించినప్పుడు ఆ సవరణను గుర్తుంచుకోండి.
Linux క్లయింట్లో ping -M do -s 1472 ఫ్రాగ్మెంటేషన్ను నిషేధిస్తుంది మరియు ప్యాకెట్ చాలా పెద్దగా ఉంటే విఫలమవుతుంది. అది దాటే వరకు పేలోడ్ను తగ్గించి, తర్వాత మార్గం MTU పొందడానికి 28 జోడించండి. PPPoE 8 బైట్లు ఖర్చవుతుంది, కాబట్టి DSL లో 1492 సాధారణం. DS-Lite మరియు కొన్ని మొబైల్ మార్గాలు 40 లేదా ఎక్కువ ఖర్చవుతాయి, మరియు సమాధానం సాధారణంగా నామమాత్ర లింక్ వేగం సూచించే దాని కంటే తక్కువగా ఉంటుంది.
ప్రతి పింగ్ పరిమాణం విజయవంతమైనా పెద్ద బదిలీలు ఇంకా నిలిచిపోతే, సాధారణ పరిమాణ పరిమితి కాకుండా నల్ల రంధ్రాన్ని అనుమానించండి. అవసరమైన ఫ్రాగ్మెంటేషన్ గురించిన ICMP సందేశం మార్గంలో ఎక్కడో ఫిల్టర్ అవుతోంది, కాబట్టి పంపేవాడు ఎప్పటికీ తగ్గించడం నేర్చుకోడు, మరియు పెద్ద సెగ్మెంట్ అవసరమయ్యే ప్రవాహాలు మాత్రమే దాన్ని గమనిస్తాయి.
మొదట TCP ను పరిమితం చేయండి, తర్వాత టన్నెల్ను కుదించండి
TCP హ్యాండ్షేక్లు మాత్రమే mssfix తాకే విషయం, అందుకే ఇది సాధారణంగా మొదట ప్రయత్నించడానికి అతి తక్కువ జోక్యం చేసే నియంత్రణ అవుతుంది. మార్గం యొక్క నిజమైన బడ్జెట్ కంటే కొంచెం తక్కువగా సెట్ చేయండి, రెండు చివరలు అంగీకరించేలా సర్వర్ నుండి అదే విలువను పంపండి, మరియు పెద్ద డౌన్లోడ్ను మళ్లీ పరీక్షించండి. నిలిపివేత తొలగిపోతే, సమస్య TCP సెగ్మెంట్ పరిమాణం, మరేదీ మార్చాల్సిన అవసరం లేదు.
ప్రభావిత ట్రాఫిక్ TCP కాకుంటే అంతర్గత MTU ను తగ్గించండి. UDP సేవ, టన్నెల్ లోపలి టన్నెల్, లేదా పూర్తి పరిమాణ డేటాగ్రామ్లను పంపే అప్లికేషన్ MSS పరిమితి తర్వాత కూడా విఫలమవుతూనే ఉంటుంది, ఎందుకంటే దాని ప్యాకెట్ పరిమాణాన్ని ఏదీ తిరిగి రాయదు. ఆ సందర్భానికి tun-mtu తగ్గించండి, లేదా link-mtu సెట్ చేసి క్లయింట్ అంతర్గత విలువను ఉత్పన్నం చేయనివ్వండి, కానీ రెండింటినీ ఎప్పుడూ కాదు.
పాత ఫ్రాగ్మెంటేషన్ ఎంపిక వైపు వెళ్లకండి. అది టన్నెల్ లోపల ప్యాకెట్లను విభజించింది, ఓవర్హెడ్ జోడించింది, మంచి కారణాలతో తొలగించబడింది; ఆధునిక OpenVPN మార్గాన్ని ఖచ్చితంగా వివరించాలని ఆశిస్తుంది.
చిన్న పరీక్షలు ఎందుకు పనిచేస్తూనే ఉంటాయి
DNS ప్రశ్నలు, ICMP ప్రతిధ్వనులు మరియు TCP హ్యాండ్షేక్లు అన్నీ విఫలమయ్యే పరిమాణం కంటే చాలా తక్కువ. అందుకే టన్నెల్ ప్రతి వేగ పరీక్షలో ఆరోగ్యంగా కనిపిస్తుంది, అయితే TLS హ్యాండ్షేక్లు మరియు HTTP ప్రతిస్పందనలు నిశ్శబ్దంగా విఫలమవుతాయి. అదే కలయిక, పనిచేసే traceroute మరియు మొదటి పెద్ద ప్రతిస్పందనపై నిలిచిపోయే బ్రౌజర్, వెతకాల్సిన సంకేతం. కొత్త ప్రొఫైల్ వైపు వెళ్లే ముందు పూర్తి పరిమాణ పరీక్ష వైపు వెళ్లండి.
విఫలమైన ట్రాఫిక్తో ధృవీకరించండి. పెద్ద పేజీని తీసుకురండి, ప్రభావిత సేవ అదే అయితే పూర్తి పరిమాణ UDP డేటాగ్రామ్ను పంపండి, మరియు మరో లింక్లోని రెండవ క్లయింట్ నుండి పునరావృతం చేయండి. కొలిచిన మార్గం MTU మరియు మీరు ఎంచుకున్న విలువను నమోదు చేయండి, లేకపోతే ప్రొఫైల్ను తాకే తదుపరి వ్యక్తి ఆ సంఖ్యను ఏకపక్షంగా భావిస్తాడు.
IPv6 టన్నెల్ మీద నడిచేప్పుడు అంతర్గత MTU ను ఎప్పుడూ 1280 కంటే తక్కువకు తీసుకెళ్లకండి, ఎందుకంటే ప్రతి IPv6 లింక్ మోయాల్సిన కనిష్ఠం అదే. చిన్న MTU అనేది మార్గం గురించిన వాస్తవం, భావనతో ట్యూన్ చేసే పనితీరు సెట్టింగ్ కాదు.