On Fri, Oct 01, 2004 at 04:21:10PM +0200, Leopoldo Ghielmetti wrote:
> Seulement que iptables fait le DNAT puis le routing et ensuite le SNAT
> et il n'y a pas moyen de faire l'inverse. Et qui plus est il n'y a pas

Si, c'est possible. Voir les commandes ip rule et ip route. On peut
cr�er plusieurs tables de routage, activ�es en fonction de r�gle de
marquage du firewall.

Par exemple (exemple compliqu�, peut-�tre n'est-il pas n�cessaire
d'aller jusque-l�). Ce que �a fait: les paquets provenant de la machine
locale sont rout�es en fonction de l'adresse source. Les paquets
traversants sont marqu�s � l'entr�e en fonction de leur adresse source,
puis � la sortie la marque est utilis�e.

La seule particularit� est qu'on utilise un patch � iptables qui permet
de rendre les marques *persistantes* sur un nexus (si tu veux une
`connexion' au sens du firewall stateful iptables: pas forc�ment du TCP).
Sans ce patch `--save-mark' est impossible.

Sans ce patch il est difficile de router correctement les paquets en
retour dans le cas g�n�ral.

Je ne suis pas s�r que tu as besoin d'une solution si complexe, mais
peut-�tre que cela te mettra dans la bonne direction (tables de routage
multiples d�cid�es en fonction d'une marque du firewall).

# New routing table
ip route add default via 192.168.2.1 table 4

# For local host both ways
ip rule add from 192.168.2.10/32 table 4

# No martians
echo 0 >  /proc/sys/net/ipv4/conf/eth1/rp_filter

iptables -t mangle -F

iptables -A PREROUTING \
         -i eth0 -s 192.168.3.0/24 -p tcp --sport 25 \
         -t mangle -j CONNMARK --restore-mark

iptables -A PREROUTING \
         -i eth0 -s 192.168.3.0/24 -p tcp --sport 25 \
         -m mark --mark 2 \
         -t mangle -j MARK --set-mark 4

iptables -A PREROUTING -t mangle -m mark ! --mark 0 -j ACCEPT

iptables -A PREROUTING \
         -i eth1 -d 192.168.2.10/32 -p tcp --dport 25 \
         -t mangle -j MARK --set-mark 2

iptables -A PREROUTING \
         -i eth1 -d 192.168.2.10/32 -p tcp --dport 25 \
         -t mangle -j CONNMARK --save-mark

# Special routing depending on mark
ip rule add fwmark 4 table 4

_______________________________________________
gull mailing list
[EMAIL PROTECTED]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à