Marquage de connections entrantes sur un routeur

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Marquage de connections entrantes sur un routeur

Messagepar didgaud » 30 Juin 2008 15:48

Bonjour a tous,

après avoir lu pas mal de forums sur la config de routeur je seche sur le marquage de connexions destinées à la passerelle :

Mon routeur doit etre adressable par deux IP differentes

voila mon exemple :
le routeur a 3 interface eth0 (lan)
eth1 wan1 (10.1.1.1) vers ISP1 (adresse du routeur ISP1= 10.1.1.254)
eth2 wan2 (10.2.1.1) vers ISP2 (adresse du routeur ISP2 = 10.2.1.254)

eth1(10.1.1.1) (10.1.1.254) ISP1

LAN ----------- routeur

eth2 (10.2.1.1) (10.2.1.254) ISP2




Sur le routeur il y a des 2 services : http et ssh

Je souhaite que toutes les connexion qui arrivent de ISP1 soit marquées et repartent par ce meme ISP
Idem pour les connexions arrivant de l’ISP2



J’ai mis ceci en place :



iptables -t mangle -F

iptables -t mangle -N CONNMARK1
iptables -t mangle -A CONNMARK1 -j MARK --set-mark 1
iptables -t mangle -A CONNMARK1 -j CONNMARK --save-mark



iptables -t mangle -N CONNMARK2
iptables -t mangle -A CONNMARK2 -j MARK --set-mark 2
iptables -t mangle -A CONNMARK2 -j CONNMARK --save-mark





iptables -t mangle -A PREROUTING -i eth1 -m state --state NEW -j CONNMARK1
iptables -t mangle -A PREROUTING -i eth2 -m state --state NEW -j CONNMARK2

iptables -t mangle -A OUTPUT -m state --state ESTABLISHED,RELATED -CONNMARK --restore-mark





puis pour les routes :



echo '1 wan1' >> /etc/iproute2/rt_tables
echo '2 wan2‘ >> /etc/iproute2/rt_tables



ip route add 10.1.1.0/24 dev eth1 table wan1
ip route add default via 10.1.1.254 dev eth1 table wan1

ip route add 10.2.1.0/24 dev eth2 table wan2
ip route add default via 10.2.1.254 dev eth2 table wan2

ip rule add fwmark 1 table wan1 prio 1024
ip rule add fwmark 2 table wan2 prio 1025







quand je ping mon routeur depuis l’ISP1, je vois bien la table CONNMARK1 en prerouting et input s’incrémenter de 60 Octest (taille du ping), mais pas la output pour la reponse . et donc la je sèche , je ne sais pas si c’est un problème de routage ou un problème iptable…
didgaud
Matelot
Matelot
 
Messages: 2
Inscrit le: 30 Juin 2008 15:20

Messagepar ccnet » 30 Juin 2008 17:53

Il serait peut être plus facile de vous aider si vous vous y preniez autrement. Je m'explique. Pour le moment vous ne présentez qu'à moitié le problème mais surtout une solution qui ne fonctionne pas. Avant de penser en terme de solution, pouvez vous expliquer complètement ce qu'est le besoin sans préjuger de solutions ?
Vous employez un routeur mais lesquel ? un modem routeur adsl grand public, ce n'est pas vraiment la même chose que certains Cisco.
A voir les adresses données dans les exemples il semble qu'il s'agissent de connexions adsl grand public.
Est ce bien le cas ?
Quel est votre plage d'ip publiques, si toutefois c'est le cas ? Quel isp ?

Sur le routeur il y a des 2 services : http et ssh

Je ne comprend pas bien ce que cela veut dire. Un routeur ... route.

Je souhaite que toutes les connexion qui arrivent de ISP1 soit marquées et repartent par ce meme ISP
Idem pour les connexions arrivant de l’ISP2

Si le routage est correct, je ne vois pas pourquoi il en serait autrement. Il y a donc autre chose (j'imagine un peu ce que c'est) sur le lan, mais vous n'en dites rien.

Votre vrai besoin c'est du load balancing, de la redondance ?

Pour finir, il y a eu un poste très voisin du votre la semaine passée.
http://forums.ixus.fr/viewtopic.php?t=4 ... sc&start=0

Il a fallu du temps pour comprendre où il voulait en venir et avec des méthodes un peu "exotiques".
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar didgaud » 30 Juin 2008 18:30

Donc pour etre plus clair



le routeur ,parcequ'il va router et natter les paquets venant du lan (eth0), doit etre accessible depuis les 2 ISP (en adressage privé) qui eut sont connectés sur eth1 et eth2.

