ошибка iptables в расширениях использования - PullRequest
1 голос
/ 12 марта 2012

Я борюсь с этой функцией iptable:

iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT

Она не работает, я также искал в документации по netfilter и OpernWRT, но я не нашел никакой помощи от них, я ловлю эту ошибкусообщение:

iptables v1.4.6: Couldn't load match `socket':File not found

Есть предложения?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Файл не найден? У вас не установлен libxt_socket.so в каталоге плагинов. Учитывая, что это OpenWRT, где расширения разбиты на множество пакетов уровня дистрибутива, есть вероятность, что вы не установили пакет ipkg / opkg, содержащий расширения сокетов.

Редактировать: Это не имеет никакого отношения к конфигурации ядра. Если модуль ядра отсутствует, ошибка будет:

iptables: No chain/target/match by that name.
0 голосов
/ 16 марта 2012

Пожалуйста, попробуйте включить опцию NETFILTER_XT_MATCH_SOCKET в конфигурации ядра,

config NETFILTER_XT_MATCH_SOCKET

    tristate '"socket" match support (EXPERIMENTAL)'
    depends on EXPERIMENTAL
    depends on NETFILTER_TPROXY
    depends on NETFILTER_XTABLES
    depends on NETFILTER_ADVANCED
    depends on !NF_CONNTRACK || NF_CONNTRACK
    select NF_DEFRAG_IPV4
    help
      This option adds a `socket' match, which can be used to match
      packets for which a TCP or UDP socket lookup finds a valid socket.
      It can be used in combination with the MARK target and policy
      routing to implement full featured non-locally bound sockets.

      To compile it as a module, choose M here.  If unsure, say N.
...