WireGuard dúró: ààlà MTU tàbí òfin ìtọ́jú tí kò sí?
Ohunkóhun tó kọjá server ni ìṣòro ìtọ́jú tàbí ọ̀nà ìpadà. Àwọn ìbéèrè kékeré tó ń ṣiṣẹ́ nígbà tí àwọn ńlá dúró ni àmì ìwọ̀n packet.
Àṣà ni láti dín MTU kù ní kété tí WireGuard bá bẹ̀rẹ̀ sí hùwà tí kò tọ́, àṣà yẹn sì ń fi àbùkù mìíràn pamọ́. Ẹnu-ọ̀nà tí kò gbé jáde àti ọ̀nà tí kò gbé àwọn packet ńlá ń pèsè àwọn àpẹẹrẹ tí a lè yàtọ̀: ọ̀kan ń kùnà ní ẹ̀gbẹ́ méjèèjì àti ní gbogbo ìwọ̀n, èkejì ń yè kúrò nínú àwọn ìbéèrè kékeré tí ó sì ń kú lórí àwọn ńlá. Pinnu irú ẹ̀dá wo ni o ní kí o tó yí nọ́mbà kankan padà. Ìdánwò náà kò wọ́n, ó sì ń mú ìdajì àwọn ohun tó lè fa kù.
Ìkùnà méjì, ẹ̀dá méjì tí ó yàtọ̀
Ìṣòro ìtọ́jú ń farahàn lẹ́sẹ̀kẹsẹ̀ lẹ́yìn server. Ìfọwọ́sọ̀rọ̀ ń yọrí sí rere, àdírẹ́sì tunnel ń dáhùn, kò sì sí ohunkóhun lẹ́yìn ẹnu-ọ̀nà tí a lè dé pẹ̀lú ìbéèrè kékeré. Packet náà dé server, a kò gbé e jáde, tàbí ìdáhùn náà kò ní ọ̀nà ìpadà.
Ìṣòro ìwọ̀n ń farahàn ní òkè ààlà kan péré. DNS, ìfọwọ́sọ̀rọ̀ TCP àti ìpè API kékeré ń ṣiṣẹ́, nígbà tí gbígbà fáìlì tàbí ìdáhùn ńlá ń dúró. Àwọn packet tí wọ́n wọ̀ ń lọ láti ìpẹ̀kun dé ìpẹ̀kun, àwọn tí kò wọ̀ ni a dà nù níbì kan láìsí ìròyìn tí ó wúlò.
Àwọn àpèjúwe yẹn ń tọ́ka sí ènìyàn ọ̀tọ̀ọ̀tọ̀ àti fáìlì ìṣètò ọ̀tọ̀ọ̀tọ̀, nítorí náà dídiwọ̀n ẹ̀dá náà níye lórí ju àríkọ́kan lọ. Ping kan sí ẹnu-ọ̀nà kò lè yà wọ́n.
Yọ ìtọ́jú kúrò kí o tó dín ohunkóhun kù
Dán ibi-àfẹ́sọ́nà tó kọjá ẹnu-ọ̀nà wò, kì í ṣe ẹnu-ọ̀nà fúnra rẹ̀. Ping sí àdírẹ́sì tunnel server ń fi kìkì pé interface ń ṣiṣẹ́ àti pé o ń dé ẹ̀rọ tó parí tunnel. Ìrìnàjò fún nẹ́tíwọ́kì gbòòrò ń gbára lé IP títọ́jú tí a ti mú ṣiṣẹ́ lórí ẹ̀rọ yẹn àti firewall tó ń gba ìṣàn tí a tọ́jú láàyè. Méjèèjì gbọ́dọ̀ jẹ́ òtítọ́, bí ọ̀kan bá sì jẹ́ irọ́ ìdákẹ́jẹ́ kanna ń farahàn.
Ìtọ́jú ọ̀nà ìpadà ṣe pàtàkì bákan náà. Bí nẹ́tíwọ́kì ibi-àfẹ́sọ́nà kò bá mọ bí yóò ṣe dé àdírẹ́sì tunnel alábàárí, ìbéèrè ń dé, ìdáhùn ń pòórá, alábàárí sì ń ròyìn àkókò tí ó pé tí ó dà bí ìtọ́jú tí a dà nù.
Níbẹ̀ tí ẹ̀dá náà ti ń lo ìtumọ̀ àdírẹ́sì, òfin ìtumọ̀ náà jẹ́ apá kan ọ̀nà ìpadà yẹn. Yíyọ rẹ̀ kúrò nígbà tí a ń lépa ìṣòro MTU ń yí ẹ̀dá tó ń ṣiṣẹ́ padà sí èyí tó ti bàjẹ́, nítorí náà ka àwọn òfin tó wà kí o tó ṣàtúnṣe wọn.
Diwọ̀n ibi tí ìjákulẹ̀ ti bẹ̀rẹ̀
Kọ́kọ́ ka ipò ìtọ́jú àti àwọn òfin àyọkà. Ìwádìí kíkà nìkan ni wọ́n, wọ́n sì ń dáhùn ìbéèrè tí kò wọ́n:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Lẹ́yìn náà dán àwọn ìwọ̀n wò pẹ̀lú bit don’t-fragment, láti alábàárí, sí ọ̀dọ̀ host tó kọjá ẹnu-ọ̀nà:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Bí ìdánwò kìíní bá ṣiṣẹ́ tí èkejì sì kùnà pẹ̀lú àṣìṣe pípasẹ̀, ọ̀nà náà ń sọ ìwọ̀n tí ó lè lò fún ọ. Bí méjèèjì kò bá ṣiṣẹ́, ìtọ́jú tàbí ìtọ́ ọ̀nà ni o ń wò, MTU kì í sì í ṣe oníyípadà tí a gbọ́dọ̀ yí.
| Observation | Points toward | Where to look |
|---|---|---|
| Nothing beyond the gateway works | Forwarding or return route | Forwarding flag, filter rules, routing table |
| Small works, large stalls | Packet size on the path | Tunnel MTU and the link underneath |
| Only names fail | DNS resolution | The resolver configured for the tunnel |
| Works sometimes | Multiple paths or state expiry | Flow selection and NAT state |
Tún ìpele tí o fi hàn ṣe
Nígbà tí ìtọ́jú bá jẹ́ àbùkù, àtúnṣe ni òfin ìtọ́jú tàbí ọ̀nà kan, tí a sọ ní dídín tó bí ẹ̀dá náà ṣe gbà. Nígbà tí ìwọ̀n bá jẹ́ àbùkù, àtúnṣe ni MTU tí ó ń gbé ìkójọ inú ọ̀nà yìí ní ọkàn, tí a fi sí interface tó nílò rẹ̀ kì í ṣe gbogbo adapter nínú ẹgbẹ́.
Bóyá bẹ́ẹ̀ tàbí bẹ́ẹ̀kọ́, lẹ́yìn náà tún iṣẹ́ kanna ṣe sí ibi-àfẹ́sọ́nà kanna. Bí gbígbé ńlá àkọ́kọ́ bá parí nísisìyí, ìyípadà náà ti kojú ìpele tó ń kùnà. Bí ìdánwò kékeré nìkan bá dára sí, o ti tọ́jú àmì àrùn kan, ààlà gidi ṣì wà níbẹ̀.
Kọ irú ẹ̀dá tí o kíyèsí ṣáájú ìyípadà. Ìlà kan yẹn, tí a kọ sí ẹ̀gbẹ́ àtúnṣe, ni ó ń dá ènìyàn tó kàn lẹ́yìn lọ́wọ́ láti dín MTU tí kò jẹ́ ìṣòro rí kù.