LINUX.ORG.RU

FATAL: Error inserting ip_tables (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_tables.ko): Device or resource busy


0

0

Вот решил файерволл настроить, так ничего не вышло. Захотел посмотреть список правил и вот что получил:

bash-2.05b# iptables --list
FATAL: Error inserting ip_tables (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_tables.ko): Device or resource busy
iptables v1.2.9: can't initialize iptables table `filter': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
bash-2.05b# modprobe ip_tables
FATAL: Error inserting ip_tables (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_tables.ko): Device or resource busy

Как не загруженный модуль может быть занят, да и ещё его файл 8(
Может кто занет что с этим делать. Ядро 2.6.5, iptables 1.2.9.

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

★★★★★

С этим идти на www.netfilter.org и читать, работают ли iptables с этим именно ядром, и если да, то каким образом пропатчить это ядро для поддержки iptables.

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

netfilter and iptables are building blocks of a framework inside the Linux 2.4.x and 2.6.x kernel. This framework enables packet filtering, network addresss [and port] translation...

Это написано на главной странице, т.е. поддержка есть, но более ничего не нашёл.

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

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

Что касается правил - а не проще посмотреть их для начала в файлике, из которого ты их грузишь?

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

Да не фишка в том что я сижу за джентой и правла кажется вооще не настроены, просто хочется убедится что они действительно отсутствовали. Ну а в результатет натолкнулся на неработающий модлуь netfilter'a.

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

Первое: а стартованы ли таблицы?

Задавал ли ты правила вручную или грузил из файла /etc/sysconfig/iptables? Скорее всего нет, т.к. этот файл создается командой iptables-save.

Второе: а кто собирал iptables?

Если дядя, то они вовсе не обязаны работать с этим ядром. Если сам, то внимательно ли ты читал файл INSTALL перед сборкой iptables? Я имею ввиду путь к каталогу сборки ядра.

Более ничего умного сказать не могу, т.к. 2.6 не нюхал пока.

Кстати, а какой смысл ставить сразу новый для тебя дистрибутив + новое ядро + совсем незнакомый софт? Неужели так жить без геммороев скучно? Их обычно и без дополнительных поисков хватает.

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

Фишка уже даже не в правилах, а в том что модуль ip_tales не грузиться.

Фильтр собирал сам, причем внимательно читая реадми , т.е. явно указывая путь к ядру (кстати я сделал линк на /usr/src/linux-2.6.5 ввиде /usr/src/linux а он есть в мэйке фильтра так что страховка двойная).

Тут в одном из форумов предлагают засунуть фильтр в ядро, т.е. не <m> а <*> меня это предложение заинтересовало, но как с точки зрения правильности?!

>Кстати, а какой смысл ставить сразу новый для тебя дистрибутив + новое ядро + совсем незнакомый софт? >Неужели так жить без геммороев скучно? Их обычно и без дополнительных поисков хватает.

Представь скучно :))

А если серьёзно то просто любопытно, да и ктому же всё железо пашет и софт тоже, проблемы только две iptables и fb - всё. А софт я с детского сада сам собираю и никогда никого не просил это сделать, так вот!

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

Видишь ли, если правила не настроены, то и модули не загружены.
У меня свои правила, и модули загружены. Я тебе даже покажу сколько их:
ipt_state 1696 2
ipt_REJECT 5856 1
iptable_filter 2592 1
ip_nat_ftp 4528 0
iptable_nat 20364 2 ip_nat_ftp
ip_conntrack_ftp 71572 1 ip_nat_ftp
ip_tables 16320 4 ipt_state,ipt_REJECT,iptable_filter,iptable_nat

Ты хоть бы руководство почитал...

Что касается "неработающего модуля" - как все собрано у меня:
#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=m
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_MULTIPLE_TABLES is not set
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_TOS is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
# CONFIG_IP_NF_AMANDA is not set
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
# CONFIG_IP_NF_MATCH_LIMIT is not set
# CONFIG_IP_NF_MATCH_IPRANGE is not set
# CONFIG_IP_NF_MATCH_MAC is not set
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
# CONFIG_IP_NF_MATCH_TOS is not set
# CONFIG_IP_NF_MATCH_RECENT is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_DSCP is not set
# CONFIG_IP_NF_MATCH_AH_ESP is not set
# CONFIG_IP_NF_MATCH_LENGTH is not set
# CONFIG_IP_NF_MATCH_TTL is not set
CONFIG_IP_NF_MATCH_TCPMSS=m
# CONFIG_IP_NF_MATCH_HELPER is not set
CONFIG_IP_NF_MATCH_STATE=m
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
# CONFIG_IP_NF_MATCH_OWNER is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=mCONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_SAME is not set
# CONFIG_IP_NF_NAT_LOCAL is not set
# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_MANGLE=m
# CONFIG_IP_NF_TARGET_TOS is not set
# CONFIG_IP_NF_TARGET_ECN is not set
# CONFIG_IP_NF_TARGET_DSCP is not set
CONFIG_IP_NF_TARGET_MARK=m
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
# CONFIG_IP_NF_TARGET_LOG is not set
CONFIG_IP_NF_TARGET_ULOG=m
# CONFIG_IP_NF_TARGET_TCPMSS is not set
CONFIG_IP_NF_ARPTABLES=m
# CONFIG_IP_NF_ARPFILTER is not set
# CONFIG_IP_NF_ARP_MANGLE is not set

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

