MSS clamping kwenye lango la VPN: inarekebisha nini na hairekebishi nini
Clamping huandika upya MSS katika handshake za TCP ili sehemu zitoshane kwenye handaki. Haifanyi hata mara moja kurekebisha UDP au ukaguzi wa path-MTU ulioharibika. Ukaguzi matatu, kwa mpangilio.
Maombi madogo hufanya kazi, upakuaji mkubwa hukwama, na mtu anapendekeza MSS clamping. Pendekezo hilo liko sahihi mara nyingi vya kutosha kufaa kujaribiwa kwa mpangilio sahihi, na si sahihi mara nyingi vya kutosha kupoteza mchana mzima ikiwa utalitumia kwa upofu. Ukaguzi matatu hapa chini hutenganisha tatizo la kweli la ukubwa wa TCP na tatizo la UDP, na ugunduzi wa path-MTU ulioharibika, na clamp isiyoona kamwe handshake inayopaswa kuandika upya.
Anza na umbo la kushindwa
Kushindwa kwa ukubwa kuna sahihi: muunganisho huanzishwa, uthibitishaji na majibu madogo hufaulu, kisha uhamishaji hukwama bila kikomo mara tu unapohitaji sehemu ya ukubwa kamili. Kurasa zinazopakia maandishi lakini hazimalizi picha kamwe ni kushindwa hicho hicho kwa kiwango kidogo. Ikiwa hakuna kitu kinachounganishwa kabisa, tatizo liko mbele zaidi kwenye njia na clamping haitasaidia. Clamp haiwezi kurekebisha handshake ambayo haikufika kamwe.
Sahihi hiyo ipo kwa sababu handshake ndipo panapokubaliwa ukubwa wa sehemu. Kila upande hutangaza ukubwa wa juu wa sehemu kama chaguo la TCP, na watumaji huheshimu tangazo la upande mwingine. Ikiwa njia haiwezi kubeba sehemu kubwa hivyo, kushindwa huonekana baadaye, wakati mtumaji hatimaye anajaribu moja.
Weka usafirishaji machoni unaposoma dalili hiyo. Clamping ni uandikaji upya wa chaguo la TCP, kwa hiyo simu ya sauti au video inayokwama chini ya handaki hilo hilo si tatizo la MSS na haitaboreshwa nayo. Andika usafirishaji kabla ya kugusa chaguo la TCP.
Pima gharama ya njia, kisha uilinganishe na handaki
Nambari mbili ni muhimu na mara nyingi huchanganywa. path-MTU ni pakiti kubwa zaidi ambayo njia hubeba bila kugawanyika, na MSS iliyotangazwa kwa IPv4 ni thamani hiyo ukiondoa baiti 40 za vichwa vya IP na TCP, au ukiondoa 60 kwa IPv6. Ufungashaji wa handaki hutumia sehemu ya bajeti kabla pakiti ya ndani haijaanza.
ping -M do -s 1400 198.51.100.20
tracepath 198.51.100.20
Ping yenye biti ya do-not-fragment hukuambia kama pakiti ya ukubwa huo wa mzigo inanusurika; badilisha ukubwa hadi ishindwe na umepata kikomo cha njia kwa majaribio. Matokeo ya tracepath huripoti MTU iliyogunduliwa kwenye njia, ambayo ni ya haraka zaidi inapofanya kazi na isiyotegemewa zaidi hop ya kati inapochuja uchunguzi.
Sasa ondoa gharama ya handaki. Kichwa cha IP cha nje, kichwa cha UDP na kichwa maalum cha handaki vyote hutoka katika baiti 1500 zile zile, kwa hiyo MTU ya ndani inayoweza kutumika kwenye msingi wa kawaida wa Ethernet ni ya chini kuliko inavyodokeza kiungo halisi. Ikiwa MTU ya ndani iliyohesabiwa iko chini ya ile inayotangazwa na wenzi wako, umepata mgombea halisi wa clamp na si kubashiri. Ikiwa thamani iliyohesabiwa iko juu ya tangazo la wenzi, simama hapa na uangalie mahali pengine.
Weka clamp mahali handshake inapopita
Clamp hufanya kazi kwa kuandika upya chaguo la MSS katika pakiti za SYN na SYN-ACK zinapovuka lango. Ikiwa kanuni iko kwenye kiolesura ambacho hakuna mwelekeo wowote unaovuka kamwe, mazungumzo hukamilika bila mabadiliko na dalili huendelea, ndiyo sababu mahali huamua matokeo zaidi ya thamani.
| Symptom | What it points to | Next check |
|---|---|---|
| Handshake completes, large transfer stalls | Segment size larger than the path can carry | Path MTU against the tunnel's effective MTU |
| Nothing connects, small or large | Routing, firewall or keying failure | Not MSS; look at the tunnel state |
| Only UDP applications stall | Datagram size or a dropped ICMP error | Platform-specific UDP handling, not clamping |
| Fixed after reconnect, returns later | Clamp applied to one direction or one interface | Rule placement and the handshake path |
Mwelekeo ni nusu nyingine. Clamping ya mwelekeo mmoja hurekebisha nusu ya mitiririko na kuacha inayobaki ikishindwa kwa namna inayoonekana ya vipindi, kwa hiyo itumie kwa mwelekeo wote wa trafiki inayosafirishwa. Umbo la kawaida la Linux kwa kiolesura cha handaki ni kanuni ya mangle inayolingana na pakiti za SYN:
iptables -t mangle -A FORWARD -o tun0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Angalia kile --clamp-mss-to-pmtu hufanya kweli: hupata thamani kutoka MTU ya njia, ambayo si kila mara bajeti halisi ya mzigo wa handaki. Kwenye handaki inayotegemea njia ambapo njia ya ndani na njia ya nje zinatofautiana, thamani bayana iliyohesabiwa kwenye ukaguzi uliopita inatabirika zaidi kuliko ile ya kiotomatiki.
Thibitisha kwa muunganisho mpya, na uendelee kutoa mrejesho
Muunganisho ulioanzishwa huhifadhi MSS iliyojadiliwa, kwa hiyo kujaribu kwenye kikao kile kile hakuthibitishi chochote. Fungua muunganisho mpya baada ya mabadiliko na usome thamani iliyojadiliwa moja kwa moja badala ya kuikisia kutoka uhamishaji unaomalizika kwa bahati.
ss -tin dst 198.51.100.20
iptables -t mangle -S | grep TCPMSS
Amri ya kwanza huripoti MSS ya soketi pamoja na hali yake ya msongamano, ambayo ni uthibitisho wa haraka zaidi kwamba clamp imefanya kazi. Ya pili huthibitisha kwamba kanuni unayodhani umeongeza ndiyo kanuni iliyopo, kwenye jedwali ilipowekwa.
Kisha linda utaratibu ambao hukumrekebisha. Ugunduzi wa path-MTU hutegemea ujumbe wa ICMP fragmentation-needed kufika kwa mtumaji, kwa hiyo firewall inayozitupa itaendelea kuvunja uhamishaji mkubwa hata kukiwa na clamp sahihi. Ruhusu ujumbe huo kwa njia ya handaki, au kubali kwamba clamping inafidia sera uliyochagua.
Mwisho, pinga kishawishi cha kuichukua clamp kama kitufe cha kurekebisha. Inabana ukubwa wa sehemu, jambo ambalo huigharimu upitishaji kwenye njia ambazo hazikuhitaji kamwe. Ikitekelezwa baada ya ukaguzi matatu ni ukarabati uliolengwa; ikitekelezwa kwanza ni mabadiliko yanayoficha hitilafu ya awali na kuongeza kigeu cha pili kwenye kila jaribio la baadaye. Biashara hiyo inafaa kufanywa kwa makusudi, si kwa chaguo-msingi.
Andika path-MTU uliyopima, gharama ya handaki uliyoondoa, kanuni uliyoongeza na MSS uliyoiona baadaye. Nambari nne hufanya tukio lijalo kuwa utafutaji badala ya uchunguzi.