LINUX.ORG.RU
ФорумAdmin

conntrack не работает: Operation failed: Operation not supported

 ,


0

1

У меня «conntrack -L» выдаёт сообщение:

conntrack v1.4.4 (conntrack-tools): Operation failed: Operation not supported

Собирал «emerge conntrack-tools», ядро «4.5.0-pf4», система x64. Нужные conntrack'у и его зависимостям параметры в ядре включил, систему с пересобранным ядром перезагрузил.

В чём может быть проблема? Как диагностировать ошибку?

Такая же ошибка на любую комбинацию опций. Вот только «conntrack -E», работает, выдаёт подключившиеся соединения.

conntrack должен выдавать содержимое /proc/net/ip_conntrack , ну так оно у меня есть:

# head -n 3 /proc/net/ip_conntrack
tcp      6 2 TIME_WAIT src=10.10.0.2 dst=178.248.233.6 sport=43090 dport=443 src=178.248.233.6 dst=10.10.0.2 sport=443 dport=43090 [ASSURED] use=2
tcp      6 431944 ESTABLISHED src=192.168.10.2 dst=106.187.97.82 sport=40686 dport=5222 src=106.187.97.82 dst=192.168.10.2 sport=5222 dport=40686 [ASSURED] use=2
tcp      6 299 ESTABLISHED src=127.0.0.1 dst=127.0.0.1 sport=44446 dport=40002 src=127.0.0.1 dst=127.0.0.1 sport=40002 dport=44446 [ASSURED] use=2

В чём может быть дело? Как обнаружить, на чём он спотыкается, где у него проблема?

Ответ на: комментарий от vel

возможно нет модуля nf_conntrack_netlink

В конфиге ядра установлено «CONFIG_NF_CT_NETLINK=y», т.е. nf_conntrack_netlink вкомпилён в ядро; вроде как должен работать (ну и понятно, что в выводе lsmod его нету).

Как можно проверить, что этот модуль работает?

malphunction
() автор топика
Ответ на: комментарий от malphunction

Вроде он есть в системе:

% ls /proc/sys/net/netfilter/nf_conntrack_* -1
/proc/sys/net/netfilter/nf_conntrack_acct
/proc/sys/net/netfilter/nf_conntrack_buckets
/proc/sys/net/netfilter/nf_conntrack_checksum
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_events
/proc/sys/net/netfilter/nf_conntrack_expect_max
/proc/sys/net/netfilter/nf_conntrack_generic_timeout
/proc/sys/net/netfilter/nf_conntrack_helper
/proc/sys/net/netfilter/nf_conntrack_icmp_timeout
/proc/sys/net/netfilter/nf_conntrack_log_invalid
/proc/sys/net/netfilter/nf_conntrack_max
/proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal
/proc/sys/net/netfilter/nf_conntrack_tcp_loose
/proc/sys/net/netfilter/nf_conntrack_tcp_max_retrans
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_fin_wait
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_last_ack
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_max_retrans
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_recv
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_sent
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait
/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_unacknowledged
/proc/sys/net/netfilter/nf_conntrack_udp_timeout
/proc/sys/net/netfilter/nf_conntrack_udp_timeout_stream
malphunction
() автор топика
Ответ на: комментарий от malphunction

Operation failed: Operation not supported

ну так сделай «strace conntrack -L» и посмотри где иименно оно не суппорт

vel ★★★★★
()
Ответ на: комментарий от vel

Пока увидел такое: http://bpaste.net/show/090b6359db6e

socket(PF_NETLINK, SOCK_RAW, NETLINK_NETFILTER) = 3
getsockname(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 0
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=1247, groups=00000000}, [12]) = 0
bind(3, {sa_family=AF_NETLINK, pid=1247, groups=00000000}, 12) = 0
sendto(3, "$\0\0\0\1\1\1\3\26X\rX\0\0\0\0\2\0\0\0\10\0\10\0\0\0\0\0\10\0\25\0"..., 36, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 36
recvfrom(3, "8\0\0\0\2\0\0\0\26X\rX\337\4\0\0\241\377\377\377$\0\0\0\1\1\1\3\26X\rX"..., 8192, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 56
close(3)                                = 0
write(2, "conntrack v1.4.4 (conntrack-tool"..., 36conntrack v1.4.4 (conntrack-tools): ) = 36
write(2, "Operation failed: Operation not "..., 41Operation failed: Operation not supported) = 41
write(2, "\n", 1

Судя по документации, conntrack обращается к какому-то модулю, а тот присылает ошибку. Полезу в код разбираться...

malphunction
() автор топика
Ответ на: комментарий от malphunction

а вот это странно. Похоже какая-то беда с libnetfilter_conntrack - она говорит ENOTSUP если не может разобрать сообщение.

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.