32-битное ядро PAE не решит эту проблему, потому что проблема связана с фрагментацией выделения в пространстве vmalloc. В x86-64 пространство vmalloc очень велико (намного больше, чем физический размер ОЗУ), поэтому вы не попадаете в ситуацию, когда оно достаточно фрагментировано для возникновения ошибок выделения. Однако в 32-разрядном пространстве пространство vmalloc намного-намного меньше - до сотни МБ. Переход на PAE не увеличивает это виртуальное пространство выделения.
Обходной путь для вашей проблемы, если вы хотите остаться в 32-битном режиме, - это изменить ядро так, чтобы iptables выделял из заранее выделенного пространства vmalloc, таким образом, избегая фрагментации, вызванной другими вызывающими для vmalloc (хотя , нет никакой гарантии, что это решит вашу проблему идеально, так как это зависит от профиля того, как iptables выделяет память относительно того, что вы делаете с ним, что неизвестно в рамках этого вопроса).