[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HS] double acces Internet, Policy routing (iproute2 et iptables)



Bonsoir,

Enfin bonjour,
(c'est selon l'heure)...


Voici mon souci... je pense que d'autres ont deja fait ca, moi meme
aussi, dans une autre vie... mais je n'arrive plus la, presentement ! :/


Voila, il s'agit d'une machine qui a 2 acces Internet :
    1.Un acces(A) est reserve a tout le traffic messagerie
    2.Un acces(B) est reserve a tout le reste
    3.La machine doit accepter le mail depuis les 2 acces.

NB: pour le 1 c'est la machine en question qui envoie le mail.

J'arrive a respecter le point 3 mais les points 1 et 2 sont NOK, car en
fait est utilisé comme GW la GW de main table

Le principe :
    .On crée des tables de routage distinctes de la table principale
    .On signale que le marquage 0x?? signifie qu'il faudra passer par la
    table en question
    .On marque les paquets en fonction de leur caracteristiques afin
    qu'il passe alors par la table adequate.

comme essai j'ai dis a mon iptable de ne marquer les paquets qu'en
provenance d'une machine precise, afin de tester sans trop casser la
prod :)

Voici donc mes fichiers de conf:

------------------8<------------------------------------------
ip route flush table pixgw
ip route add default via $pixgw dev $pixnic table pixgw
ip rule add from $pixnet table pixgw
ip rule add fwmark $pixmar table pixgw

ip route flush table freegw
ip route add default via $freegw dev $freenic table freegw
ip rule add from $freenet table freegw
ip rule add fwmark $freemar table freegw
------------------8<------------------------------------------
*nat
:PREROUTING ACCEPT [2:451]
:POSTROUTING ACCEPT [34:3949]
-A POSTROUTING  -o eth0 -s IPexterne/32 -p tcp -m tcp --dport 25  -j MASQUERADE
-A POSTROUTING -o eth0 -j SNAT --to-source 192.168.254.1
-A POSTROUTING -o eth1 -j SNAT --to-source IPexterne
:OUTPUT ACCEPT [34:3949]
COMMIT



*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A FORWARD -d 62.4.20.143/32 -j MARK  --set-mark 0x1
-A FORWARD -s 62.4.20.143/32 -j MARK  --set-mark 0x1
-A INPUT -d 62.4.20.143/32 -j MARK  --set-mark 0x1
-A INPUT -s 62.4.20.143/32 -j MARK  --set-mark 0x1
-A OUTPUT -p tcp -m tcp --dport 25 -j MARK  --set-mark=0x1
-A OUTPUT -d 62.4.20.143/32 -j MARK  --set-mark 0x1
-A OUTPUT -s 62.4.20.143/32 -j MARK  --set-mark 0x1
-A PREROUTING -d 62.4.20.143/32 -j MARK  --set-mark 0x1
-A PREROUTING -s 62.4.20.143/32 -j MARK  --set-mark 0x1
-A POSTROUTING -d 62.4.20.143/32 -j MARK  --set-mark 0x1
-A POSTROUTING -s 62.4.20.143/32 -j MARK  --set-mark 0x1

: oui, cote tests il y en a; j'ai fini par craquer :)
------------------8<------------------------------------------

Bref si klk1 a une bonne idee a me donner :)
a+


-- 
adlp: tu sais, Nath, je ne suis pas qu'un geek, au fond.
Nath: oui, tu es aussi un nerd.



Reply to: