iptables: Brak łańcucha / celu / dopasowania o tej nazwie

0
root@OpenWrt:/man/ipk# iptables -I FORWARD -m string --algo bm --string "instagram" -j DROP
iptables: No chain/target/match by that name.
root@OpenWrt:/man/ipk#

Czy ktoś może zasugerować, dlaczego to nie działa?

Sługus
źródło

Odpowiedzi:

0

Zależy to od tego, czy moduł łańcuchowy netfilter został wkompilowany w jądro, czy jako moduł, czy nie. Kilka lat temu i ze względu na potencjalnie wysokie użycie procesora przez moduł „string”, nie był domyślnie dostępny w jądrach Ubuntu. W ostatnich latach (nie pamiętam, kiedy dokładnie) jest on domyślnie dostępny jako moduł. Sposobem sprawdzenia jądra Ubuntu jest wyszukanie go w module konfiguracji jądra. Przykład:

doug@s17:~$ uname -a
Linux s17 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
doug@s17:~$ grep -i NETFILTER_XT_MATCH_STRING /boot/config-4.15.0-36-generic
CONFIG_NETFILTER_XT_MATCH_STRING=m

Jest więc modułem w moim systemie. Polecenie ładuje się dla mnie dobrze:

doug@s17:~$ sudo iptables -I FORWARD -m string --algo bm --string "instagram" -j DROP
doug@s17:~$ sudo iptables -v -x -n -L
Chain INPUT (policy ACCEPT 210 packets, 15763 bytes)
    pkts      bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "instagram" ALGO name bm TO 65535

Chain OUTPUT (policy ACCEPT 141 packets, 36585 bytes)
    pkts      bytes target     prot opt in     out     source               destination
Doug Smythies
źródło