Попытка настроить iptables на Slackware 10

364
Philipp

Я пытаюсь настроить iptablesна компьютере Slackware 10. Эта версия Slackware требуется для моего класса, поэтому я не могу ее обновить. После компиляции я хочу настроить iptables- однако он не принимает никаких команд:

> iptables -P INPUT ACCEPT  iptables v1.3.5: can't initialize iptables table `filter': iptables  who? (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. 
  • Почему iptables не принимает никаких настроек?

Подробнее о моей системе:

  • uname -r: 2.6.15.4
  • iptables --version: iptables v1.3.5
  • cat /etc/slackware-version: Slackware 10.2.0
0
Вам серьезно нужно обновить. Текущая версия Iptables - 1.4.21. Если вы хотите испугаться того, сколько лет этому, посетите netfilter.org. Ваше ядро ​​также очень старое и нуждается в обновлении. cybernard 9 лет назад 0
Я хотел бы обновить систему - к сожалению, я должен использовать эту систему, поскольку она содержит некоторые уязвимости, которые мы используем для последующих упражнений по безопасности. Philipp 9 лет назад 0
Я установил эту версию `iptables`, так как она была * самой новой * для моего ядра. Philipp 9 лет назад 0
Попробуйте ** modprobe ip_tables ** или, возможно, iptables или ** insmod ip_tables ** или iptables. cybernard 9 лет назад 0
В зависимости от того, что вы делаете, вам может понадобиться загрузить некоторые или все эти модули. ipt_MASQUERADE xt_multiport iptable_raw ip_set_bitmap_ipmac ip_set_hash_net ip_set nfnetlink iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_s_intable cybernard 9 лет назад 0
Я пробовал `modprobe iptables`,` modprobe ip_tables`, `insmod iptables` и` insmod ip_tables` - все это привело к * FATAL: модуль iptables не найден. * И * insmod: не может прочитать 'iptables': каталог * , Однако я могу найти его с помощью `which iptables`: * / usr / local / sbin / iptables * Philipp 9 лет назад 0
/ Библиотека / модули // kernel / net / netfilter Затем modprobe или insmod те, которые ближе всего к iptables, или все они, если вы не можете понять, какой это. cybernard 9 лет назад 0
В * / lib / modules / 2.6.15.4 / kernel / * находятся только папки * drivers * и * lib *. В подпапке * drivers * я обнаружил * net *, содержащий только файл с именем * s2io.ko *. Philipp 9 лет назад 0
find / lib / modules -iname "netfilter" cybernard 9 лет назад 0
Я не смог найти что-то в * / lib / modules * - но при поиске в / я нашел этот список: `pwd` => /` find -iname "netfilter" `./usr/src/linux-2.6.15.4/net / ipv4 / netfilter ./usr/src/linux-2.6.15.4/net/ipv6/netfilter ./usr/src/linux-2.6.15.4/net/netfilter ./usr/src/linux-2.6.15.4/net/ bridge / netfilter ./usr/src/linux-2.6.15.4/net/decnet/netfilter ./usr/src/linux-2.6.15.4/include/net/netfilter ./usr/src/linux-2.6.15.4/include / linux / netfilter ./root/ftp/iptables/iptables-1.4.1-rc2/include/linux/netfilter ./root/ftp/iptables/iptables-1.4.1-rc3/include/linux/netfilter Philipp 9 лет назад 0
Затем вам придется перекомпилировать ядро, чтобы добавить поддержку netfilter. cd /usr/src/linux-2.6.15.4/ make menuconfig ** Параметры сети ** затем ** Структура фильтрации сетевых пакетов (netfilter) ** и ** IP: конфигурация Netfilter **. Нажмите M, чтобы загрузить как модули или *, чтобы встроить его в ядро. Делать все подпункты. Выйти сохраняя изменения. make -j 3 && make -j 3 модуля && make -j 3 modules_install && make -j 3 install cybernard 9 лет назад 0

1 ответ на вопрос

1
cybernard

Поддержка iptables / netfilter не встроена в ваше ядро, поэтому вам нужно перекомпилировать ядро. Вам понадобится установить gcc и несколько других вещей, чтобы собрать ядро.

cd /usr/src/linux-2.6.15.4/

make menuconfig Networking options Network packet filtering framework (netfilter) IP: Netfilter configuration.  

Нажмите M, чтобы загрузить как модули или *, чтобы встроить его в ядро. M означает, что вам придется все проверять и * встраивать, так что вам не нужно.

Делать все подпункты. Выйти сохраняя изменения.

make -j 3 && make -j 3 модуля && make -j 3 modules_install && make -j 3 install (это может занять несколько часов)

перезагружать.

Если вы использовали M, то modprobe модули, в противном случае, если вы используете *, просто выполните вашу оригинальную команду.