PPPoE'деги OpenVPN: link-mtu, tun-mtu же mssfix азайтабызбы?
Ping иштейт, бирок чоң барактар PPPoE же DS-Lite зымында токтоп калат. Жолду өлчөп, link-mtu, tun-mtu жана mssfix ортосунда тандоо кылыңыз, болжолдобоңуз.
Ping жооп берет, DNS чечет, жана толук өлчөмдөгү сегмент керек болгон ар бир барак токтоп калат. Өз капсуласын кошкон зымда жол үнсүз ондогон байт бюджеттен жоготот, жана таза Ethernet үчүн жазылган профиль зым көтөрө албаган пакеттерди сурай берет. Байланыш жай эмес; ал так маанилүү пакеттерди ыргытат.
Муну үч вариант оңдой алат, жана алар ар башка катмарларда иштейт. Туура эмести тандоо же эч нерсе кылбайт, же туннелди жаңыча морт кылат, ошондуктан тандоо жолдун чындап эмнени колдогонунан башталат.
Үч баскыч, үч башка катмар
link-mtu сырткы бюджет: шифрленген пайдалуу жүк плюс OpenVPN аталышы, UDP аталышы жана сырткы IP аталышы. Ал машинадан эмне чыгарын сүрөттөйт, ошондуктан физикалык жол чектеген сан ушул.
tun-mtu ички бюджет: трафигиңиз көргөн интерфейс. Ал жол көтөрө алгандан туннелдин чыгымынын так өлчөмүндөй чоң, жана OpenVPN аны адатта өзү чыгарат, аны коюуга мажбурлабайт.
mssfix таптакыр башка механизм. Ал TCP кол алышууларында жарыяланган сегменттин максималдуу өлчөмүн кайра жазат, ошондуктан TCP өнөктөштөрү капсуладан кийин баткан сегменттерди тандашат. Ал интерфейстин MTU'сун өзгөртпөйт жана UDP'ге эч кандай таасир этпейт.
Эгер link-mtu'ни ачык койсоңуз, OpenVPN ички MTU'ну чыгаруу үчүн өз чыгымын кемитет. Бул чыгым туруктуу константа эмес; ал шифрга жана аутентификацияга көз каранды, ошондуктан форумдан көчүрүлгөн маани башка профилде туура эмес болушу мүмкүн. link-mtu жана tun-mtu экөөнү тең коюу клиентке эки карама-каршы көрсөтмө берет.
Кандайдыр бир санды тандоодон мурун жолду өлчөңүз
Физикалык интерфейстен өлчөңүз, туннелдин ичинен эмес, жана ping пайдалуу жүктү билдирерин, пакеттин өлчөмүн эмес, унутпаңыз. Пайдалуу жүктү 1500 байттык кадр менен салыштыруудан мурун IPv4 жана ICMP аталыштары үчүн 28 байт кошуңуз, жана өнөктөш башка санды билдиргенде ошол оңдоону эсиңизде кармаңыз.
Linux кардарында ping -M do -s 1472 фрагментацияга тыюу салат жана пакет өтө чоң болсо ийгиликсиз болот. Пайдалуу жүктү өткөнгө чейин азайтыңыз, анан жолдун MTU'сун алуу үчүн 28 кошуңуз. PPPoE 8 байт турат, ошондуктан DSL'де 1492 кадимки. DS-Lite жана кээ бир мобилдик жолдор 40 же андан көп турат, жана жооп адатта номиналдуу зым ылдамдыгы сунуш кылгандан төмөн.
Эгер ping'дин ар бир өлчөмү ийгиликтүү болсо, бирок чоң өткөрмөлөр дагы эле токтоп калса, жөнөкөй өлчөм чегинен көрө кара кудуктан шектенңиз. Керектүү фрагментация тууралуу ICMP билдирүүсү жолдун бир жеринде чыпкаланат, ошондуктан жөнөтүүчү эч качан кичирейтүүнү үйрөнбөйт, жана чоң сегмент керек болгон агымдар гана муну байкайт.
Алгач TCP'ни чектеңиз, анан туннелди кичирейтиңиз
TCP кол алышуулары mssfix тийген жалгыз нерсе, ошондуктан ал адатта биринчи сынап көрүү үчүн эң аз тоскоол болгон башкаруу болуп саналат. Аны жолдун чыныгы бюджетинин бир аз төмөнүнө коюңуз, эки учагы макул болушу үчүн серверден да ошол эле маанини жөнөтүңүз, жана чоң жүктөөнү кайра сынаңыз. Эгер токтоп калуу жоголсо, маселе TCP сегментинин өлчөмүндө болгон, жана башка эч нерсени өзгөртүүнүн кереги жок.
Таасир эткен трафик TCP эмес болсо, ички MTU'ну азайтыңыз. UDP кызматы, туннелдин ичиндеги туннел же толук өлчөмдөгү датаграммаларды жөнөткөн колдонмо MSS чектөөсүнөн кийин да ийгиликсиз боло берет, анткени анын пакет өлчөмүн эч нерсе кайра жазбайт. Ошол учур үчүн tun-mtu'ни азайтыңыз, же link-mtu'ни коюп, клиент ички маанини чыгарсын, бирок эч качан экөөнү тең эмес.
Эски фрагментация опциясына кайрылбаңыз. Ал туннелдин ичинде пакеттерди бөлгөн, чыгым кошкон жана жакшы себептер менен эскирген; заманбап OpenVPN жолду так сүрөттөөнү күтөт.
Эмне үчүн кичине сыноолор иштей берет
DNS суроолору, ICMP жаңыртмалары жана TCP кол алышуулары ийгиликсиз болгон өлчөмдөн алда канча төмөн. Ошондуктан туннел ар бир тез текшерүүдө соо көрүнөт, ал эми TLS кол алышуулары жана HTTP жооптору үнсүз ийгиликсиз болот. Ушул айкалыш, иштеген traceroute жана биринчи чоң жоопто токтоп калган браузер, издеш керек белги. Жаңы профилге кайрылганга чейин толук өлчөмдөгү сыноого кайрылыңыз.
Ийгиликсиз болгон трафик менен текшериңиз. Чоң баракты алыңыз, эгер таасир эткен кызмат ошол болсо, толук өлчөмдөгү UDP датаграммасын жөнөтүңүз, жана башка зымдагы экинчи кардардан кайталаңыз. Өлчөнгөн жол MTU'сун жана тандаган мааниңизди жазып алыңыз, антпесе профилге кийинки тийген адам бул санды өзүмчүл деп эсептейт.
IPv6 туннелден өткөндө ички MTU'ну эч качан 1280ден төмөн түшүрбөңүз, анткени бул ар бир IPv6 зымы көтөрүүгө тийиш болгон минимум. Кичирээк MTU жол тууралуу факт, сезим менен жөнгө салынуучу өндүрүмдүүлүк параметри эмес.