ඔබට නොනැමෙන අවශ්‍යතාවක් ඇත: යවන්නා නිකුත් කරන එම 1,500 බයිට IP පැකට්ටුව, ශීර්ෂ සමඟම, අනෙක් පැත්තට ලැබිය යුතුය. ටනලයට එම පැකට්ටුව සහ එහිම රාමුකරණය දෙවන 1,500 බයිට IP පැකට්ටුවක් තුළ ඔතා ගත නොහැක, එබැවින් සැලසුමේ යමක් අත්හැරිය යුතුය. පහත අනුපිළිවෙල මා වෙනස්කම් කවුළුවක භාවිත කරන අනුපිළිවෙලයි: බයිට අයවැය ලියන්න, underlay ට සැබවින්ම රැගෙන යා හැක්කේ කුමක්දැයි ඔප්පු කරන්න, පසුව හරියටම එක් ප්‍රවාහන යාන්ත්‍රණයක් තෝරා අනෙක් පැත්තේ අභ්‍යන්තර පැකට්ටුව තහවුරු කරන්න.

පැතිකඩක් සංස්කරණය කිරීමට පෙර බයිට අයවැය ලියන්න

එන්කැප්සුලේෂන් ස්තර කිහිපයක බයිට එකතු කරයි, සහ එකතුව ඔබේ පැතිකඩේ ගුණාංගයක් මිස සොයාගත හැකි නියතයක් නොවේ. ලිපින පවුල, සයිෆරයේ තේරීම, ප්‍රවාහන ප්‍රොටොකෝලය සහ ඕනෑම සම්පීඩන හෝ රාමුකරණ විකල්පයක් සංඛ්‍යාව චලනය කරයි, එබැවින් වෙනත් යෙදවුමකින් පිටපත් කළ අඩු කිරීමක් අයවැයක් ලෙස වටින්නේ නැත. අභ්‍යන්තර අවශ්‍යතාවෙන් පටන් ගෙන, ඔබේ වින්‍යාසයේ මනින ලද පැකට්ටුවකට ඕවර්හෙඩ් එකතු කර, කිසිවෙකු ගොනුවක් සංස්කරණය කිරීමට පෙර ප්‍රතිඵලය වන බාහිර ප්‍රමාණය වෙනස්කම් ටිකට්ටුවේ ලියන්න.

සංඛ්‍යා දෙකක් සැලසුම තීරණය කරයි: ඛණ්ඩනයකින් තොරව මාර්ගය රැගෙන යන විශාලතම බාහිර පැකට්ටුව, සහ ඔබේ එන්කැප්සුලේෂන්ට අවශ්‍ය අමතර බයිට. පළමුවැන්න දෙවැන්නට 1,500 එකතු කළ ප්‍රමාණයට වඩා කුඩා විට, ඒ දෙකෙන් එකක් වෙනස් විය යුතුය. එවිට තේරීම නිර්මාණශීලී නොව පටු වේ, එබැවින් විකල්ප සාකච්ඡා කිරීමට පෙර මම සංඛ්‍යා දෙකම ලියා තබමි. ටනල් ස්තරයේ එම බයිට සම්පීඩනය කර අතුරුදහන් කරන කිසිවක් නැත, සහ කිසිදු තනි MTU පූර්ණ සංඛ්‍යාවක් ඔබට දුන් අවශ්‍යතාව ඉවත් නොකරයි.

do-not-fragment ping සමඟ underlay පරීක්ෂා කරන්න

අතුරුමුහුණතේ MTU විශ්වාස නොකර මාර්ගය මනින්න, මන්ද බාහිර මාර්ගයේ කුඩාම සබැඳිය වැදගත් වේ. Linux තුළ, -M do do-not-fragment බිට් සකසයි සහ -s ICMP ධාරකය ගනී, එබැවින් 20 බයිට IP ශීර්ෂය සහ 8 බයිට ICMP ශීර්ෂය අඩු කළ විට 1,500 බයිට රාමුවක් 1,472 බයිට ධාරකයකින් පිළිතුරු දෙයි. පරීක්ෂණය අසාර්ථක වන තෙක් ධාරකය වැඩි කර, පසුව jumbo ප්‍රමාණයට පනින්න, මාර්ගය එය කිසිසේත් රැගෙන යනවාදැයි බලන්න.