# CONFIG_IP_NF_TARGET_LOG is not set CONFIG_IP_NF_TARGET_ULOG=m Зачем включать ULOG и выключать LOG? Или вы в базу собираете вывод? Я пробовал для учета траффика, потом отказался. Слишком быстро база пухнет, в день 500 Мб. Недельку провайдера поконтролировал, убедился, что работают честно, да и убрал правила с ULOG. Кроме того, у вас почти все собрано модулями. Это оправданно, если фильтр работает не часто. А если постоянно, то лучше в ядро встремлять.

И где вы научились так форматировать красиво, без лишних концов строки? Или заработало наконец?

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

Дубль два!

Итак, что такое правила - ..., правлильно, ну так вот что бы эти правила работали надо чтобы сответствующие модули были заружены, так - так! Что бы соответствующие модули были загружены надо что бы был звгружен ip_tables, иначе будет куча анрезов.
Т.е. наличие или отсутствие правил это всего лишь загруженные модули для оных (ну соответствующие настроки), но как я уже сказал им надо ip_tables, а без них - хрен тебе чего будет работать. И что же мы имеем, а имеем мы то что наличие или отсутствие правил не критично, если нет модулей. А теперь просотй пример. Ну вот хотя бы взять твои модули, попробуй загрузить любой из них без ip_tables, даже если ты явно не скажешь modprobe ip_tables он будет загружен, так как есть зависимость.

bash-2.05b# modprobe ipt_state
WARNING: Error inserting ip_tables (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_tables.ko): Device or resource busy
WARNING: Error inserting ip_conntrack (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_conntrack.ko): Device or resource busy
FATAL: Error inserting ipt_state (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ipt_state.ko): Unknown symbol in module, or unknown parameter (see dmesg)
bash-2.05b# modprobe ipt_REJECT
WARNING: Error inserting ip_tables (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ip_tables.ko): Device or resource busy
FATAL: Error inserting ipt_REJECT (/lib/modules/2.6.5/kernel/net/ipv4/netfilter/ipt_REJECT.ko): Unknown symbol in module, or unknown parameter (see dmesg)

и.т.д.

Как видишь все они хотят ip_tables. И правила тут совершенно не причём.

А вот мой конфиг, заисключением того что я врубил всё, отличий нет:

#
# Networking support
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m

#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_CLASSIFY=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set

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

Вообщем засунул фильтр в ядро, хоть и больше стало зато работает. Но если что то сможет сказать почему фильтр не работал в модулях буду благодарен.

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

> Вообщем засунул фильтр в ядро, хоть и больше стало зато работает.
> Но если что то сможет сказать почему фильтр не работал в модулях
> буду благодарен.

Однозначно дело в руках :-) Тебе точно надо было CONFIG_IP_ROUTE_NAT включать, и весь advanced router активировать?

[root@localhost dalth]# uname -r
2.6.5
[root@localhost dalth]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@localhost dalth]# iptables -v
iptables v1.2.8: no command specified
Try `iptables -h' or 'iptables --help' for more information.
[root@localhost dalth]# lsmod | grep ip_t
ip_tables 18400 1 iptable_filter

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

А чё! Оно рахве мозоль натирает, а места что на диске что в раме достаточно, так что одним модулем больше меньше, разница незначительная.

P.S. а если у меня такие кривые руки то скажи почему система ругается :)

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

Такое ругательство обычно выскакивает, когда юзер пытается загрузить две конфликтующих подсистемы - например, именно так будет срываться загрузка ip_table если уже загружен ipchains, например :-) А насчет IP_ROUTE_NAT - это могло быть и ни при чем. А могло быть и при чем :-)

А когда ты засунул это дело в ядро, модуль ip_tables начал инициализироваться ПЕРЕД конфликтующей подсистемой... Вот и всех делов. dmesg внимательно посмотри, и попробуй на старом ядре вызвать ipchains и ipfw

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.