ప్రామాణీకరణ దాటి, ping మోసుకెళ్లి, ఆపై మొదటి పెద్ద బదిలీ వద్ద ఆగిపోయే టన్నెల్ విరిగిన VPN కాదు, పోయిన ICMP సందేశం యొక్క సాంప్రదాయ సంకేతం. పంపినవారికి ప్యాకెట్ చాలా పెద్దదని ఎప్పటికీ తెలియదు, అదే పరిమాణాన్ని మళ్లీ ప్రయత్నిస్తారు, అప్లికేషన్ వేచి ఉంటుంది. దీన్ని సరిచేయడం ఫైర్వాల్ విధాన నిర్ణయం, క్లయింట్ను మళ్లీ ఇన్స్టాల్ చేయడం కాదు. క్రమం ముఖ్యం: పరిమాణ పరిమితి ఎక్కడ ఉందో కొలవండి, ఆపై నివేదికను మింగిన నియమాన్ని సన్నగా చేయండి.

ఈ మార్గంలో ICMP నిజంగా ఏమి మోసుకెళ్తుంది

IPv4 మార్గ MTU అన్వేషణ don't-fragment బిట్ ఉన్న ప్యాకెట్ను పంపలేకపోయామని రౌటర్ నివేదించడంపై ఆధారపడి ఉంటుంది. ఆ నివేదిక ICMP Fragmentation Needed సందేశం, అది లేకుండా పంపినవారికి తమ విభాగ పరిమాణాన్ని తగ్గించుకోవడానికి కారణం లేదు. IPv6 మరింత కఠినం: రౌటర్లు ప్రయాణంలో విభజించవు, కాబట్టి ICMPv6 Packet Too Big సందేశమే పంపినవారిని కుచించే ఏకైక సంకేతం.

రెండు సందేశాలు నియంత్రణ-స్థాయి ఫీడ్బ్యాక్, ఏదీ నిర్ధారణ ప్రతిధ్వని కాదు. pingని బ్లాక్ చేసే విధానం మరియు మొత్తం ICMPని బ్లాక్ చేసే విధానం నియమాల జాబితాలో ఒకేలా కనిపిస్తాయి కానీ నెట్వర్క్లో చాలా భిన్నంగా ప్రవర్తిస్తాయి. రెండవది సరిగ్గా కొలిచిన టన్నెల్ను గొలుసులోని అతి చిన్న లింక్ కంటే పెద్ద ఏదైనా ఒక-దిశ మార్గంగా మార్చగలదు.

కొన్ని రవాణాలు తమ అన్వేషణను ప్రోబ్ ప్యాకెట్లతో అమలు చేస్తాయి, RFC 4821 వివరించినట్లు, అవి ఈ ఫీడ్బ్యాక్పై తక్కువ ఆధారపడతాయి. ఇది మీరు ఏ రవాణాను నడుపుతున్నారో తనిఖీ చేయడానికి వాదన, ప్రతి టన్నెల్ రోగనిరోధకం అని ఊహించడం కాదు.

సందేశంమార్గంలో ఉద్దేశ్యంబ్లాక్ చేస్తే
ICMPv4 రకం 3 కోడ్ 4తదుపరి లింక్కు ప్యాకెట్ చాలా పెద్దదిపంపినవారు పునరావృతం చేసి ఆగిపోతారు
ICMPv6 రకం 2Packet Too Big, IPv6 సమానంఅదే ఆగిపోవడం, విభజన ప్రత్యామ్నాయం లేకుండా
ICMP రకం 11సమయం మించింది, traceroute ఉపయోగిస్తుందినిర్ధారణ హాప్లను కోల్పోతుంది, ట్రాఫిక్ ఇప్పటికీ ప్రవహిస్తుంది
ICMP ప్రతిధ్వని అభ్యర్థన మరియు సమాధానంచేరుకోగలిగే పరీక్షping విఫలమవుతుంది, మార్గం బాగానే ఉండవచ్చు

వైఫల్యం పరిమాణంపై ఆధారపడి ఉంటుంది

