Народ, посоветуйте как блокировать миллионы ip адресов в Linux. Некоторое время юзал
ipset, но потом пришлось от него отказаться т.к. при достаточно большом (несколько миллионов) колличестве ip адресов он ведет себя нестабильно:kernel: ipset: page allocation failure. order:0, mode:0x20
kernel: [<c013f243>] __alloc_pages+0x1e4/0x2c9
kernel: [<c0154320>] kmem_getpages+0x36/0x99
kernel: [<c0155045>] cache_grow+0x140/0x152
kernel: [<c01551a0>] cache_alloc_refill+0x149/0x1c0
kernel: [<c01553f8>] kmem_cache_alloc+0x48/0x4c
kernel: [<f8e912dc>] addip+0x149/0x219 [ip_set_iptree]
kernel: [<f8eda9b8>] __ip_set_addip+0x38/0x64 [ip_set]
kernel: [<f8edbbc2>] ip_set_restore+0x101/0x241 [ip_set]
kernel: [<f8edc76c>] ip_set_sockfn_get+0x61c/0x93a [ip_set]
kernel: [<c01ee862>] vsnprintf+0x25b/0x4d6
kernel: [<c02f5c75>] nf_sockopt+0x98/0xfc
kernel: [<c02f5d27>] nf_getsockopt+0x23/0x2c
kernel: [<c03013c6>] ip_getsockopt+0x8d/0xab
kernel: [<c02dfbdc>] sock_common_getsockopt+0x23/0x2f
kernel: [<c02dd560>] sys_getsockopt+0x56/0xa1
kernel: [<c02ddb72>] sys_socketcall+0x212/0x249
kernel: [<c011224e>] do_page_fault+0x0/0x64e
kernel: [<c0102bb2>] syscall_call+0x7/0xb
а потом, через некоторое время, oom-killer начинает грохать процессы один за другим :) Ядро 2.6.20.21, ipset самый последний из svn.
Можно конечно с IP Filter поэкспериментировать..с 2.6.20.21 он не компилиться, т.к. devfs юзает, с другим ядром не стал пробовать, имеет ли смысл ?