Ang tunnel na nagpapatotoo, nagdadala ng ping at pagkatapos ay natigil sa unang malaking paglilipat ay ang klasikong tanda ng nawawalang mensahe ng ICMP, hindi ng sirang VPN. Hindi kailanman nalalaman ng nagpapadala na masyadong malaki ang packet, inuulit ang parehong laki, at naghihintay ang aplikasyon. Ang pag-aayos nito ay desisyon sa patakaran ng firewall, hindi muling pag-install ng kliyente. Mahalaga ang pagkakasunod-sunod: sukatin kung saan naroon ang hangganan ng laki, pagkatapos ay paliitin ang panuntunang lumamon sa ulat.

Ano ang tunay na dinadala ng ICMP sa path na ito

Pagtuklas ng MTU ng path na IPv4 umaasa sa router na mag-ulat na ang packet na may bit na don't-fragment ay hindi maipadala. Ang ulat na iyon ay mensaheng ICMP Fragmentation Needed, at kung wala ito ay walang dahilan ang nagpapadala na bawasan ang laki ng segment. Ang IPv6 ay mas mahigpit: hindi nag-fragment ang mga router sa transit, kaya ang mensaheng ICMPv6 Packet Too Big ang tanging senyales na nagpapaliit sa nagpapadala.

Ang dalawang mensahe ay feedback ng control plane, at wala sa kanila ang diagnostic echo. Ang patakarang naghaharangan ng ping at ang patakarang naghaharangan ng lahat ng ICMP ay magkamukha sa listahan ng panuntunan ngunit ibang-iba ang kilos sa network. Ang pangalawa ay maaaring gawing one-way na path ang isang tamang sukat na tunnel para sa anumang mas malaki kaysa pinakamaliit na link sa kadena.

Ang ilang transport ay nagpapatupad ng sariling pagtuklas gamit ang probe packets, gaya ng inilalarawan ng RFC 4821, at mas kaunti ang pag-asa nila sa feedback na ito. Ito ay argumento para suriin kung aling transport ang pinapatakbo mo, hindi para ipagpalagay na immune ang bawat tunnel.

MensaheLayunin sa pathKung naharang
ICMPv4 uri 3 code 4Masyadong malaki ang packet para sa susunod na linkPatuloy na umuulit ang nagpapadala at natitigil
ICMPv6 uri 2Packet Too Big, ang katumbas sa IPv6Parehong pagtigil, walang alternatibong fragmentation
ICMP uri 11Lumampas ang oras, ginagamit ng tracerouteNawawalan ng hop ang diagnostic, dumadaloy pa rin ang trapiko
Kahilingan at tugon ng echo ng ICMPPagsubok ng maabotNabigo ang ping, maaaring maayos ang path

Nakadepende ang pagpalya sa laki

Itanong kung ang pagpalya ay may kaugnayan sa laki ng packet. Ang login page, DNS query at maikling API call ay pumapasa, habang ang pag-upload ng file, malaking tugon o pag-download ng larawan ay natitigil. Ang pattern na ito ay tumutukoy sa limitasyon ng laki sa pagitan ng dalawang dulo, hindi sa pagpapatotoo o routing. Ang matagumpay na maliit na ping ay halos walang sinasabi tungkol sa kung saan naroon ang hangganang iyon.

Sa loob ng tunnel may dalawang layer na dapat isaalang-alang: ang payload packet at ang panlabas na encapsulated packet. Ang panloob na nagpapadala ay maaaring kumilos nang tama habang ang panlabas na path ay mas maliit kaysa ipinapalagay ng tunnel, kaya mahalaga kapwa ang sariling MTU setting ng tunnel at ang pisikal na link sa ilalim nito.

Sukatin bago i-edit ang mga panuntunan

Subukan gamit ang bit na don't-fragment at laki ng payload na ikaw ang pipili, mula sa palpak na kliyente patungo sa protektadong address:

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

Ang payload na 1472 byte kasama ang 28 byte na header ay packet na 1500 byte. Kung nabigo ang malaking probe dahil sa error sa fragmentation at pumasa ang maliit, natagpuan mo ang hangganan; isaayos para sa overhead ng tunnel at ulitin hanggang maging matatag ang gumaganang laki.

Pagkatapos ay tiyakin na ang agwat ay ang ulat mismo. Kung tahimik na nabigo ang probe, walang error at walang tugon, malamang itinatapon ang mensahe sa halip na inihahatid, at ang panuntunan ang pinaghihinalaan.

Paliitin ang panuntunan, pagkatapos ay subukan muli ang gawain

Dapat pahintulutan ng pagwawasto ang mga partikular na control message, hindi ang buong protocol. Sa host na may iptables ang anyo ay pagtanggap na partikular sa uri; iangkop ang syntax sa kung ano ang namamahala sa firewall sa iyong platform:

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

Hayaang harangin ang mga tugon ng echo kung iyon ang lokal na patakaran, dahil hindi ito kailangan ng path. Pagkatapos ay subukan muli ang paglilipat na orihinal na nabigo, mula sa bagong koneksyon, at tiyaking ipinapakita ng mga counter ng panuntunan na dumarating ang mga mensahe.

Kung natitigil pa rin ang malaking paglilipat matapos pahintulutan ang mga mensahe, ang natitirang limitasyon ay nasa ibang lugar: MTU ng tunnel na masyadong mataas, proxy na nagsusulat muli ng packet, o middlebox na nagtatapon sa halip na nag-uulat. Kailangan ang panuntunan ng ICMP, hindi sapat.

Kaugnay na mga artikulo