LINUX.ORG.RU
решено ФорумAdmin

Arch и nftables

 , , ,


0

1

Решил внимательнее изучить вопрос iptables и nftables в современных реалиях, особенно после комментария в недавней теме - «современный iptables лишь фронтэнд для ядерного nftables». Удивился, что в модном современном молодежном Arch все таки используется модуль iptables

[root]#uname -r
6.8.2-arch2-1

[root]#iptables -V
iptables v1.8.10 (legacy)

[root]#lsmod | grep tables
ip_tables          36834 0
x_tables           39632 1 ip_tables

После чего решил почитать arch wiki, где буквально написано следующее:

Arch Linux comes with two options for managing a firewall, neither of which is enabled automatically. The stock Linux kernel includes the netfilter packet filtering framework which can be managed by either of the following:

  • nftables
  • iptables

Installation

Install the userspace utilities package nftables or the git version nftables-git

А теперь собственно вопрос, если Arch по умолчанию используется iptables (при этом вики утверждает обратное) и вики пишет об установке userspace утилиты, откуда в ядре возьмется nftable или в вики просто упустили этот момент подразумевая, что пользователь осознанный и сам разрулит с модулями ядра?



Последнее исправление: pavel_l (всего исправлений: 2)
lsmod | grep "tables\|nft"
nft_masq               12288  3
nft_ct                 28672  1
nft_reject_ipv4        12288  2
nf_reject_ipv4         12288  1 nft_reject_ipv4
nft_reject             12288  1 nft_reject_ipv4
nft_chain_nat          12288  2
nf_nat                 90112  2 nft_masq,nft_chain_nat
nf_conntrack          233472  3 nf_nat,nft_ct,nft_masq
nf_tables             380928  78 nft_reject_ipv4,nft_ct,nft_masq,nft_chain_nat,nft_reject
libcrc32c              12288  3 nf_conntrack,nf_nat,nf_tables
nfnetlink              20480  2 nf_tables
ip_tables              36864  0
x_tables               65536  1 ip_tables

nftables установлен. Вручную ничего не делал, кроме установки пакета, конечно. Что не так?

neither of which is enabled automatically

Опять же, что не так?

yars068 ★★★★
()
Последнее исправление: yars068 (всего исправлений: 3)
Ответ на: комментарий от yars068

Интересно, а какое ядро? Сейчас на второй системе проверил, та же история:

[dell]$ uname -r
6.9.7-arch1-1
[dell]$ lsmod | grep tables 
ip_tables              36864  1 iptable_filter
x_tables               65536  2 iptable_filter,ip_tables

и даже в списке модулей nftables отсутствует:

[dell netfilter]$ ls -la | grep nf_
-rw-r--r-- 1 root root  2763 июн 28 09:32 nf_defrag_ipv4.ko.zst
-rw-r--r-- 1 root root  2292 июн 28 09:32 nf_dup_ipv4.ko.zst
-rw-r--r-- 1 root root  9186 июн 28 09:32 nf_nat_h323.ko.zst
-rw-r--r-- 1 root root  6400 июн 28 09:32 nf_nat_pptp.ko.zst
-rw-r--r-- 1 root root  3809 июн 28 09:32 nf_nat_snmp_basic.ko.zst
-rw-r--r-- 1 root root  5589 июн 28 09:32 nf_reject_ipv4.ko.zst
-rw-r--r-- 1 root root  2783 июн 28 09:32 nf_socket_ipv4.ko.zst
-rw-r--r-- 1 root root  3646 июн 28 09:32 nf_tproxy_ipv4.ko.zst
pavel_l
() автор топика
Ответ на: комментарий от pavel_l

Ядро у меня это:

uname -r
6.10.2-rt14-arch1-2-rt

А вот у вас ядрышко несколько устаревшее уже, сейчас уже в ходу 6.11.6. Хотя, в свете последних событий, я, пожалуй, не буду ставить свежие ядра.

yars068 ★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)

Удивился, что в модном современном молодежном Arch все таки используется модуль iptables

https://gitlab.archlinux.org/archlinux/packaging/packages/iptables/-/issues/1#note_215957

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

Такое бывает в арче, помню у gpg они тоже замораживали версию на пару лет из-за какого-то бага. Есть ли возражения по поводу такой политики? Лично у меня - нет.

Lrrr ★★★★★
()

Удивился, что в модном современном молодежном Arch все таки используется модуль iptables

Что поставишь ­— то и будет.

откуда в ядре возьмется nftable

Советую изучить различие между загруженными модулями и установленными модулями.

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

Советую изучить различие между загруженными модулями и установленными модулями.

Я специально выше привел листинг директории /usr/lib/modules… вы в нем видите модуль nf-tables? Так что он не только не загружен, но и даже не установлен.

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

Я специально выше привел листинг директории /usr/lib/modules… вы в нем видите модуль nf-tables?

Вижу:

$ curl -fLOJ 'https://archive.archlinux.org/packages/l/linux/linux-6.9.7.arch1-1-x86_64.pkg.tar.zst'

$ tar -taf linux-6.9.7.arch1-1-x86_64.pkg.tar.zst | grep -E 'nf(t?)_' | wc -l
76

$ tar -taf linux-6.9.7.arch1-1-x86_64.pkg.tar.zst | grep -E 'nf_(tables|nat|conntrack)'
usr/lib/modules/6.9.7-arch1-1/kernel/net/bridge/netfilter/nf_conntrack_bridge.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/ipv4/netfilter/nf_nat_h323.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/ipv4/netfilter/nf_nat_pptp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_amanda.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_broadcast.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_ftp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_h323.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_irc.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_netbios_ns.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_netlink.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_pptp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_sane.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_sip.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_snmp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_conntrack_tftp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat_amanda.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat_ftp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat_irc.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat_sip.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_nat_tftp.ko.zst
usr/lib/modules/6.9.7-arch1-1/kernel/net/netfilter/nf_tables.ko.zst

Ты просто смотришь куда-то не туда.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от intelfx

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

Во мне оказалась )) не там посмотрел, модули нашлись. Вроде все понятно сейчас стало, почему только в вики не указали о необходимости замены модулей при выборе nftables. Дописать что ли?

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

почему только в вики не указали о необходимости замены модулей при выборе nftables

Зачем?

Этой необходимости нет, ты её выдумал. Все обсуждаемые ядерные модули (что iptables, что nftables) подгружаются автоматически при первом использовании соответствующей подсистемы. Поэтому в lsmod ты видишь только то, что используется конкретно сейчас.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)