వైఫల్యం ప్యాకెట్ పరిమాణంతో సంబంధం కలిగి ఉందా అని అడగండి. లాగిన్ పేజీ, DNS ప్రశ్న మరియు చిన్న API కాల్ విజయవంతమవుతాయి, అయితే ఫైల్ అప్లోడ్, పెద్ద ప్రతిస్పందన లేదా చిత్రం డౌన్లోడ్ ఆగిపోతాయి. ఈ నమూనా రెండు చివరల మధ్య ఎక్కడో పరిమాణ పరిమితిని సూచిస్తుంది, ప్రామాణీకరణ లేదా రౌటింగ్ను కాదు. విజయవంతమైన చిన్న ping ఆ పరిమితి ఎక్కడ ఉందనే దానిపై దాదాపు ఏమీ చెప్పదు.

టన్నెల్ లోపల రెండు పొరలను పరిగణించాలి: పేలోడ్ ప్యాకెట్ మరియు బాహ్య ఎన్క్యాప్సులేటెడ్ ప్యాకెట్. టన్నెల్ ఊహించిన దాని కంటే బాహ్య మార్గం చిన్నదిగా ఉన్నప్పుడు లోపలి పంపినవారు సరిగ్గా ప్రవర్తించవచ్చు, అందుకే టన్నెల్ యొక్క సొంత MTU సెట్టింగ్ మరియు దాని కింద ఉన్న భౌతిక లింక్ రెండూ ముఖ్యం.

నియమాలను సవరించే ముందు కొలవండి

don't-fragment బిట్ మరియు మీరు ఎంచుకున్న పేలోడ్ పరిమాణంతో పరిశీలించండి, విఫలమైన క్లయింట్ నుండి రక్షిత చిరునామా వైపు:

ping -M do -s 1472 10.20.5.7
ping -M do -s 1300 10.20.5.7

1472 బైట్ల పేలోడ్ ప్లస్ 28 బైట్ల హెడర్లు 1500 బైట్ల ప్యాకెట్గా మారుతాయి. పెద్ద ప్రోబ్ విభజన లోపంతో విఫలమై చిన్నది దాటితే, మీరు పరిమితిని కనుగొన్నారు; టన్నెల్ అదనపు భారం కోసం సర్దుబాటు చేసి, పని చేసే పరిమాణం స్థిరంగా ఉండే వరకు పునరావృతం చేయండి.

ఆపై ఖాళీ నివేదికే అని నిర్ధారించండి. ప్రోబ్ లోపం మరియు సమాధానం లేకుండా నిశ్శబ్దంగా విఫలమైతే, సందేశం చేరవేయకుండా విస్మరించబడుతోంది, అనుమానితం నియమమే.

నియమాన్ని సన్నగా చేయండి, ఆపై పనిని మళ్లీ పరీక్షించండి

సవరణ నిర్దిష్ట నియంత్రణ సందేశాలను అనుమతించాలి, మొత్తం ప్రోటోకాల్ను కాదు. iptables హోస్ట్లో రూపం రకం-నిర్దిష్ట అనుమతి; మీ ప్లాట్ఫారమ్లో ఫైర్వాల్ను నిర్వహించే దానికి అనుగుణంగా వాక్య నిర్మాణాన్ని సర్దుబాటు చేయండి:

iptables -I INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT
ip6tables -I INPUT -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT

అది స్థానిక విధానమైతే ప్రతిధ్వని సమాధానాలను బ్లాక్ చేసినట్లే ఉంచండి, ఎందుకంటే మార్గానికి అవి అవసరం లేదు. ఆపై మొదట విఫలమైన బదిలీని కొత్త కనెక్షన్ నుండి మళ్లీ పరీక్షించి, నియమం కౌంటర్లు సందేశాలు వస్తున్నట్లు చూపుతున్నాయని నిర్ధారించండి.

సందేశాలను అనుమతించిన తర్వాత కూడా పెద్ద బదిలీ ఆగిపోతే, మిగిలిన పరిమితి మరెక్కడో ఉంది: చాలా ఎత్తుగా సెట్ చేసిన టన్నెల్ MTU, ప్యాకెట్లను తిరిగి రాసే ప్రాక్సీ, లేదా నివేదించకుండా విస్మరించే మధ్య పెట్టె. ICMP నియమం అవసరం, సరిపోదు.

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