ping -M do -s 1472 -c 2 198.51.100.10
ping -M do -s 8972 -c 2 198.51.100.10
tracepath -n 198.51.100.10

1,472 පසු කර 8,972 දී අසාර්ථක වන මාර්ගයකට 1,500 බයිට අභ්‍යන්තර පැකට්ටුව සහ ඕවර්හෙඩ් එකම බාහිර පැකට්ටුවක රැගෙන යා නොහැක. VPN වින්‍යාසය විවෘත කිරීමට පෙර ඔබට අවශ්‍ය වූ පිළිතුර එයයි. ඊළඟ කොටස් දෙකෙන් කුමක් ඔබට අදාළද යන්නද එය තීරණය කරයි, එබැවින් පරීක්ෂණ ප්‍රතිඵල දෙකම ටිකට්ටුව අසල තබන්න. මෙහි අනුමාන කිරීම නඩත්තු කවුළුවක් වැය කරයි, මන්ද තමා up ලෙස වාර්තා කරන ටනලයක් මාර්ගය පිළිගන්නා විශාලතම පැකට්ටුව ගැන කිසිවක් නොකියයි.

සෑම හොප් එකක්ම එකඟ වන තැන පමණක් මාර්ග MTU එක ඔසවන්න

jumbo රාමු end-to-end ගුණාංගයකි, ඔබ අහම්බෙන් පාලනය කරන අන්ත දෙකෙහි සක්‍රීය කරන සැකසුමක් නොවේ. බාහිර මාර්ගයේ සෑම ස්විචයක්, රවුටරයක් සහ සැපයුම්කරුගේ භාරදීමක් විශාල ප්‍රමාණයට එකඟ විය යුතුය, සහ එකම 1,500 බයිට හොප් එකක් ඔබ දැන් විශාල කළ පැකට්ටුව නිහඬව ඉවත දමයි. ස්ථානීය අතුරුමුහුණත පමණක් ඔසවන එක ටනලය කැඩී ඇති ලෙස පෙනෙන අතර underlay නිහඬව හෙළන සුපුරුදු අඩක් වෙනස්කමයි.

ip link set dev eth1 mtu 9000
ip link show dev eth1
ping -M do -s 8972 -c 2 198.51.100.10

අතුරුමුහුණත වෙනස් කර, පසුව වෙනත් කිසිවක් වෙනස් කිරීමට පෙර එම මාර්ගයම නැවත පරීක්ෂා කරන්න. පරීක්ෂණය තවමත් අසාර්ථක නම්, නැවත හරවන්න ip link set dev eth1 mtu 1500 සහ ඔබට අයිති නැති සබැඳියක් ගැන සැපයුම්කරු සමඟ තර්ක කරනවා වෙනුවට ඛණ්ඩනයට යන්න.

underlay වර්ධනය විය නොහැකි විට ටනල් ඛණ්ඩනය භාවිත කරන්න

අභ්‍යන්තර පැකට්ටුවට පහළින් සහාය දක්වන ඛණ්ඩන යාන්ත්‍රණයක් බාහිර පැකට්ටු කිහිපයකට එක් අභ්‍යන්තර පැකට්ටුවක් රැගෙන යාමට ඉඩ දෙයි, සහ අනෙක් ටනල් අන්ත ලක්ෂ්‍යය මුල් පැකට්ටුව තැටියට භාරදීමට පෙර ඒවා නැවත එකට එකතු කරයි. Community OpenVPN හි UDP fragment විකල්පය එම අදහසේ එක් ක්‍රියාත්මක කිරීමක් වන අතර බාහිර පැකට්ටුවේ සාමාන්‍ය IP ඛණ්ඩනයට සමාන නොවේ. දෙපැත්තේම පීර් එම ආකෘතියට සහාය දෙන අනුවාදයක් ධාවනය කළ යුතුය, සහ දත්ත මාර්ගය ඔබ සිතන මාර්ගයම විය යුතුය: OpenVPN 3 සේවාලාභීන්ට සහ කර්නලයෙන් වේගවත් කළ දත්ත නාලිකාවලට වෙනස් සීමා ඇත, එබැවින් එක් සේවාලාභියෙකු මත ක්‍රියා කරන පැතිකඩක් තවත් එකක අසාර්ථක විය හැක.

