Вы вероятно блокируете DNS; это будет приводить к таймаутам.
Пробуйте использовать опцию "-n" (numeric) для ipchains, который подавляет преобразование имен.
Удостоверьтесь, что форвардинг пакетов разрешен (в последних версиях ядра, он не блокируется по умолчанию, что означает, что пакеты не приходят в цепочку "forward"). Вы можете отменить этот (от root), введя команду
# echo 1 > /proc/sys/net/ipv4/ip_forward #Если это у вас сработает, то вы можете поместть эту строку куда-нибудь в ваши загрузочные сценарии, чтобы она выполнялась при загрузке; firewalling должен устанавливаться прежде, чем выполнится эта команда.
Вы должны разрешить форвардинг пакетов (см. выше) для того, чтобы переназначение работало; иначе код маршрутизации отбрасывает пакет. Так, если вы используете только перенаправление, и вообще не используете форвардинг, то вы должны знать об этом.
Обратите внимание, что REDIR (находящийся во цепочке input) не вохдействует на соединения из локального процесса.
В версиях ядра 2.1.102 и 2.1.103 имелась ошибка (и некоторых старых моих патчах), из-за которой не работали команды ipchains, в которых используется уайлдкарты интерфейсов (например, -i ppp +).
Это исправлено в последних ядрах, и в сети есть патч для ядра 2.0.34. Вы можете также установить его вручную на исходники ядра, заменив строку 63 или около того в include/linux/ip_fw.h:
#define IP_FW_F_MASK 0x002F /* All possible flag bits mask */Здесь должно стоять ``0x003F". Исправьте это, и пересоберите ядро.
Это было моей ошибкой: установка поля Type of Service фактически не устанавливала Type of Service в ядрах версий 2.1.102 - 2.1.111. Эта проблема была исправлена в 2.1.112.
Для 2.0.x это так; у меня нет времени на создание и поддержку гигантского патча для ipchains и ipautofw/ipportfw.
Для 2.1.x скачайте ipmasqadm Juan Ciarlante'а с http://juanjox.linuxhq.com/ и используйте его точно так же, как вы использовали бы ipautofw или ipportfw, за исключением того, что вместо ipportfw вы печатаете ipmasqadm portfw, а вместо ipautofw печатаете ipmasqadm autofw.
Возьмите версию 1.6.0 или выше, которым для ядер 2.1.x не требуются никаких правил firewall. Эта ошибка автора, кажется, снова появилась в версии 1.6.1 (это не моя ошибка!).
Это была ошибка в ipchains версии 1.3.3. Пожалуйста обновите.
Это было так (для ядер 2.1.x) до 2.1.123. В 2.1.124 попытка установить таймаут для маскарадинга вызывает зависание ядра (изменить return на ret = в строке 1328 net/ipv4/ip_fw.c). В 2.1.125 все прекрасно работает.
Этим, как мне кажется, занимаются другие. К сожалению, мой код относится только к IP. On the good side, all the hooks are there to firewall IPX! Вам только надо написать код; я счастлив буду помочь там, где возможно.