iptables redirection

iptables redirection - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 12-02-2004 à 08:41:47    

Bonjour,
 
J'utilise une passerelle d'authentification pour autoriser le traffic réseau
(http://islay.dyndns.org/sesame/sesame.html) un peu modifiée.
 
Voici le principe :  
Par défaut, le traffic est verrouillé
Quand l'utilisateur s'est authentifié, une règle iptables est créée pour autoriser son traffic
Les utilisateurs non-authentifiés sont redirigés vers un serveur_web pour justement s'authentifier.
 
 
Et Voila la traduction en iptables :  
 
Les paquets marqués 1 sont interdits, les 2 passent
iptables -A FORWARD -i eth1 -m mark --mark 1 -j DROP
iptables -A FORWARD -i eth1 -m mark --mark 2 -j ACCEPT
 
Par défaut, tous les paquets sont marqués 1 (donc interdits)
iptables -t mangle -A FORWARD -i eth1 -j MARK --set-mark 1
 
Après authentification,le traffic venant de une_ip sont marqués 2 (donc autorisés)
iptables -t mangle -A FORWARD -i eth1 -s une_ip -J MARK --set-mark 2
 
Tous les paquets marqués 1 sont redirigés vers serveur_web (pour l'authentification)
iptables -t nat -A PREROUTING -i eth1 -m mark --mark 1 -j DNAT --to-destination serveur_web
Ou aussi :  
 
iptables -t nat -A PREROUTING -i eth1 -m mark --mark 1 -j REDIRECT --to serveur_web
 
Malheureusement, cette dernière commande ne fonctionne pas.
 
Je pense que les paquets sont d'abord traité par la table NAT avant la table MANGLE ce qui fait que les paquets sont redirigés avant d'être marqués

Reply

Marsh Posté le 12-02-2004 à 08:41:47   

Reply

Marsh Posté le 12-02-2004 à 09:46:34    

Quelqu'un a une idée ?

Reply

Marsh Posté le 19-02-2004 à 01:08:02    

Euh
 

  REDIRECT
       Cette  cible  n'est valide qu'avec la table nat , dans les chaines PRE-
       ROUTING et OUTPUT , et les chaines definies par l'utilisateur qui  sont
       appelees par celles ci.
        Elle  modifie  l'adresse IP de destination pour envoyer le paquet vers
       la machine elle meme (les paquets generes  localement  sont  translates
       vers l'adresse 127.0.0.1). Il y a une option :
 
       --to-ports <port>[-<port>]
              qui  specifie  un  port  de  destination ou une plage de ports a
              utiliser : sans cette option le port de destination n'est jamais
              modifie.   Ceci  n'est  valide que si la regle specifie aussi -p
              tcp ou -p udp.


 
Le redirect se l'envoie sur la boucle lo et modifie le port de destination en fonction du paramètres de --to-ports. Utilise pour un tunnel ssl par exemple ;)


Message édité par Gwarm le 19-02-2004 à 01:10:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed