Virtio-дағы pfSense: offload өшірілмейінше TCP тоқтайды
Виртуалданған pfSense ping-ге жауап береді, содан кейін үлкен TCP-де тоқтайды. Желілік картаны ауыстырудың орнына virtio бақылау қосындысының offload жолын өшіріп, құнын өлшеңіз.
Клиент хабарлайды: туннель қосылады, ping жауап береді, кіру беті жүктеледі, содан кейін тасымал әр әрекетте сол жерде қатып қалады. Бұл үлгі көп нәрсені айтады: қолжетімділік жұмыс істейді, ал тұрақты өткізу қабілеті істемейді. firewall-ды ашпас бұрын VPN-ның бұл ақауға мүлдем қатысы бар-жоғын анықтаңыз. Бірдей шлюз арқылы жолда туннельсіз үлкен TCP жіберіңіз; ол да қатып қалса, OpenVPN ешқашан қатыспаған.
virtio желілік картасын пайдаланатын pfSense қонағының дәл осы пішінде сәтсіздікке ұшырауға өте жақсы себебі бар.
Кіші пакеттер өтеді, үлкен TCP ілінеді
Қол алысулар, DNS жауаптары және ICMP жаңғырықтары кішкентай және әдетте өтеді. Тұрақты тасымалдар қонақты сегменттеуге мәжбүрлейді, және дәл сол жерде зақымдалған offload жолы көрінеді. Ақау симметриялы болуы міндетті емес: шығыс трафигі таза болып, кіріс жоғалуы мүмкін, немесе керісінше, сондықтан пайдаланушы кіре алады да, содан кейін бірінші үлкен жауапта ілініп қалады. Сол клиент басқа шлюз арқылы жұмыс істейтіндіктен, кінә ең жаңа құрамдасқа жүктеледі.
Сондықтан шлюзді туннельсіз сынап көріңіз. Бірнеше секундқа созылатын жеткілікті үлкен LAN-нан WAN-ға жүктеу жетеді, және ол кез келген параметр өзгерісінен бұрын орындалуы керек, сонда кейінгі салыстыру мәнге ие болады.
offload шын мәнінде не уәде етеді
virtio паравиртуалды: хост пен қонақ жұмысты бөліседі, хост бақылау қосындысы мен сегменттеу мүмкіндіктерін жариялайды және қонақ бастағанын аяқтайды деп күтеді. Егер қонақтың стегі мұны істемесе, кадрлар толық емес бақылау қосындыларымен шығады немесе хост оларды тастайды. Эмуляцияланған E1000 неғұрлым қарапайым және баяу модель ұсынады, онда мәселе pfSense-те бірде-бір өзгеріссіз жоғалады. Мүмкіндіктер туралы келіссөз әр құрылғы бойынша жүреді, бұл неге бір қонақ айлар бойы жұмыс істейтінін, ал оның қайта құрастырылған егізі бірінші күні-ақ сәтсіздікке ұшырайтынын түсіндіреді.
Келісілген жиын гипервизор нұсқасына және таңдалған желілік карта үлгісіне байланысты, тек сіз импорттаған конфигурацияға ғана емес.
Бір белгі құсбелгісі virtio-ны сақтайды
pfSense интерфейсінде Жүйе, содан кейін Кеңейтілген, содан кейін Желі жолында Аппараттық бақылау қосындысының offload-ын өшіру деп аталатын белгі құсбелгісі бар. Оны белгілеу қонаққа бақылау қосындыларын бағдарламалық жолмен есептеуге мәжбүр етеді, бұл pfSense артындағы FreeBSD стегі паравиртуалды құрылғыдан күтетінге сәйкес келеді. Сол беттегі екі байланысты параметр аппараттық TCP сегменттеу offload-ын және аппараттық үлкен қабылдау offload-ын қамтиды. Қол алысулар сәтті болып, үлкен тасымалдар болмағанда соларға жүгініңіз.
Өзгеріс жасаған кезде желілік картаны virtio күйінде қалдырыңыз. E1000-ге көшу VM-нің бүкіл өмірінде әр пакетте процессорды жағады және конфигурация мәселесін хостты мұраға алатын кез келген адамнан жасырады, бұл сәл баяу, бірақ болжамды деректер жолынан да нашар айырбас.
Жаңа ғана қабылдаған құнды өлшеңіз
Бағдарламалық бақылау қосындылары жұмысты қонаққа көшіреді, сондықтан ештеңе тұрмайды деп болжаудың орнына кейін өткізу қабілетін өлшеңіз. Кіші VM-де айыппұл нақты, бірақ ол көрінеді және тұрақты, үнсіз жоғалтудан айырмашылығы. Интерфейс қателерінің санағыштарын және қонақтың ядро журналын бұрын және кейін салыстырыңыз. Көпірді сүзетін гипервизор басқа дәлелдері бар жеке ақау, және ешбір offload жалаушасы оны емдемейді.
Әр сынақта бір нәрсені өзгертіп, мәзір жолын, белгіленген ұяшықты және өлшенген санды жазып алыңыз. Келесі қайта құрастырылған қонаққа тап болатын адам үшеуін де қалайды.
BSD негізіндегі басқа firewall-дар өз интерфейс параметрлерінде баламалы басқаруды ұсынады, сондықтан пайымдау мәзір жолы болмаса да қолданылады.