Forum Linux.débutant Comment ne pas filtrer une IP avec iptables...

Posté par  .
Étiquettes : aucune
0
15
jan.
2008
Bonjour,

Malgré mes nombreuses recherches, je persiste à ne rien comprendre à iptables. On pourrait dire que je le fait exprès, mais malheureusement, non... J'y met toute ma plus grande concentration, sans succès.

Mon firewall se situe sur une passerelle ou transite tout notre trafic vers internet.
Il arrive à rediriger les requêtes du port 80 vers notre proxy transparent, à bloquer un serveur suivant son adresse ip, mais pas à laisser tranquille les paquets qui viennent ou vont vers l'IP 172.18.109.11 (accessoirement, mon poste).
Je vous montre à quoi ressemblent mes agissements :

# Vidage des tables
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# Tout accepter pour les IPs suivantes
iptables -t filter -A INPUT -i br0 -s 172.18.109.11 -j ACCEPT
iptables -t filter -A OUTPUT -o br0 -d 172.18.109.11 -j ACCEPT
iptables -t filter -A FORWARD -i br0 -s 172.18.109.11 -j ACCEPT

# Rediriger les requetes du port 80 vers le proxy
iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Bloquer www.flash-games.net
iptables -t filter -A INPUT -i br0 -p tcp -s 209.172.34.242 -j DROP
iptables -t filter -A FORWARD -i br0 -o br0 -d 209.172.34.242 -j DROP

Si vous voyez la-dedans autre chose que des hiéroglyphes, chanceux que vous êtes, saurez-vous m'expliquer pourquoi iptables persiste à traiter les paquets venant de mon poste (172.18.109.11) ?
  • # re

    Posté par  (site web personnel) . Évalué à 2.

    Faut pas oublier que iptables execute de maniere sequentielle les regles et que l'ordre de déclaration à une importance.
  • # Le masquerading ?

    Posté par  . Évalué à 1.

    Je ne sais pas si c'est ce que tu cherches, mais si c'est la machine en question qui est directement connectée à Internet, il faudra faire du masquerading pour faire la traduction entre les adresses internes de ton réseau, qui ne voyagent pas sur Internet, et ton proxy/passerelle/firewall qui sert de mandataire pour tout ton réseau.

    Voir d'une part du coté de --syn pour bloquer les connexions TCP entrantes depuis Internet, puis -j MASQUERADE en OUTPUT dans la table nat.
  • # De l'importance de ne pas abuser...

    Posté par  . Évalué à 2.

    Il s'agit des bases d'iptables, base que tu t'approprierai aisément par toi même après 30 minutes de lecture.

    En gros le problème ici est que ta règle de nat va "matcher" tout les paquets, qu'elle qu'en soit la source.
    Il faut que tu la modifies en lui disant "la source ne doit pas être égale à mon ip".
    Tu as maintenant la solution en bon français, je te laisse te sortir les doigts du c*l pr faire la conversion en iptables :p
  • # peut-etre parce que ...

    Posté par  . Évalué à 2.

    les regles ne sont pas "pensées" dans le bon sens.

    cf le document http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWT(...)

    y a un graphique qui explique dans quel ordre sont traités les regles.

    dans ton cas je vois un prerouting qui envoie tout sur le proxy AVANT de traiter le reste.

    PRErouting => Forward => Postrouting


    du coup si c'est le proxy qui t'empeche de passer ben il faut
    - soit autoriser ta machine à aller ou tu veux (dans la config du proxy)
    - soit ne pas envoyer ce qui vient de ton IP vers le proxy (ce qui peut se traduire par "envoyer tout ce qui ne vient pas de mon IP vers le proxy" par exemple)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.