iptables проблема (Решено)

Ввожу:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

Получаем:

iptables: No chain/target/match by that name.

Проверил ядро, ВСЕ касаемо netfilter включено. Излазил весь интернет, пересобирал ядро и iptables, не помогает. Что я делаю не так?

micbal

micbal написал(а):
Ввожу:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

Получаем:

iptables: No chain/target/match by that name.

Проверил ядро, ВСЕ касаемо netfilter включено. Излазил весь интернет, пересобирал ядро и iptables, не помогает. Что я делаю не так?

Когда получаем? После ввода команды или при проверке правил?
P.S. Покажите

zegrep 'NETFILTER|NF_' /proc/config.gz

Я Gentoo & Funtoo

Сообщение сразу после ввода

Сообщение сразу после ввода команды. Щас обновил ядро до 2.6.30-r4, не помогло.

router micbal # zegrep 'NETFILTER|NF_' /proc/config.gz
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_NETFILTER_ADVANCED is not set
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
# CONFIG_NF_NAT_PPTP is not set
# CONFIG_NF_NAT_H323 is not set
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y

micbal

micbal написал(а):
Ввожу:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

Получаем:

iptables: No chain/target/match by that name.

Проверил ядро, ВСЕ касаемо netfilter включено. Излазил весь интернет, пересобирал ядро и iptables, не помогает. Что я делаю не так?

Попробуй так:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Опять тоже самое. Модулями

Опять тоже самое. Модулями старался не чего не делать, только fuse.

router micbal # iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables: No chain/target/match by that name.
router micbal # lsmod
Module Size Used by
fuse 52752 0

netfilter лучше модулями и

netfilter лучше модулями
и после ввода вышеприведённой команды покажите lsmod
скорее всего не загрузился нужный модуль ядра.

Сегодня попробую пересобрать

Сегодня попробую пересобрать модулями. Только не понял какие пункты из всех. И еще вопрос, а как потом грузить модули, из /etc/modules.autoload.d, или сами загрузятся?

router micbal # lsmod
Module Size Used by
fuse 52752 0

в конфиге ядра включить

в конфиге ядра включить автомаическую загрузку модулей.
всё что касается netfilter собрать модулями
модули будут грузиться автоматом при необходимости (добавлении правила, например)

Дайте пожалуйста рабочий

Дайте пожалуйста рабочий кусок конфига ядра касающегося iptables.

http://dpaste.com/75422/ И,

http://dpaste.com/75422/

И, заметьте, у меня там есть

zegrep 'NETFILTER|NF_' /proc/config.gz | grep REDIRECT
CONFIG_IP_NF_TARGET_REDIRECT=m

Я Gentoo & Funtoo

Всем ОГРОМНОЕ спасибо за

Всем ОГРОМНОЕ спасибо за помощь! Кажется дело вот в чем, вечером проверю:

У меня не включено:

CONFIG_NETFILTER_ADVANCED=n

а должно быть:

CONFIG_NETFILTER_ADVANCED=y

Еще раз всем спасибо!

Еще раз всем спасибо! Действительно нужно было включить CONFIG_NETFILTER_ADVANCED
и появилась еще куча опций. Собрал все жестко в ядро, не модулями, все работает. Остался один вопрос:

Так работает:

iptables -t nat -A PREROUTING -p tcp -s 192.168.0.110 --dport 80 -j REDIRECT --to-ports 3128

А так на что-то ругается:

iptables -t nat -A PREROUTING -p tcp -s 192.168.0.110 -d ! 192.168.0.5 --dport 80 -j REDIRECT --to-ports 3128

Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

a 192.168.0.5 это адрес шлюза, но на нем почта в web мордой. Как сообщить iptables чтоб запросы на вебпочту не уходили на squid?

Попробуйте так iptables -t

Попробуйте так

iptables -t nat -A PREROUTING -p tcp -s 192.168.0.110 ! -d 192.168.0.5 --dport 80 -j REDIRECT --to-ports 3128

Я Gentoo & Funtoo

Ага, СПАСИБО, получилось.

Ага, СПАСИБО, получилось. Оказывается поменялся способ написания.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".