Windows L2TP адкрывае некаторыя сайты: ачысціце біт DF на pfSense
Кліент L2TP, які адкрывае інтрасетку, але завісае на некаторых публічных сайтах, мае праблему з MTU. Ачысціце біт DF або абмяжуйце MSS, затым пацвердзіце захопам.
Ноўтбук падключаецца, інтрасетка адкрываецца, а некалькі публічных сайтаў завісаюць. Аўтэнтыфікацыя і маршрутызацыя відавочна працуюць, і гэта пакідае памер пакета як тлумачэнне. У тунелі L2TP/IPsec даступны MTU меншы за той, які адаптар усё яшчэ абвяшчае, і кліент працягвае адпраўляць пакеты поўнага памеру з усталяваным бітам «не фрагментаваць». Шлюзу pfSense можна загадаць ачысціць гэты біт, і гэта самы хуткі спосаб пацвердзіць дыягназ перад належным выпраўленнем.
Пачніце са старонак, якія не адкрываюцца
Запішыце, якія пункты прызначэння не працуюць, а якія працуюць, перш чым кранаць якія-небудзь налады. Рукапацісканні, што застаюцца ніжэй за мяжу тунелю, завяршаюцца нармальна, а перадачы, якім патрэбен сегмент поўнага памеру, спыняюцца на паўдарозе. Гэтае раздзяленне — подпіс праблемы памеру, а не фільтра, бо заблакаваны пункт прызначэння збаўляе на ўсталяванні злучэння, а не ў сярэдзіне старонкі. Абодва назіранні нічога не каштуюць і адразу звужаюць пошук.
Праверце пінгам, які ўсталёўвае біт і кантралюе памер карыснай нагрузкі. Найбольшая нагрузка, што выжывае, паведамляе рэальны MTU шляху, а абвешчанае значэнне адаптара паказвае, наколькі яны розныя.
Запішыце абодва лікі. Выпраўленне залежыць ад таго, які з іх няправільны, і менавіта пару пазней пацвердзіць захоп.
Што робіць біт DF на выхадзе
Прычына розніцы лікаў — інкапсуляцыя. IPsec дадае ESP, L2TP дадае яшчэ адзін загаловак, і таму тунель нясе менш нагрузкі, чым фізічнае злучэнне. Windows па-ранейшаму паведамляе 1500 байт на адаптары і ўсталёўвае «не фрагментаваць» на тое, што адпраўляе. Калі такі пакет не змяшчаецца, правільны адказ ад шлюза — паведамленне ICMP з просьбай да адпраўніка паменшыць. Таму тунель, які прапускае малыя пінгі, усё яшчэ можа праваліць спампоўку файла.
Гэтае паведамленне часта не прыходзіць зусім. Які-небудзь хоп можа адфільтраваць ICMP, або нішто яго не стварае, і адпраўнік паўтарае той жа памер, пакуль перадача не здасца.
Тут цішыня — звычайная з'ява, таму сімптом чытаецца як выбарачная блакіроўка. Нішто ў журнале кліента не фіксуе адсутнае паведамленне ICMP.
Опцыя pfSense і тое, чаго яна не робіць
Опцыя знаходзіцца на старонцы «Сістэма, Дадаткова, Firewall і NAT» з подпісам «Ачысціць несапраўдныя біты DF замест скіду пакетаў». Замест таго каб адкідаць завялікі пакет з сцягам, фільтр здымае сцяг і дазваляе пакету дзяліцца далей. Пакет лічыцца несапраўдным, калі не можа перасекчы выходны інтэрфейс адным кавалкам.
Опцыя аднаўляе злучэнне, не кранаючы кліента, таму яна папулярная. Яна таксама абыход: фрагментацыя каштуе CPU і робіць кожны страчаны фрагмент даражэйшым.
Яна датычыцца толькі перададзенага трафіку, а не трафіку, які стварае сам міжсеткавы экран. Тая ж старонка прапануе «Адключыць чыстку міжсеткавага экрана», што цалкам выключае нармалізацыю, і гэта значна шырэйшая змена, чым патрэбна гэтай праблеме.
Вузкае выпраўленне, якое пакідае TCP нефрагментаваным
Амаль усе заглухлыя патокі — TCP, а TCP можа дамовіцца пра меншы сегмент замест таго, каб спадзявацца на фрагментацыю. Абмежаванне MSS на інтэрфейсе тунеля перапісвае абвешчанае значэнне падчас рукапаціскання, таму кожны бок адпраўляе тое, што сапраўды змяшчаецца. Затым шлях паводзіць сябе прадказальна, і ніводзін пакет не трэба дзяліць.
Гэта пакідае UDP для выяўлення або для опцыі DF. Калі збойныя сайты — звычайныя вэб-старонкі, абмежаванне — гэта змена, якой варта аддаць перавагу.
Кліент можа паведаміць уласны MTU адаптара праз netsh interface ipv4 show subinterfaces. Параўнайце гэтую лічбу з тым, што сервер лічыць дамоўленым, бо яны не заўсёды супадаюць. Менавіта гэта значэнне аперацыйная сістэма фактычна выкарыстае, што б ні паведамілі перамовы.
Пацвердзіце захопам, затым скідзьце стан
Зрабіце захоп з абодвух бакоў перад рашэннем: адзін след там, дзе ідзе тунель, другі — дзе працуе інтэрфейс WAN. Пакеты, што сыходзяць поўным памерам без адказу ICMP, паказваюць на абмежаванне як правільны ўзровень. Адказы, якія прыходзяць і потым гінуць на зваротным шляху, паказваюць замест гэтага на MTU тунеля.
Ачысціце табліцу станаў перад паўторнай спробай, бо існыя патокі захоўваюць старыя памеры сегментаў. Затым загрузіце старонку, якая не адкрылася, і прачытайце прадстаўленне станаў для двухбаковага трафіку, а не аднабаковых лічыльнікаў. Калі яна ўсё яшчэ завісае, зрабіце захоп яшчэ раз замест спробы іншага сцяжка.