Если машина не имеет 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
Похоже, что машина работает в виртуализированной среде, или более конкретно: в виртуализированной среде на уровне операционной системы , такой как LXC, OpenVZ или Virtuozzo. Версия ядра (2.6.32-5-vserver-amd64) выдает это.
В такой среде ядро разделяется между хостом и гостевой системой, и не все API ядра доступны в ВМ. Думаю, именно по этой причине при вызове iptables
возникает ошибка разрешения.
Когда вы узнаете, в какой среде запущена ваша машина, вы сможете найти решение в интернете:
Но вам, возможно, придется связаться с администратором хост-системы, чтобы внести необходимые изменения.
.Во-первых, попробуйте эту команду :
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
перезагрузите систему
.Может, это просто проблема ПАТХ. Попробуйте поместить /sbin вместо /bin в определение PATH.
Edit: ah, ok, теперь ты говоришь, что это Debian. Неважно.
Обычно функция iptables должна быть включена в базовую установку CentOS 6 (w/ minimum network), в то время как она активна или не активна в зависимости от модулей (ip_tables и iptable_filter) загружены или не загружены.
Для включения/выключения iptables можно использовать служебную команду. (service iptables start/stop/restart, как указано в TBI infotech.)
С заданными логами - "Ошибка: Модуль ip_tables не найден", я выгляжу так, как будто ваш модуль ip_tables не существует или куда-то перемещен.
Также, возможно, версия вашего ядра не совпадает с библиотекой модулей в вашей системе. Затем, вы можете проверить следующее, чтобы подтвердить
modinfo ip_tables (если не удалось, это означает, что вы не можете найти файл целевого модуля в вашем операционном ядре. )
ищите запущенную версию ядра (uname -r), а путь к модулю ядра должен быть в папке "/lib/modules/uname -r
/".
Обычно файл "ip_tables.ko" должен быть в пути "/lib/modules/uname -r
/kernel/net/ipv4/netfilter/". В противном случае ваш сервис iptables не будет работать.