Virtio ustidagi pfSense: offload o’chirilmaguncha TCP to’xtaydi
Virtuallashtirilgan pfSense ping’ga javob beradi va keyin katta TCP’da to’xtaydi. NIC’ni almashtirish o’rniga virtio nazorat summasi offload yo’lini o’chiring va xarajatni o’lchang.
Bir mijoz tunnel ulanadi, ping javob beradi, kirish sahifasi yuklanadi, so’ngra har bir urinishda uzatish ayni nuqtada muzlab qolishini aytadi. Bu naqsh ko’p narsani aytadi: yetib borish ishlaydi, barqaror o’tkazuvchanlik esa ishlamaydi. Firewall’ni ochishdan oldin VPN bu nosozlikda umuman ishtirok etadimi-yo’qmi aniqlang. Katta TCP’ni yo’lda tunnel bo’lmagan holda o’sha shlyuz orqali o’tkazing; u ham muzlab qolsa, OpenVPN hech qachon ishtirok etmagan.
virtio tarmoq kartasidan foydalanadigan pfSense mehmoni aynan shu shaklda muvaffaqiyatsiz bo’lishi uchun juda yaxshi sababga ega.
Kichik paketlar o’tadi, katta TCP osilib qoladi
Qo’l berib ko’rishishlar, DNS javoblari va ICMP aks-sadalari kichik va odatda o’tadi. Barqaror uzatishlar mehmonni segmentlarga bo’lishga majbur qiladi va aynan o’sha yerda shikastlangan offload yo’li namoyon bo’ladi. Nosozlik simmetrik bo’lishi shart emas: chiquvchi trafik toza bo’lib, kiruvchi yo’qolishi mumkin yoki aksincha, shuning uchun foydalanuvchi kirishi va keyin birinchi katta javobda to’xtab qolishi mumkin. Xuddi shu mijoz boshqa shlyuz orqali ishlagani uchun ayb eng yangi komponentga yuklanadi.
Shuning uchun shlyuzni tunnelsiz sinab ko’ring. Bir necha soniya ishlay oladigan darajada katta LAN’dan WAN’ga yuklab olish yetarli, va u har qanday sozlama o’zgarishidan oldin bajarilishi kerak, shunda keyingi taqqoslash mazmunga ega bo’ladi.
offload aslida nimani va’da qiladi
virtio paravirtual: xost va mehmon ishni bo’lishadi, xost nazorat summasi va segmentlash imkoniyatlarini e’lon qiladi va mehmon boshlagan ishni tugatishini kutadi. Agar mehmon stegi buni qilmasa, kadrlar to’liq bo’lmagan nazorat summalari bilan chiqadi yoki xost ularni tashlaydi. Emulyatsiya qilingan E1000 soddaroq va sekinroq modelni taklif qiladi, unda muammo pfSense’da birorta o’zgarishsiz yo’qoladi. Imkoniyatlar muzokarasi har bir qurilma uchun alohida bo’ladi, bu esa nima uchun bir mehmon oylab ishlab, uning qayta qurilgan egizagi birinchi kundanoq muvaffaqiyatsiz bo’lishini tushuntiradi.
Kelishilgan to’plam gipervayzer versiyasi va tanlangan tarmoq kartasi modeliga bog’liq, faqat siz import qilgan konfiguratsiyaga emas.
Bitta belgilash katakchasi virtio’ni saqlaydi
pfSense interfeysida Tizim, so’ngra Kengaytirilgan, so’ngra Tarmoq yo’lida Aparat nazorat summasi offload’ini o’chirish nomli belgilash katakchasi bor. Uni belgilash mehmon nazorat summalarini dasturiy ta’minotda hisoblashiga olib keladi, bu pfSense ortidagi FreeBSD stegi paravirtual qurilmadan kutganiga mos keladi. Xuddi shu sahifadagi ikkita bog’liq variant apparat TCP segmentlash offload’ini va apparat katta qabul qilish offload’ini qamrab oladi. Qo’l berib ko’rishishlar muvaffaqiyatli bo’lib, katta uzatishlar bo’lmaganda ularga murojaat qiling.
O’zgarishni amalga oshirayotganda tarmoq kartasini virtio holida qoldiring. E1000’ga o’tish VM’ning butun umri davomida har bir paketda protsessorni yoqadi va konfiguratsiya muammosini xostni meros olgan har kimdan yashiradi, bu esa biroz sekinroq, ammo oldindan aytib bo’ladigan ma’lumot yo’lidan yomonroq almashinuv.
Hozir qabul qilgan xarajatni o’lchang
Dasturiy nazorat summasi ishni mehmonga ko’chiradi, shuning uchun hech qanday xarajat yo’q deb taxmin qilish o’rniga keyin o’tkazuvchanlikni o’lchang. Kichik VM’da jazo haqiqiy, lekin jim yo’qotishdan farqli o’laroq ko’rinadi va barqaror. O’zgarishdan oldin va keyin interfeys xato hisoblagichlari va mehmon yadro jurnalini taqqoslang. Ko’prikni filtrlaydigan gipervayzer boshqa dalillarga ega alohida nosozlik, va hech qanday offload bayrog’i uni davolamaydi.
Har bir sinovda bitta narsani o’zgartiring va menyu yo’lini, belgilangan katakchani va o’lchangan sonni yozib oling. Keyingi qayta qurilgan mehmonga duch keladigan kishi uchtasini ham xohlaydi.
BSD asosidagi boshqa firewall’lar o’z interfeys sozlamalarida teng boshqaruvni taklif qiladi, shuning uchun fikr menyu yo’li bo’lmasa ham amal qiladi.