pfSense-ը Virtio-ի վրա։ TCP-ն կանգ է առնում, մինչև offload-ը անջատվի
Վիրտուալացված pfSense-ը պատասխանում է ping-ին, ապա կանգ է առնում մեծ TCP-ի վրա։ Անջատեք virtio-ի ստուգիչ գումարի offload ուղին և չափեք ծախսը՝ ցանցային քարտը փոխելու փոխարեն։
Հաճախորդը հայտնում է, որ թունելը միանում է, ping-ը պատասխանում է, մուտքի էջը բեռնվում է, ապա փոխանցումը յուրաքանչյուր փորձի ժամանակ սառչում է նույն կետում։ Այդ օրինաչափությունն արդեն շատ բան է ասում՝ հասանելիությունը աշխատում է, իսկ կայուն թողունակությունը՝ ոչ։ Նախքան firewall-ը բացելը՝ պարզեք, թե արդյոք VPN-ն ընդհանրապես մասնակցում է խափանմանը։ Ուղարկեք մեծ TCP նույն դարպասով, առանց թունելի ուղու վրա, և եթե այն նույնպես սառչում է, ապա OpenVPN-ը երբեք ներգրավված չի եղել։
virtio ցանցային քարտ օգտագործող pfSense հյուրընկալն ունի շատ լավ պատճառ ձախողվելու հենց այդ ձևով։
Փոքր փաթեթներն անցնում են, մեծ TCP-ն կախվում է
Ձեռքսեղմումները, DNS պատասխանները և ICMP արձագանքները փոքր են և սովորաբար անցնում են։ Կայուն փոխանցումները ստիպում են հյուրընկալին մասնատել, և հենց այնտեղ է ի հայտ գալիս վնասված offload ուղին։ Խափանումը պարտադիր չէ համաչափ լինի, ելքային հոսքը կարող է մաքուր լինել, մինչ դիմայինը կորչում է, կամ հակառակը, այնպես որ օգտատերը կարող է մուտք գործել և հետո կանգ առնել առաջին մեծ պատասխանի վրա։ Քանի որ նույն հաճախորդը աշխատում է այլ դարպասով, մեղքը դրվում է ամենանոր բաղադրիչի վրա։
Ուստի փորձարկեք դարպասը առանց թունելի։ LAN-ից WAN ներբեռնումը, որը բավական մեծ է մի քանի վայրկյան աշխատելու համար, բավարար է, և այն պետք է կատարվի ցանկացած կարգավորում փոխելուց առաջ, որպեսզի հետագա համեմատությունը իմաստ ունենա։
Ինչ է իրականում խոստանում offload-ը
virtio-ն պարավիրտուալ է՝ հոսթը և հյուրընկալը կիսում են աշխատանքը, հոսթը հայտարարում է ստուգիչ գումարի և մասնատման հնարավորություններ և սպասում, որ հյուրընկալը ավարտի սկսածը։ Եթե հյուրընկալի ստեկը դա չի անում, կադրերը դուրս են գալիս թերի ստուգիչ գումարներով կամ հոսթը դեն է նետում դրանք։ Էմուլացված E1000-ը առաջարկում է ավելի պարզ և դանդաղ մոդել, որտեղ խնդիրը վերանում է առանց pfSense-ում մեկ փոփոխության։ Հնարավորությունների բանակցությունը կատարվում է յուրաքանչյուր սարքի համար, ինչը բացատրում է, թե ինչու մի հյուրընկալ աշխատում է ամիսներ, իսկ նրա վերակառուցված երկվորյակը ձախողվում է առաջին իսկ օրը։
Բանակցված հավաքածուն կախված է հիպերվիզորի տարբերակից և ընտրված ցանցային քարտի մոդելից, ոչ միայն ձեր ներմուծած կոնֆիգուրացիայից։
Մեկ նշատուփը պահպանում է virtio-ն
pfSense-ի ինտերֆեյսում System, ապա Advanced, ապա Networking ուղին պարունակում է նշատուփ՝ «Անջատել ապարատային ստուգիչ գումարի offload-ը» անվամբ։ Այն նշելով՝ հյուրընկալը ստուգիչ գումարները հաշվում է ծրագրային եղանակով, ինչը համապատասխանում է նրան, ինչ pfSense-ի հետևում գտնվող FreeBSD ստեկը սպասում է պարավիրտուալ սարքից։ Նույն էջի երկու հարակից ընտրանքները ծածկում են ապարատային TCP մասնատման offload-ը և ապարատային մեծ ընդունման offload-ը։ Դիմեք դրանց, երբ ձեռքսեղմումները հաջողվում են, իսկ մեծ փոխանցումները՝ ոչ։
Թողեք ցանցային քարտը virtio, մինչ փոփոխությունը կատարում եք։ E1000-ին անցնելը այրում է պրոցեսորը յուրաքանչյուր փաթեթի վրա VM-ի ամբողջ կյանքի ընթացքում և թաքցնում է կոնֆիգուրացիայի խնդիրը նրանից, ով կժառանգի հոսթը, ինչը ավելի վատ փոխանակում է, քան մի փոքր ավելի դանդաղ, բայց կանխատեսելի տվյալների ուղին։
Չափեք հենց նոր ընդունած ծախսը
Ծրագրային ստուգիչ գումարների հաշվարկը աշխատանքը տեղափոխում է հյուրընկալի մեջ, ուստի հետո չափեք թողունակությունը՝ փոխարենը չենթադրելով, որ դա ոչինչ չարժե։ Փոքր VM-ի վրա տուգանքը իրական է, բայց այն տեսանելի և կայուն է, ի տարբերություն լուռ կորստի։ Համեմատեք ինտերֆեյսի սխալների հաշվիչները և հյուրընկալի միջուկի մատյանը նախքան և հետո։ Կամուրջը զտող հիպերվիզորը առանձին խափանում է՝ այլ ապացույցներով, և ոչ մի offload դրոշ չի բուժի այն։
Փոխեք մեկ բան յուրաքանչյուր փորձարկման համար և գրի առեք ընտրացանկի ուղին, նշված վանդակը և չափված թիվը։ Ով կհանդիպի հաջորդ վերակառուցված հյուրընկալին, կուզենա բոլոր երեքը։
BSD-ի վրա հիմնված այլ firewall-ներ առաջարկում են համարժեք կառավարում իրենց ինտերֆեյսի կարգավորումներում, ուստի տրամաբանությունը տեղափոխվում է նաև այն դեպքում, երբ ընտրացանկի ուղին չի տեղափոխվում։