pour faire simple.
je veux qu'un poste client ayant une ip (192.168.1.1) passe par l'ISP1 (10.1.1.254) pour arriver sur l'interface eth1 (10.1.1.1)du routeur pour toutes connection SSH.
Ce meme poste client ( 192.168.1.1) passe par l'ISP2 (10.2.1.254) pour arriver sur l'interface eth2 (10.2.1.1) du routeur pour les connexion http.


donc tout ce qui rentre en eth1 pour le SSH doit resortir en eth1 et idem pour eth2 tout ce qui rentre par eth2 doit aussi sortir par eth2 pour le HTTP.
didgaud
Matelot
Matelot
 
Messages: 2
Inscrit le: 30 Juin 2008 15:20

Messagepar ccnet » 30 Juin 2008 18:55

le routeur ,parcequ'il va router et natter les paquets venant du lan (eth0), doit etre accessible depuis les 2 ISP (en adressage privé) qui eut sont connectés sur eth1 et eth2.

Confusion totale.

Je souhaite que toutes les connexion qui arrivent de ISP1 soit marquées et repartent par ce meme ISP
Idem pour les connexions arrivant de l’ISP2


et

je veux qu'un poste client ayant une ip (192.168.1.1) passe par l'ISP1 (10.1.1.254) pour arriver sur l'interface eth1 (10.1.1.1)du routeur pour toutes connection SSH.
Ce meme poste client ( 192.168.1.1) passe par l'ISP2 (10.2.1.254) pour arriver sur l'interface eth2 (10.2.1.1) du routeur pour les connexion http.


Sont deux questions différentes.

Ce meme poste client ( 192.168.1.1) passe par l'ISP2 (10.2.1.254) pour arriver sur l'interface eth2 (10.2.1.1) du routeur pour les connexion http.


Cette phrase n'a pas de sens. Le cheminement de vos paquets seraient :

192.168.1.1 ->eth0 (routeur) eth1 (10.1.1.1) -> 10.1.1.254 pour ssh
et
192.168.1.1 ->eth0 (routeur) eth2 (10.2.1.1) -> 10.2.1.254 pour http

Votre besoin c'est donc le multi-wan, du moins c'est ce que l'on comprend. Au passage attention aux masques de sous réseaux employés.

On recommence. Le routeur c'est quoi ?

PS: si ce que vous appelez routeur peut être remplacé par Pfsense, alors vous pourrez faire ce que vos souhaitez, directement dans l'interface d'administration de Pfsense.
ccnet
Amiral
Amiral
 
Messages: 2687
Inscrit le: 27 Mai 2006 12:09
Localisation: Paris

Messagepar antolien » 01 Juil 2008 14:02

didgaud a écrit:Donc pour etre plus clair



le routeur ,parcequ'il va router et natter les paquets venant du lan (eth0), doit etre accessible depuis les 2 ISP (en adressage privé) qui eut sont connectés sur eth1 et eth2.

pour faire simple.
je veux qu'un poste client ayant une ip (192.168.1.1) passe par l'ISP1 (10.1.1.254) pour arriver sur l'interface eth1 (10.1.1.1)du routeur pour toutes connection SSH.
Ce meme poste client ( 192.168.1.1) passe par l'ISP2 (10.2.1.254) pour arriver sur l'interface eth2 (10.2.1.1) du routeur pour les connexion http.


donc tout ce qui rentre en eth1 pour le SSH doit resortir en eth1 et idem pour eth2 tout ce qui rentre par eth2 doit aussi sortir par eth2 pour le HTTP.

Bonjour,

Ton setup n'est pas clair...
fais tu du SNAT où du DNAT quelque part ?

je reprends un setup fonctionnel.

echo '1 wan1' >> /etc/iproute2/rt_tables
echo '2 wan2‘ >> /etc/iproute2/rt_tables

ip rule add from 10.1.1.1 lookup wan1
ip rule add from 10.2.1.1 lookup wan2

p route add 10.1.1.0/24 dev eth1 table wan1
ip route add default via 10.1.1.254 dev eth1 table wan1

ip route add 10.2.1.0/24 dev eth2 table wan2
ip route add default via 10.2.1.254 dev eth2 table wan2

p rule add fwmark 1 table wan1
ip rule add fwmark 2 table wan2

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 22 -j MARK --set-mark 1

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j MARK --set-mark 2
Avatar de l’utilisateur
antolien
Amiral
Amiral
 
Messages: 3134
Inscrit le: 31 Août 2002 00:00


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron