Vous bloquez probablement les demandes DNS ; il finira probablement par stopper. Essayez d'utiliser l'option "-n" (numérique) d'ipchains, qui supprimera la recherche des noms.
Vérifiez si la redirection de paquets est activée (dans les noyaux récent, elle est désactivée par défaut ce qui signifie que les paquets ne tentent jamais de traverser la chaîne "forward"). Vous pouvez changer ce défaut (en tant que super-utilisateur) en tapant
# echo 1 > /proc/sys/net/ipv4/ip_forward
#
Si ceci marche pour vous, vous pouvez le mettre quelque part dans vos scripts de lancement, de manière à ce que la redirection soit activée à chaque fois ; vous devrez toutefois configurer votre pare-feu avant le lancement de cette commande, autrement il peut y avoir passage de paquets.
Vous devez autoriser la retransmission des paquets (voir plus haut) pour que celle-ci fonctionne ; sinon le code de routage supprime le paquet. Ainsi, si vous utilisez juste la redirection sans avoir de transmission, vous devez y faire attention.
Notez que REDIR (dans la chaîne d'entrée) n'affecte pas les connexions d'un processus local.
Il y avait une erreur dans les versions 2.1.102 et 2.1.103 du noyau (et dans
quelques anciens correctifs que j'avais sorti) qui faisait planter les
commandes ipchains utilisant une interface joker (comme -i ppp+
).
Cette erreur a été corrigée dans les noyaux récents, et dans le correctif 2.0.34 du site web. Vous pouvez aussi le corriger à la main dans les sources du noyau en changeant la ligne 63 de include/linux/ip_fw.h :
#define IP_FW_F_MASK 0x002F /* All possible flag bits mask */
Ceci doit en fait être "0x003F". Corrigez et recompilez le noyau.
C'est de ma faute : la configuration du champ Type of Service ne change pas le Type of Service dans les noyaux 2.1.102 à 2.1.111. Ce problème a été corrigé dans le 2.1.112.
Pour les 2.0.x, c'est vrai ; je n'ai pas le temps de créer et de maintenir un correctif de taille gigantesque pour ipchains et ipautofw/ipportfw.
Pour les 2.1.x, récupérez ipmasqadm de Juan Ciarlante sur
<url url="http://juanjox.linuxhq.com/" name="http://juanjox.linuxhq.com/">et utilisez-le exactement de la manière dont vous auriez utilisé
ipautofw
ou ipportfw
, à part qu'à la place de ipportfw
vous devez taper
ipmasqadm portfw
, et à la place de ipautofw
vous devez taper
ipmasqadm autofw
.
Mettez à jour à la version 1.6.0 ou supérieure, qui ne nécessite pas de règle pare-feu pour les noyaux 2.1.x. Il semblerait être à nouveau cassé dans le 1.6.1 ; veuillez voir l'auteur (ce n'est pas de ma faute !).
C'était une erreur dans ipchains version 1.3.3. Veuillez mettre à jour.
C'est vrai (pour les noyaux 2.1.x) jusqu'au et incluant le 2.1.112. Ceci est pour le moment vigoureusement traqué, et au moment où vous lirez ce document il se pourrait que ce soit résolu. Ma page web contiendra un correctif lorsqu'il sera disponible.
Ainsi qu'un certain nombre d'autres personnes, il semble. Mon code couvre seulement IP, malheureusement. Du bon côté, tout est là pour pouvoir firewaller IPX ! Vous devrez juste écrire le code ; je vous aiderai joyeusement là où ce sera possible.