Автор Гілка: ip_conntrack: table full, dropping packet.  (Прочитано 1276 раз)

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Допоможіть розібратися в чому проблема:
виникли такі повідомлення в логах
ip_conntrack: table full, dropping packet.розумію що досягнуто лміт net.ipv4.netfilter.ip_conntrack_max, він у мене був десь 65000 (а може менше , точно не памятаю вже)
Подивися по трафіку на інтерфейсах -- це ніби один з компів  заражений вірусом який генерував трафік на 25 порт до різних смтп ,  відрубав весь цей трафік iptables-ом (-j DROP)..
але на цьому проблема не закінчилася, тепер щоб сервер був доступний по мережі змушений був ще збільшити net.ipv4.netfilter.ip_conntrack_max до 80000 ..!!! і надодачу

# wc -l /proc/net/ip_conntrack
wc: /proc/net/ip_conntrack: No space left on device
341 /proc/net/ip_conntrack

це вже коли net.ipv4.netfilter.ip_conntrack_max=80000 і сервер вже працює нормально з мережею
 # mount -l
/dev/hda1 on / type ext3 (rw,acl,user_xattr) []
Segmentation fault

#strace -o /tmp/log wc -l /proc/net/ip_conntrack
# cat /tmp/log|l
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
mmap2(NULL, 57, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001e000
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=291, ...}) = 0
mmap2(NULL, 291, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001f000
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21499, ...}) = 0
mmap2(NULL, 21499, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40137000
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2456, ...}) = 0
mmap2(NULL, 2456, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4013d000
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4013e000
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178476, ...}) = 0
mmap2(NULL, 178476, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4013f000
close(3)                                = 0
open("/proc/net/ip_conntrack", O_RDONLY|O_LARGEFILE) = 3
read(3, "tcp      6 337679 ESTABLISHED sr"..., 16384) = 1479
read(3, "udp      17 24 src=192.168.10.23"..., 16384) = 3140
read(3, "tcp      6 352414 ESTABLISHED sr"..., 16384) = 2332
read(3, "tcp      6 342066 ESTABLISHED sr"..., 16384) = 2837
read(3, "tcp      6 342498 ESTABLISHED sr"..., 16384) = 3683
read(3, "tcp      6 343558 ESTABLISHED sr"..., 16384) = 3537
read(3, "tcp      6 372858 ESTABLISHED sr"..., 16384) = 1663
read(3, "udp      17 179 src=10.10.10.10 "..., 16384) = 3158
read(3, "tcp      6 378881 ESTABLISHED sr"..., 16384) = 2027
read(3, "udp      17 2 src=192.168.10.23 "..., 16384) = 2187
read(3, "tcp      6 351867 ESTABLISHED sr"..., 16384) = 2828
read(3, "tcp      6 383158 ESTABLISHED sr"..., 16384) = 2186
read(3, "tcp      6 378549 ESTABLISHED sr"..., 16384) = 4018
read(3, "tcp      6 374213 ESTABLISHED sr"..., 16384) = 2652
read(3, "tcp      6 381991 ESTABLISHED sr"..., 16384) = 3867
read(3, "tcp      6 8153 ESTABLISHED src="..., 16384) = 2830
read(3, "tcp      6 343058 ESTABLISHED sr"..., 16384) = 3675
read(3, "udp      17 10 src=192.168.10.23"..., 16384) = 2331
read(3, "tcp      6 8133 ESTABLISHED src="..., 16384) = 2329
read(3, "tcp      6 8124 ESTABLISHED src="..., 16384) = 2675
read(3, "tcp      6 65 TIME_WAIT src=127."..., 16384) = 1493
read(3, 0xbfffb420, 16384)              = -1 ENOSPC (No space left on device)
write(2, "wc: ", 4)                     = 4
write(2, "/proc/net/ip_conntrack", 22)  = 22
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": No space left on device", 25) = 25
write(2, "\n", 1)                       = 1
fstat64(1, {st_mode=S_IFCHR|0622, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4016b000
write(1, "341 /proc/net/ip_conntrack\n", 27) = 27
close(3)                                = 0
munmap(0x4016b000, 4096)                = 0
exit_group(1)                           = ?

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Re: ip_conntrack: table full, dropping packet.
« Відповідей #1 : 2008-04-19 23:40:07 »
wc треба використовувати не таким чином, а ось так:

# cat /proc/net/ip_conntrack | wc -l

Щось мені підказує, що wc чкось не так до /proc звернувся, якрезультат - пошкоджено /proc

Рекомендаціі - перевантажитися, користуватися wc, як зазначено вище.

У /proc усе-таки не звичайні файли....

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Re: ip_conntrack: table full, dropping packet.
« Відповідей #2 : 2008-04-21 16:07:40 »
Цитата
Щось мені підказує, що wc чкось не так до /proc звернувся, якрезультат - пошкоджено /proc
не думаю .. я і так і так пробував  -- результат однаковий ...

та перезавантажився і зникло ...  це зрозуміло ...  але потім знов ж винекне через 1 місяць (у кращому випадку)

при норомальній ситуації :
cat /proc/net/ip_conntrack |wc -l   && wc -l /proc/net/ip_conntrack
2069
2069 /proc/net/ip_conntrack
жодний проблем обома способами