Mae'r twnnel i fyny, mae'r baner yn cyrraedd, ac mae'r cleient yn argraffu neges am aros am ateb y gyfnewid allweddi. Mae canlyniadau chwilio'n pwyntio'n syth at MTU, ac weithiau mae hynny'n gywir. Yn aml nid yw: efallai na chafodd yr ateb ei anfon byth, oherwydd na allai'r cleient ddarllen ffeil allwedd neu na chytunodd y ddau ben ar algorithm. Mae'r llinell yn disgrifio beth mae'r cleient yn aros amdano, nid pam y dechreuodd yr aros. Triniwch ef fel symptom a gwahanu'r tri achos cyn newid unrhyw faint.

Darllenwch y trace i weld a oedd ateb yn cael ei ddisgwyl o gwbl

Mae allbwn manwl yn dangos y cam llwyddiannus olaf cyn y tawelwch. Os cyrhaeddodd baner protocol y gweinydd, mae TCP yn gweithio ac mae'r pen pell yn fyw; y cwestiwn agored yw beth ddigwyddodd i un pecyn penodol. Mae munud o dawelwch ar ôl y baner yn edrych fel problem llwybr. Mae neges am ddim dull cyfnewid allweddi cyfatebol yn broblem polisi. Mae aros hir sy'n gorffen gyda'r gweinydd yn cau'r sesiwn yn golygu bod y gweinydd wedi rhoi'r gorau iddi, ac mae ei log yn egluro pam.

Yn yr achos olaf, darllenwch log dilysu'r gweinydd cyn cyffwrdd â'r cleient. Ni all y cleient weld penderfyniad na anfonodd y gweinydd byth.

Pam y gall ateb bach fod yn rhy fawr o hyd

Mae atebion cyfnewid allweddi fel arfer yn fach iawn, felly mae beio maint yn swnio'n anghywir. Gyda thystysgrifau gwesteiwr nid yw'r ateb yn fach, oherwydd ei fod yn cario cadwyn dystysgrifau'r gweinydd. Mae hynny'n ei wneud y pecyn cyntaf yn y sesiwn a all fod yn fwy na llwyth defnyddiadwy'r twnnel. Pan fydd adborth darganfod MTU llwybr yn cael ei ollwng yn rhywle ar hyd y llwybr, mae'r anfonydd yn ail-anfon pecyn na all ffitio, ac mae'r cleient yn aros am byth ar yr un llinell.

Sefydlwch y maint yn lle ei dybio. Darllenwch MTU'r twnnel gyda ip link show tun0, yna anfonwch brofion na ddylent ffragmentio: ping -4 -M do -s 1352 host, wedi'u hailadrodd â llwythi llai. Mae newid o fethiant i lwyddiant ar faint penodol yn dystiolaeth; mae methiant unffurf yn awgrymu bod ICMP yn cael ei hidlo ac ni'n dweud dim wrthych.

Mae gostyngiad dros dro yn cadarnhau'r ddamcaniaeth yn gyflym, ac mae fersiwn barhaol yn perthyn i'r proffil neu fel clamp MSS ar y llwybrydd sy'n anfon y twnnel ymlaen:

sudo ip link set dev tun0 mtu 1200
sudo iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Y ddau achos sy'n dynwared problem maint

Mae ffeil allwedd na all y cleient ei darllen yn cynhyrchu'r un aros, heb unrhyw rybudd hyd yn oed mewn allbwn manwl. Mae un patrwm known_hosts yn gwneud hyn yn hawdd: cofnod @cert-authority sy'n pwyntio at allwedd gyhoeddus CA na all ond un cyfrif ei darllen. Mae'r cyfrif sy'n berchen ar y ffeil yn cysylltu, ac mae pob cyfrif arall yn hongian. Os yw'r methiant yn dilyn y defnyddiwr yn hytrach na'r gwesteiwr, gwiriwch foddau'r ffeil cyn meintiau'r pecynnau.

Gall uwchraddiad hefyd ddileu'r algorithm yr oedd y ddau ben yn ei rannu o'r blaen. Pinwch un dull y mae'r gweinydd yn dal i'w gynnig fel diagnostig: ssh -oKexAlgorithms=ecdh-sha2-nistp521 user@host. Mae cysylltiad sy'n llwyddo ar unwaith yn profi bod y llwybr yn iawn ac mai yn y polisi trafod ar y ddau ochr y mae'r atgyweiriad.

Tri ffaith sy'n werth eu hysgrifennu

Cofnodwch MTU'r twnnel cyn ac ar ôl unrhyw newid, a yw copïo ffeil fawr yn methu ar faint y gellir ei ailadrodd, ac a yw gwesteiwr heb dystysgrif ar yr un twnnel yn tagu'n unfath. Mae'r tri arsylwi hynny'n gwahanu maint oddi wrth ganiatâd ac oddi wrth drafodaeth yn gyflymach na tho o orchmynion.

Maent hefyd yn atal y person nesaf rhag gostwng yr MTU am fai nad oedd byth yn ymwneud â maint.

Os yw'r darlun yn dal yn aneglur, profwch o ail gleient ar yr un twnnel. Mae cleient sy'n cysylltu yn symud y bai o'r llwybr i ffurfweddiad y peiriant cyntaf.

Erthyglau cysylltiedig