Назад | Перейти на главную страницу

Iptables не соответствует цепочке с xtables-addons GeoIP

У меня странная проблема с xtables-addons, в частности с модулем xt_geoip.

Я использую Ubuntu 18.04.3 LTS x64 4.15.0-1051 со всеми обновленными пакетами,

Я установил следующие пакеты: xtables-addons-common pkg-config xtables-addons-source libnet-cidr-lite-perl libtext-csv-xs-perl

И скомпилировал xtables-addons-3.5 (последняя версия).

Процесс создания базы данных GeoIP с помощью xt_geoip_dl и xt_geoip_build работает, и я вижу модуль xt_geoip, загруженный в ядро ​​(lsmod), и geoip, загруженный в iptables (cat / proc / net / ip_tables_matches).

Моя конфигурация iptables проста: она предназначена для ЗАПИСИ и БРОСА всех попыток подключения из страны, не внесенной в белый список, в конкретную:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3607180:3023592144]
:GEOIP - [0:0]
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -d 10.0.0.0/8 -j ACCEPT
-A INPUT -d 172.16.0.0/12 -j ACCEPT
-A INPUT -d 192.168.0.0/16 -j ACCEPT
-A INPUT -i eth0 -m geoip ! --source-country IT,IE,GB  -j GEOIP
-A OUTPUT -o lo -j ACCEPT
-A GEOIP -m limit --limit 2/min -j LOG --log-prefix "GEOIP-Dropped: "
-A GEOIP -j DROP
COMMIT

Проблема в том, что цепочка GEOIP никогда не получает попаданий, фактически количество пакетов равно нулю:

# iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source    destination
4884K 3949M ACCEPT     all  --  *      *       0.0.0.0/0   0.0.0.0/0            state ESTABLISHED
30094 2417K ACCEPT     all  --  lo     *       0.0.0.0/0   0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0   10.0.0.0/8
   41 23221 ACCEPT     all  --  *      *       0.0.0.0/0   172.16.0.0/12
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0   192.168.0.0/16
    0     0 GEOIP      all  --  eth0   *       0.0.0.0/0   0.0.0.0/0            -m geoip ! --source-country IT,IE,GB

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source    destination

Chain OUTPUT (policy ACCEPT 3609K packets, 3025M bytes)
 pkts bytes target     prot opt in     out     source    destination
 517K  810M ACCEPT     all  --  *      lo      0.0.0.0/0   0.0.0.0/0

Chain GEOIP (1 references)
 pkts bytes target     prot opt in     out     source    destination
    0     0 LOG        all  --  *      *       0.0.0.0/0   0.0.0.0/0 limit: avg 2/min burst 5 LOG flags 0 level 4  prefix "GEOIP-Dropped: "
    0     0 DROP       all  --  *      *       0.0.0.0/0   0.0.0.0/0

Если я пытаюсь подключиться с IP-адреса в другой стране, соединение не разрывается.

Перед последним обновлением ядра я использовал версию 4.15.0-1043, а скомпилированная версия xtables-addons была 3.3, и весь процесс GEOIP работал гладко.

Странно только то, что я увидел в /var/log/kern.log следующее:

xt_geoip: loading out-of-tree module taints kernel.
xt_geoip: module verification failed: signature and/or required key missing - tainting kernel

Поскольку модуль ядра загружен, это кажется только предупреждением.

Может кто-нибудь помочь мне с этим? большое спасибо

Неважно, после компиляции xtables-addon потребовалась перезагрузка сервера.