iptables, не установленный на песнях

Если машина не имеет iptables установленным, там все еще выполнение брандмауэра?

Если да, как я отключаю / правила изменения?

если я ввожу команду iptables Я получаю ответ:

iptables v1.4.7: no command specified

[root@ruad1 ~]# iptables -L
FATAL: Module ip_tables not found.
iptables v1.4.7: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.

Я искал, но вся документация относительно брандмауэров для песней, кажется, относится к iptables.

Если я делаю IP список маршрутов, кажется, существует много правил?

Править: Ответьте на вопросы в комментариях:

вывод ls -alL /sbin/iptables

-rwxr-xr-x 1 root root 54200 Nov 23 2013 /sbin/iptables 

Я получаю следующее, когда я делаю перезапуск iptables

перезапуск iptables производится

версия ядра:

2.6.32-5-vserver-amd64

содержание/lib/modules/2.6.32-5-vserver-amd64

/lib/modules/2.6.32-5-vserver-amd64

Любая команда, которую я даю с iptables (перезапуск, остановиться..) все получают ту же ошибку, как вставляется выше.

/sbin/iptables output:

iptables v1.4.7: can't initialize iptables table `filter': Permission denied (you must be root)

Perhaps iptables or your kernel needs to be upgraded.

вывод touch /tmp/foo; ls -la /tmp/foo

-rw-r--r-- 1 root root 0 Jun 27 16:51 /tmp/foo
0
задан 27 June 2014 в 15:51
4 ответа

Похоже, что машина работает в виртуализированной среде, или более конкретно: в виртуализированной среде на уровне операционной системы , такой как LXC, OpenVZ или Virtuozzo. Версия ядра (2.6.32-5-vserver-amd64) выдает это.

В такой среде ядро разделяется между хостом и гостевой системой, и не все API ядра доступны в ВМ. Думаю, именно по этой причине при вызове iptables возникает ошибка разрешения.

Когда вы узнаете, в какой среде запущена ваша машина, вы сможете найти решение в интернете:

Но вам, возможно, придется связаться с администратором хост-системы, чтобы внести необходимые изменения.

.
2
ответ дан 4 December 2019 в 12:31

Во-первых, попробуйте эту команду :

iptables -t nat -L

А также проверьте загруженный список модулей для iptables, возможно, модуль отсутствует.

cat /proc/net/ip_tables_matches

Проверьте правила в /etc/sysconfig/iptables на наличие подозрительных записей или символов пробела.

Во-вторых, попробуйте это:

$ sudo grep -R "options nf_conntrack ip_conntrack_disable_ve0=1" /etc/modprobe.d/

and replace the "1" with "0":

options nf_conntrack ip_conntrack_disable_ve0=0

перезагрузите систему

.
2
ответ дан 4 December 2019 в 12:31

Может, это просто проблема ПАТХ. Попробуйте поместить /sbin вместо /bin в определение PATH.

Edit: ah, ok, теперь ты говоришь, что это Debian. Неважно.

-1
ответ дан 4 December 2019 в 12:31

Обычно функция iptables должна быть включена в базовую установку CentOS 6 (w/ minimum network), в то время как она активна или не активна в зависимости от модулей (ip_tables и iptable_filter) загружены или не загружены.

Для включения/выключения iptables можно использовать служебную команду. (service iptables start/stop/restart, как указано в TBI infotech.)

С заданными логами - "Ошибка: Модуль ip_tables не найден", я выгляжу так, как будто ваш модуль ip_tables не существует или куда-то перемещен.

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

  1. modinfo ip_tables (если не удалось, это означает, что вы не можете найти файл целевого модуля в вашем операционном ядре. )

  2. ищите запущенную версию ядра (uname -r), а путь к модулю ядра должен быть в папке "/lib/modules/uname -r/".

  3. Обычно файл "ip_tables.ko" должен быть в пути "/lib/modules/uname -r/kernel/net/ipv4/netfilter/". В противном случае ваш сервис iptables не будет работать.

0
ответ дан 4 December 2019 в 12:31

Теги

Похожие вопросы