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

Linux ip6_tables xt_percpu_counter_free (ошибка 0)

Сегодня я хотел установить новый экземпляр сервера с доступным доступом и нашими существующими плейбуками. Базовая система - Debian 9.4.

Не удалось выполнить роль брандмауэра, но я не думаю, что это проблема с ролевой структурой или доступностью.

Возможно, чего-то не хватает.

Представить себя:

$ uname -a
Linux ... 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux

Сначала я проверил статус межсетевого экрана:

$ systemctl status firewall
● firewall.service - Firewall
   Loaded: loaded (/etc/systemd/system/firewall.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-05-16 15:59:55 CEST; 42min ago
  Process: 3758 ExecStart=/etc/firewall.bash (code=exited, status=3)
 Main PID: 3758 (code=exited, status=3)
      CPU: 43ms

May 16 15:59:55 ... firewall.bash[3758]: modprobe: ERROR: could not insert 'ip6_tables': Unknown symbol in module, or unknown 
May 16 15:59:55 ... firewall.bash[3758]: ip6tables v1.6.0: can't initialize ip6tables table `filter': Table does not exist (do
May 16 15:59:55 ... firewall.bash[3758]: Perhaps ip6tables or your kernel needs to be upgraded.
May 16 15:59:55 ... firewall.bash[3758]: modprobe: ERROR: could not insert 'ip6_tables': Unknown symbol in module, or unknown 
May 16 15:59:55 ... firewall.bash[3758]: ip6tables v1.6.0: can't initialize ip6tables table `filter': Table does not exist (do
May 16 15:59:55 ... firewall.bash[3758]: Perhaps ip6tables or your kernel needs to be upgraded.
May 16 15:59:55 ... systemd[1]: firewall.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED
May 16 15:59:55 ... systemd[1]: Failed to start Firewall.
May 16 15:59:55 ... systemd[1]: firewall.service: Unit entered failed state.
May 16 15:59:55 ... systemd[1]: firewall.service: Failed with result 'exit-code'.

После этого я просмотрел загруженные модули ядра:

$ lsmod | grep filter
br_netfilter           24576  0
bridge                135168  1 br_netfilter
iptable_filter         16384  1
ip_tables              24576  3 iptable_mangle,iptable_filter,iptable_nat
x_tables               36864  10 xt_comment,xt_LOG,iptable_mangle,ip_tables,iptable_filter,xt_tcpudp,ipt_MASQUERADE,xt_limit,xt_addrtype,xt_conntrack

Итак, никакого модуля ip6_tables, так как он загружен на других наших серверах. Далее я попытался загрузить модуль:

$ modprobe ip6_tables (or modprobe ip6table_filter)
modprobe: ERROR: could not insert 'ip6_tables': Unknown symbol in module, or unknown parameter (see dmesg)

А теперь соответствующий вывод dmesg:

$ dmesg
...
[ 9606.265051] ip6_tables: Unknown symbol xt_percpu_counter_free (err 0)
[ 9606.265850] ip6_tables: Unknown symbol xt_percpu_counter_alloc (err 0)
...

В / lib / modules / $ (uname -r) / я нашел оба модуля IPv6.

./kernel/net/ipv6/netfilter/ip6_tables.ko
./kernel/net/ipv6/netfilter/ip6table_filter.ko

Если вы его поищете (ip6_tables: Unknown symbol xt_percpu_counter_free (err 0)), вы не найдете много. Пастебин (https://pastebin.com/mu9HX2xq) с выводом dmesg, но без дополнительной информации.

Любые идеи?

Итак, я пошел: https://packages.debian.org/linux-image-4.9.0-6-amd64

Я скачал последний файл с этой страницы:

https://packages.debian.org/stretch/linux-image-4.9.0-6-amd64

называется:

Linux-образ-4.9.0-6-amd64_4.9.88-1 + deb9u1_amd64.deb

И установил:

dpkg -i linux-изображение-4.9.0-6-amd64_4.9.88-1 + deb9u1_amd64.deb

Перезагрузил и все заработало, проблема исчезла.

Так что, думаю, в немного более новой версии это было исправлено.