openvpn --config client.ovpn --tun-mtu 1500 --fragment 1400 --verb 4

සාමාන්‍ය බාහිර ඛණ්ඩනය අනෙක් විකල්පය වන අතර එය දුර්වලය. IPv6 රවුටර ඉදිරියට යවන පැකට්ටුව කිසිසේත් ඛණ්ඩනය නොකරයි, එබැවින් ඉතා විශාල බාහිර පැකට්ටුවක් නිකම්ම මිය යන අතර අදාළ ICMPv6 පණිවිඩය මාර්ගයේ ජීවත් වුවහොත් පමණක් යවන්නා එය දැනගනී. ඛණ්ඩ පෙරහන් කිරීමට සහ අලාභ වර්ධනයටද ආරාධනා කරයි, එබැවින් මම මෙය සැලැස්මක් නොව විකල්ප මාර්ගයක් ලෙස සලකමි.

ප්‍රවාහය පාදක බාහිර වාහකයක් තමන්ගේම බයිට ප්‍රවාහය ඛණ්ඩනය කිරීමෙන් ප්‍රමාණ ගැටලුව මග හරියි, සහ නැවත ගොඩනගන ලද අභ්‍යන්තර පැකට්ටුව තවමත් 1,500 බයිට විය හැක. එය තමන්ගේම පිරිවැයක් සහිත ප්‍රවාහන තීරණයක් වන අතර, TCP තුළ TCP හි ප්‍රසිද්ධ හැසිරීමද ඇතුළත් වේ, එබැවින් MTU තර්කයක අතුරු ප්‍රතිඵලයක් ලෙස නොව අභිප්‍රායෙන්ම ගන්න.

අභ්‍යන්තර පැකට්ටුව වෙනස් නොවී පැමිණෙන බව තහවුරු කරන්න

සත්‍යාපනය සාර්ථක හස්ත සංඥාවක් නොවේ. දෙකෙළවරේම ටනල් අතුරුමුහුණතේ ග්‍රහණය කරන්න සහ යෙදුම සැබවින්ම යැවූ පැකට්ටුවේ ප්‍රමාණය සහ අන්තර්ගතය අනෙක් පැත්තට ලැබුණු එක සමඟ සසඳන්න.

ip link show dev tun0
ping -M do -s 1472 -c 2 10.8.0.1
tcpdump -ni tun0 -c 5 'icmp and greater 1000'

ග්‍රහණය අනෙක් කෙළවරේ පූර්ණ ප්‍රමාණයේ අභ්‍යන්තර පැකට්ටුව පෙන්වන්නේ නම්, ප්‍රවාහන තේරීම ක්‍රියා කරන අතර ඉතිරි කාර්යය එය සටහන් කිරීමයි. ටනලය තමා up ලෙස වාර්තා කරද්දී කිසිවක් නොපෙන්වන්නේ නම්, බාහිර පැකට්ටුව අන්ත ලක්ෂ්‍ය අතර කොහේ හෝ ඉවත දමමින් සිටී, එය ඔබව සයිෆර් සැකසුම් වෙත නොව පරීක්ෂණය වෙත ආපසු යවයි.

ටිකට්ටුව වැසීමට පෙර කරුණු තුනක් සටහන් කරන්න: මනින ලද බාහිර අයවැය, තෝරාගත් යාන්ත්‍රණය, සහ අභ්‍යන්තර පැකට්ටුව ජීවත් වූ බව ඔප්පු කළ විධානය. මෙම ටනලය ඊළඟට ස්පර්ශ කරන පුද්ගලයාට තුනම අවශ්‍ය වන අතර, ඒවායින් කිසිවක් වින්‍යාස ගොනුවෙන් පමණක් නැවත ගොඩනගා ගත නොහැක.

අදාළ ලිපි