VPN పెద్ద బదిలీలలో ఆగిపోతుంది, చిన్నవాటిలో ఎందుకు ఆగదు
చిన్న అభ్యర్థనలకు సమాధానం వస్తుంది, పెద్ద బదిలీలు గడ్డకడతాయి. స్థిర MTU ను కాపీ చేసే ముందు ఇంటర్ఫేస్ పరిమితి, మార్గ పరిమితి మరియు ప్రకటించిన TCP పేలోడ్ను పోల్చండి.
ఒక పేజీ లోడ్ అవుతుంది, ping విజయవంతమవుతుంది, మరియు ఫైల్ కాపీ ప్రతిసారీ అదే ప్రదేశంలో ఆగిపోతుంది. ఈ నమూనా బ్యాండ్విడ్ లేదా ఆధారాల కంటే ప్యాకెట్ పరిమాణాన్ని సూచిస్తుంది. ఎన్క్యాప్సులేషన్ ప్రతి ప్యాకెట్కు బైట్లు జోడిస్తుంది, కాబట్టి అసలు మార్గంలో సరిపోయిన పేలోడ్ టన్నెల్ గుండా వెళ్ళిన తర్వాత పరిమితిని దాటవచ్చు. ఈ సంభాషణల్లో మూడు వేర్వేరు సంఖ్యలను MTU అని పిలుస్తారు, వాటిని కలిపేయడం వల్ల ఒక యాప్ను సరిచేసి మరొకదాన్ని పాడుచేసే సెట్టింగ్ వస్తుంది.
ప్రజలు MTU అని పిలిచే మూడు సంఖ్యలు
ఇంటర్ఫేస్ MTU అంటే ఆ లింక్పై ప్యాకెట్కు కాన్ఫిగర్ చేసిన పరిమితి. మార్గ MTU అంటే రూట్ వెంట అతి చిన్న పరిమితి, అది కాన్ఫిగర్ చేయబడదు, కనుగొనబడుతుంది. TCP MSS అంటే ఎదుటి వైపు స్వీకరించగలదని ప్రకటించే పేలోడ్ పరిమాణం, అది మిగతా రెండింటి నుండి ఉత్పన్నమవుతుంది, వేరే భౌతిక పరిమితి కాదు.
టన్నెల్కు లోపలి మరియు బయటి దృశ్యం ఉంటుంది. బయటి ప్యాకెట్ ఎన్క్యాప్సులేట్ చేసినదానితో పాటు ప్రోటోకాల్కు అవసరమైన శీర్షికలను మోస్తుంది, కాబట్టి ఉపయోగించగల లోపలి పరిమాణం బయటి మార్గం అనుమతించే దాని కంటే చిన్నది. VPN సర్వర్కు మార్గం కూడా సర్వర్ నుండి గమ్యానికి ఉన్న మార్గం కంటే భిన్నం.
మార్గ MTU కనుగొనడం పంపేవారికి పనిచేసే పరిమాణాన్ని తెలుసుకోనిస్తుంది, కానీ ప్రతిస్పందన చేరుకోవడంపై ఆధారపడి ఉంటుంది. మధ్యంతర పరికరం సంబంధిత ICMP సందేశాలను ఫిల్టర్ చేసినప్పుడు, పంపేవారు ఎప్పుడూ పూర్తికాని ప్యాకెట్లను పంపుతూనే ఉంటారు, అదే సంప్రదాయ నల్ల బిలం. లక్షణం తెలిస్తే స్పష్టం: హ్యాండ్షేక్ విజయవంతమవుతుంది, మొదటి పూర్తి పరిమాణ పేలోడ్ మాయమవుతుంది, చివరికి కనెక్షన్ రీసెట్ అవుతుంది లేదా ఆగిపోతుంది. అప్లికేషన్ లాగ్లో నెట్వర్క్ సమస్యలా ఏమీ కనిపించదు.
మీ నియంత్రణలో ఉన్న పేలోడ్తో మార్గాన్ని పరీక్షించండి
ఒక పరీక్ష ఒక మార్గం మరియు ఒక పరిమాణం గురించిన సాక్ష్యం, సూచించిన సెట్టింగ్ కాదు. సమాధానమిచ్చే హోస్ట్ను ఉపయోగించి, పేలోడ్ పరిమాణాన్ని మాత్రమే మార్చండి.
ping -M do -s 1372 -c 2 203.0.113.20 ping -4 -f -l 1372 vpn.example
మొదటి ఆదేశం ఫ్రాగ్మెంటేషన్ ఆఫ్ చేసి 1372 బైట్ల పేలోడ్తో లినక్స్ పరీక్షను పంపుతుంది, రెండవది విండోస్లో అదే చేస్తుంది, అక్కడ పేలోడ్ -l ద్వారా సెట్ అవుతుంది. సమాధానం అంటే ఆ పరిమాణం మార్గాన్ని దాటింది. ఫ్రాగ్మెంటేషన్ అవసరమని చెప్పే సందేశం సమాచారం ఇస్తుంది, కానీ సమయం ముగియడం అస్పష్టం, ఎందుకంటే హోస్ట్ లేదా మధ్యంతర పరికరం ICMPని సాధారణంగా పారేయవచ్చు.
బైట్ వరకు బైనరీ శోధన చేయడానికి బదులు కొన్ని దశల్లో పరిమాణాన్ని తగ్గించండి. మీరు పరిమాణానికి ఎగువ హద్దు ఉందో లేదో నిర్ధారించడానికి ప్రయత్నిస్తున్నారు, ప్రతి నెట్వర్క్కు సంఖ్య ప్రచురించడానికి కాదు. మీరు కనుగొనే సంఖ్య ఈ మార్గానికి, ఈ ప్రోటోకాల్కు మరియు ఈ చిరునామా కుటుంబానికి వర్తిస్తుంది.
IPv4 మరియు IPv6 వేర్వేరుగా ఫ్రాగ్మెంట్ అవుతాయి, కాబట్టి ఒక కుటుంబం ఫలితం మరొకదాని గురించి ఏమీ చెప్పదు. యాప్ నిజంగా ఉపయోగించే కుటుంబాన్ని పరీక్షించండి.
MSS క్లాంపింగ్ TCPకు మాత్రమే సహాయపడుతుంది
TCPలో ప్రభావవంతమైన పేలోడ్ హ్యాండ్షేక్ సమయంలో చర్చించబడుతుంది, మరియు మార్గంలోని రౌటర్ ఆ విలువను కిందకు తిరిగి రాయగలదు, దాంతో రెండు చివరలు చిన్న విభాగాలను పంపుతాయి. MSS క్లాంపింగ్ అదే చేస్తుంది, మరియు క్లయింట్ను అసలు తాకకుండా పనిచేస్తుంది.
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ip link show tun0
మొదటి నియమం ముందుకు పంపబడే TCP హ్యాండ్షేక్లకు ప్రకటిత MSSను మార్గ MTUకు క్లాంప్ చేస్తుంది, రెండవది టన్నెల్ ఇంటర్ఫేస్ స్వంత MTUను చూపిస్తుంది, దాంతో మార్గం అనుమతించే దానితో పోల్చవచ్చు. హ్యాండ్షేక్ తర్వాత ఆగిపోయే TCP యాప్కు క్లాంపింగ్ అత్యంత తక్కువ జోక్యం కలిగించే పరిష్కారం.
UDPకు అది ఏమీ చేయదు. పెద్ద డేటాగ్రామ్లు పంపే వాయిస్ లేదా గేమ్ క్లయింట్ MSS సెట్టింగ్ను పూర్తిగా పట్టించుకోదు, ఎందుకంటే తిరిగి రాయడానికి హ్యాండ్షేక్ లేదు. విఫలమయ్యే యాప్ UDP అయితే, దానికి బదులు క్లయింట్ స్వంత ప్యాకెట్ పరిమాణ ఎంపికలను చూడండి. రెండు ప్రోటోకాల్లు వేర్వేరుగా విఫలమవుతాయి, వేర్వేరు సాధనాలతో సరిచేయబడతాయి, అందుకే ప్రోటోకాల్ టికెట్ మొదటి వాక్యంలో ఉండాలి.
OpenVPN tun-mtu, mssfix మరియు ఫ్రాగ్మెంటేషన్కు సంబంధించిన సెట్టింగ్ల వంటి ఎంపికలను అందిస్తుంది, వాటి ప్రవర్తన సంస్కరణ మరియు డేటా ఛానెల్ AEADనా అనే దానిపై ఆధారపడి ఉంటుంది. ఉపయోగిస్తున్న సంస్కరణ మాన్యువల్ను చదవండి, ఒకసారి ఒక ఎంపికను మార్చండి.
ఒక మద్దతు సెట్టింగ్ను మార్చి రెండు రన్లను మళ్లీ చేయండి
అసలు ప్రొఫైల్ను ఉంచి, ఒక మద్దతు విలువను మార్చి, పనిచేసిన చిన్న అభ్యర్థన మరియు విఫలమైన పెద్ద బదిలీ రెండింటినీ మళ్లీ చేయండి. పెద్దది మాత్రమే మారితే మీరు పరిమాణాన్ని వెంబడిస్తున్నారు. రెండూ మారితే దానితో పాటు మరోటి కదిలింది.
తక్కువ విలువ లక్షణాన్ని తగ్గించవచ్చు కానీ అదనపు భారాన్ని చేరుస్తుంది, కాబట్టి సాధ్యమైన అతి చిన్న సంఖ్య లక్ష్యం కాదు. లక్ష్యం మార్గం అత్యల్ప వ్యర్థంతో నమ్మకంగా మోసే పరిమాణం. విలువ, మార్గం మరియు క్లయింట్ సంస్కరణను టికెట్లో నమోదు చేయండి, ఎందుకంటే అదే సంఖ్యను మరెక్కడో వర్తించడం ఒక ఊహ.
అదే ప్రొఫైల్ మరో విశ్వసనీయ నెట్వర్క్ నుండి పనిచేస్తే, క్లయింట్ సరిచేయబడిందని ప్రకటించడానికి బదులు ఆ భేదాన్ని నిర్ధారణలో ఉంచండి. మారిన చరం మార్గం, పరీక్ష కొలిచినదీ మార్గమే.