WireGuard yn oedi: terfyn MTU neu reol anfon goll?
Dim byd y tu hwnt i’r gweinydd yw problem anfon neu lwybr dychwelyd. Ceisiadau bach sy’n gweithio tra bo rhai mawr yn oedi yw ôl troed maint y pecyn.
Yr arfer yw gostwng yr MTU cyn gynted ag y bydd WireGuard yn camymddwyn, ac mae’r arfer hwnnw’n cuddio nam gwahanol. Mae porth nad yw’n anfon a llwybr nad yw’n cario pecynnau mawr yn cynhyrchu patrymau gwahaniaethol: mae un yn methu yn y ddau gyfeiriad ac ar bob maint, mae’r llall yn goroesi ceisiadau bach ac yn marw ar rai mawr. Nodwch pa siâp sydd gennych cyn newid unrhyw rif. Mae’r prawf yn rhad ac mae’n dileu hanner yr achosion posibl.
Dwy fethiant, dau siâp gwahanol
Mae problem anfon yn ymddangos yn syth y tu hwnt i’r gweinydd. Mae’r ysgwyd llaw yn llwyddo, mae cyfeiriad y twnnel yn ateb, ac nid oes modd cyrraedd dim y tu ôl i’r porth hyd yn oed gyda chais bach. Cyrhaeddodd y pecyn y gweinydd ac ni chafodd ei anfon ymlaen, neu nid oedd gan yr ateb lwybr yn ôl.
Mae problem maint yn ymddangos dim ond uwchben trothwy. Mae DNS, ysgwyd llaw TCP a galwad API fach i gyd yn gweithio, tra bod lawrlwytho ffeil neu ateb mawr yn hongian. Aeth y pecynnau a oedd yn ffitio o un pen i’r llall, a chafodd y rhai nad oedd yn ffitio eu gollwng yn rhywle heb adroddiad defnyddiadwy.
Mae’r disgrifiadau hynny’n cyfeirio at wahanol bobl a gwahanol ffeiliau cyfluniad, a dyna pam mae mesur y siâp yn werth mwy na dyfalu. Ni all un ping i’r porth eu gwahanu.
Diarddel anfon cyn i chi leihau unrhyw beth
Profwch gyrchfan y tu hwnt i’r porth, nid y porth ei hun. Nid yw ping i gyfeiriad twnnel y gweinydd yn profi dim ond bod y rhyngwyneb i fyny a’ch bod yn cyrraedd y peiriant sy’n terfynu’r twnnel. Mae traffig ar gyfer y rhwydwaith ehangach yn dibynnu ar fod anfon IP wedi’i alluogi ar y peiriant hwnnw ac ar dan wal sy’n caniatáu’r llif a anfonir. Rhaid i’r ddau fod yn wir, ac mae unrhyw un ohonynt yn anwir yn cynhyrchu’r un distawrwydd.
Mae llwybro dychwelyd yr un mor bwysig. Os nad yw’r rhwydwaith cyrchfan yn gwybod sut i gyrraedd cyfeiriad twnnel y cleient, mae’r cais yn cyrraedd ac mae’r ateb yn diflannu, ac mae’r cleient yn adrodd am derfyn amser sy’n edrych yn union yr un fath ag anfon a ollyngwyd.
Lle mae’r dyluniad yn defnyddio cyfieithu cyfeiriadau, mae’r reol gyfieithu yn rhan o’r llwybr dychwelyd hwnnw. Mae ei dileu wrth hel problem MTU yn troi un dyluniad sy’n gweithio yn un toredig, felly darllenwch y rheolau presennol cyn eu golygu.
Mesurwch lle mae’r toriad yn dechrau
Darllenwch gyflwr anfon a’r rheolau hidlo yn gyntaf. Gwiriadau darllen yn unig yw’r rhain ac maent yn ateb y cwestiwn rhad:
sysctl net.ipv4.ip_forward
sudo iptables -S FORWARD
ip route get 10.30.0.9
Yna profwch feintiau gyda’r did don’t-fragment, o’r cleient, tuag at westeiwr y tu hwnt i’r porth:
ping -M do -s 1200 10.30.0.9
ping -M do -s 1400 10.30.0.9
Os yw’r prawf cyntaf yn gweithio ac mae’r ail yn methu â gwall darnio, mae’r llwybr yn dweud ei faint defnyddiadwy wrthych. Os nad yw’r un yn gweithio, rydych yn edrych ar anfon neu lwybro, ac nid MTU yw’r newidyn i’w newid.
| 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 |
Trwsiwch yr haen a brofwyd gennych
Pan mai anfon yw’r nam, y cywiriad yw rheol anfon neu lwybr, wedi’i fynegi mor gul ag y mae’r dyluniad yn caniatáu. Pan mai maint yw’r nam, y cywiriad yw MTU sy’n cyfrif am y cyfleoli ar y llwybr penodol hwn, wedi’i gymhwyso i’r rhyngwyneb sydd ei angen ac nid i bob addasydd yn y fflyd.
Pa ffordd bynnag, ailadroddwch yr un dasg yn erbyn yr un gyrchfan wedyn. Os yw’r trosglwyddiad mawr gwreiddiol nawr yn cwblhau, mae’r newid wedi mynd i’r afael â’r haen a oedd yn methu. Os mai dim ond y prawf bach sydd wedi gwella, fe wnaethoch drin symptom ac mae’r terfyn go iawn yn dal yn ei le.
Nodwch pa siâp a welscoch cyn newid y gosodiad. Mae’r un llinell honno, wedi’i chofnodi wrth ymyl y trwsiad, yn rhwystro’r person nesaf rhag gostwng MTU nad oedd byth yn broblem.