IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hardware Discussion :

Routage en fonction du port de destination.


Sujet :

Hardware

  1. #1
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut Routage en fonction du port de destination.
    Suite à une question posée sur le routage en fonction du port de destination, je me suis demandé comment il était possible de mettre cela en œuvre sous linux.

    Le principe fonctionne aussi bien avec une configuration ou les cartes réseaux seraient chacune branchées directement sur un modem ou sur une "BOX" machin qui fait du office de modem + routeur + switch + + +.

    La "difficulté" de ce genre de configuration étant de devoir "gérer" deux passerelles par défaut.

    Imaginons un pc avec deux connexions internet :

    eth0 - Connexion réservée à tout le trafic
    eth1 - Connexion réservée à tout le trafic web ( port 80 ) et mail ( port 25, 110 ).

    Assumons que chaque carte réseau possède une machin box, le plus simple sera de laisser la configuration se faire tout seule sur la connexion qui va prendre en charge la plus grande majorité des protocoles différents et de configurer manuellement la seconde ( pour récupérer les paramètres de la seconde carte, un simple ifconfig fera l'affaire )

    1 - On commence par configurer les deux interfaces réseaux


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dhclient eth0
    ifconfig eth1 192.168.1.254/24

    2 - On crée un nouvelle table de routage

    Pour ce faire, il faut la rajouter à la main dans /etc/iproute2/rt_tables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo -e "200 \t secondaire" >> /etc/iproute2/rt_tables
    200 étant le numéro de la table et secondaire le nom que l'on lui donne.

    3 - On ajoute la passerelle par défaut de cette nouvelle table de routage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ip route add 10.10.10.0/24 dev eth1 table 200
    ip route add default via 192.168.1.1 table 200
    Ce 192.168.1.1 doit être l'adresse de la "machin box" branchée sur la carte eth1 et doit obligatoirement être dans le même réseau que l'adresse de eth1 ( 192.168.1.X )

    4 - On va "tagger" le traffic qui sort pour le mettre dans la bonne table de routage


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Pour le web
    iptables -t mangle  -A OUTPUT  -p tcp --dport 80  -j MARK --set-mark 72
    # Pour l'envoi de courrier 
    iptables -t mangle  -A OUTPUT  -p tcp --dport 25  -j MARK --set-mark 72
    # Pour la réception de courier 
    iptables -t mangle  -A OUTPUT  -p tcp --dport 110  -j MARK --set-mark 72
    On va utiliser la table mangle qui permet de modifier le trafic et la table output qui intervient avant le processus de routage mais il faut toutefois noter que ce marquage contrairement à TOS/DSP ne modifie pas le paquet et n'est utiliser qu'en "interne".

    Ainsi donc nos trois type de trafics seront tagués "72"

    5 - On va associer ce traffic "marqué" avec la route a prendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ip rule add fwmark 72 table 200
    L'exemple fonctionne sous linux, mais le principe devrait être le même sur les autre OS : BSD, Windows, MAC

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par becket Voir le message
    L'exemple fonctionne sous linux, mais le principe devrait être le même sur les autre OS : BSD, Windows, MAC
    En ce qui concerne Windows, je ne sais pas comment implémenter cette solution de manière native (comprendre sans l'ajout de logiciel tierce).

    Le routage par port destination dont tu proposes une solution élégante sous Linux avec iptables n'a pas d'équivalent sous Windows parce que iptables n'existe pas sous Windows.

  3. #3
    Membre du Club Avatar de truncate
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Sans donner de solution... la piste se trouve dans les commandes Windows: netsh ... bon amusement

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par truncate Voir le message
    Sans donner de solution... la piste se trouve dans les commandes Windows: netsh ... bon amusement
    C'est pas très cool comme style de réponse

  5. #5
    Membre du Club Avatar de truncate
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Je donne juste une piste sans savoir ou elle meme....
    Je n'ai pas dit que j'avais la solution et que vous n'aviez qu'a chercher....

    Il ne faut pas etre susceptible

Discussions similaires

  1. c# changement du code en fonction du port usb
    Par lesurfeur dans le forum C#
    Réponses: 9
    Dernier message: 13/09/2009, 00h34
  2. Différents sites en fonction du port
    Par spull dans le forum Apache
    Réponses: 6
    Dernier message: 26/06/2009, 22h16
  3. Routage trafic sur 2 ports Wan
    Par totofe7613 dans le forum Hardware
    Réponses: 1
    Dernier message: 10/09/2007, 17h46
  4. port de destination de la Passerelle MMG
    Par taleb2181 dans le forum Développement
    Réponses: 0
    Dernier message: 02/08/2007, 15h01
  5. port de source <-> port de destination
    Par Biosox dans le forum Réseau
    Réponses: 8
    Dernier message: 22/05/2006, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo