کوچني ping ټول ورځ د تونل له لارې تیریږي، SSH بینر رسیږي، او بیا د فایل لیږد پیلېدو سره سمه غونډه کنګل کیږي۔ دا بڼه په غلطه طبقه کې د شمېرل شوې بایټ بودیجې اشاره کوي، چېرې چې بهرنی تونل د خپل اوور هیډ لپاره اندازه شوی و او چا دننی نه و کم کړی۔ د WireGuard لپاره ننوتل شوی IPIP پیکیټ یوازې بل IP پیکیټ دی، او همدا لامل دی چې هغه بایټونه کاروي چې تاسو هیڅکله نه وو ساتلي۔ سمون حساب دی، او په درې حکمونو او یوې جدول کې ځای پرځای کیږي۔

هغه نښه چې دا افشا کوي

د فراګمنټیشن ستونزه ځان په اندازه اعلانوي، هیڅکله په پتو نه۔ ستاسو پیر یوه ساعت لپاره د 56 بایټ ping ته ځواب وایي او بیا په 1400 بایټ کې غلی کیږي، پداسې حال کې چې تونل پورته پاتې دی او هېڅ لاره نه ده بدله شوې۔ لاس ورکول ځای نیسي، لومړنۍ بشپړه TCP کړکۍ نه، او لیږد له روغ ښکارېدو څو ثانیې وروسته بند پاتې کیږي۔

له هر څه ترمخه چې سمون کوئ، چت اندازه کړئ، ځکه نه اندازه شوی چت هغه دی چې دوه ځله به پسې ګرځئ۔ د شکمنې اندازې لاندې د do-not-fragment بټ سره یو پروب واستوئ، ping -M do -s 1000 10.9.0.2، بیا یې په هغه اندازه تکرار کړئ چې مخکې پوهېږئ ډیره لویه ده۔ کله چې اوښتون د پیلوډ اندازې پسې لاړ شي او منزل بدل نه شي، نو روټینګ خپله دنده کوي او په بودیجه کې یو سرلیک ورک دی۔

هر سرلیک یو ځل وشمېرئ، په سمه طبقه کې

د تونل انټرفیس نه، بلکې د لارې ترټولو کوچني MTU څخه پیل کړئ، ځکه دېوال د دواړو سرونو پورته دی۔ WireGuard د IPv4 بهرني ټرانسپورټ لپاره 60 بایټ لګوي: 20 د IP لپاره، 8 د UDP لپاره او 32 د خپل سرلیک لپاره، او 80 بایټ کله چې هغه ټرانسپورټ IPv6 وي۔ د 1420 بایټ wg0 د 1440 لاندې 20 بایټه تشه ساتي چې د 1500 بایټ لاره یې واقعاً رسولی شي، او همدا لامل دی چې له ویکي څخه کاپي شوې شمېره دلته هم ځای نیسي۔ ټول سټیک پر ډیاګرام ولیکئ، ځکه چې بل ځل MTU بدلوونکی به که نه نو نوی ګرد شمېره غوره کړي او ستاسو بګ به میراث واخلي۔

LayerBytesRemaining
Path MTU on the wired linknone yet1500
WireGuard outer: IP, UDP, WG header601440
Slack kept for safety201420 (wg0)
IPIP header inside the tunnel201400 (ipip0)
Original IPv4 and TCP headers401360 payload

پنځمه کرښه هغه ځای دی چې بودیجې خرابیږي، ځکه هغه 1400 بایټ چې ننوتلی انټرفیس یې وړي، مخکې له مخکې د اصلي پیکیټ خپل 40 بایټ سرلیکونه لري۔ له هغو بایټونو یوازې 1360 د فایل لوستونکي پروسې ته رسیږي۔ 1400 د اپلیکیشن پیلوډ وګڼئ، لکه څنګه چې هره هغه ډیاګرام چې دا کالم نلري تاسو ته بلنه درکوي، او دننی وسیله له نه خوځېدلي دېوال سره 40 بایټ ډیره سخاوتمنده تمامیږي۔

دواړه MTU جلا جلا تنظیم کړئ

وړونکی او ننوتلې وسیله جلا شيان دي، نو هر یو خپل ارزښت ته اړتیا لري۔ دوی په دې ترتیب پلي کړئ، ځکه ننوتلې وسیله له وړونکي څخه هېڅ نه میراث اخلي:

ip link set wg0 mtu 1420
ip tunnel add ipip0 mode ipip remote 203.0.113.9 local 198.51.100.4
ip link set ipip0 mtu 1400

د یادولو وړ قاعده: دننی MTU = بهرنی MTU - 20 کله چې هغه پیکیټ چې د IPIP تونل یې وړي IPv4 وي، او - 40 سمدلاسه چې د دنني پیکیټ یوه خوا IPv6 شي، ځکه ننوتلی سرلیک له 20 بایټ څخه 40 ته لویږي۔ بل څه په دې کموالي کې نه راځي۔ د WireGuard اوور هیډ هغه وخت چې تاسو 1420 غوره کړل مخکې له مخکې لګول شوی و، او دوه ځله یې اخیستل هغه تونل جوړوي چې بشپړ کار کوي او تر هغه پورې ورو پاتې کیږي چې څوک یې نه اندازه کوي۔ هغه ځای پرځای کول چې دواړه وسایل ګرد 1400 وړي، د همدې غلطۍ د ګوتې نښه ده۔

په ننوتلي پیکیټ هر اړخ کې IPv6 هره پورتنۍ شمېره باطلوي، نو بیا حساب وکړئ نه دا چې له ورته سایټ څخه شمېره کاپي کړئ۔ کمول شوي سرلیکونه هغه وخت چې IPv6 په بهرنۍ لاره یا په اصلي ډاټاګرام کې ښکاره شي هر یو 40 بایټه دي، او د پیلوډ شمېره په هماغه اندازه کمیږي۔

هغه فایر وال قاعده چې شاید ورته اړتیا نه لرئ

د دوو WireGuard پیرونو ترمنځ په تار یوازینی شی UDP دی، نو د پروتوکول 4 لپاره راتلونکې قاعده، هغه شمېره چې RFC 2003 د IPv4-په-IPv4 انکپسولیشن لپاره ټاکي، نه ننوتلې لاره جوړوي او نه یې ژوندی ساتي۔ د IPIP سرلیک د کوډ شوي پیلوډ دننه ژوند کوي، چېرې چې هېڅ څنډې فایر وال یې نه ویني۔ پروتوکول 4 خلاصول بیا هم له یو بل اجازه شوي مسیر پرته هوسټ ته هېڅ نه اخلي۔

هغه پالیسي چې د اصلي پیکیټ سرچینې او منزلونه یادوي، له ډي کپسولیشن وروسته، پر تونل انټرفیسونو او په روټینګ جدول کې ځای لري۔ هلته یې کېږدئ او څنډې قاعده کولای شي بنده پاتې شي۔

WireGuard واقعاً څه تصدیقوي

AllowedIPs د هغه پیکیټ سرچینه قضاوتوي چې WireGuard یې وړي، او هغه څه چې وړي یې IPIP-انکپسول شوی پیکیټ دی۔ اجازه شوې IPIP سرچینه هغه وخت هم منل کیږي چې دننی سرلیک داسې هوسټ ونوموي چې تاسو یې روټ کول نه خوښوئ۔ نو اصلي سرچینه هغه نه ده چې پیر ستاسو لپاره کتلي، او هغه دننۍ پته جوړه له ډي کپسولیشن وروسته خپل پلي کول غواړي۔

لپېټ روټینګ جوړښت برابروي، نه د کرپټوګرافي دوهمه طبقه۔ د WireGuard دننه IPIP ته اضافي ساتنه ویل بېل ډیزاین بیانوي۔

په یوه ping نه، په زینه تصدیق کړئ

هغه اندازې وآزموئ چې ستاسو حساب شوې پوله له دواړو خواوو رانغاړي، بیا تایید کړئ چې کرنل د دواړو وسایلو په اړه څه فکر کوي۔ کله چې 1360 بایټ پیلوډ او 40 بایټ سرلیکونه یوځای 1400 شي، لاندې لومړنۍ ګونګړه ځای نیسي او دوهمه له چت څخه یو بایټ هاخوا کیني:

ping -M do -s 1372 10.9.0.2
ping -M do -s 1373 10.9.0.2
wg show wg0
ip -d link show ipip0

له چت لاندې پاک تېرېدل او د هغې پورتنۍ لومړنۍ اندازې کې ناکامي معنا دا ده چې حساب له سره تر اخره ټینګ دی۔ بیا هغه لیږد بیا وچلوئ چې پیل کې بند پاتې و، ځکه مصنوعي پروب بودیجه ثابتوي او د لېږونکي د خپلو لیکلو اندازو په اړه هېڅ نه وایي۔ که ننوتلې لاره لا هم په هغه اندازه مات شي چې تاسو ثابته کړه چې ځای نیسي، نو له MTU څخه لس نور بایټه کموولو مخکې د لري سر ډي کپسولیشن او لارې وګورئ۔

اړوندې مقالې