Déterminer passerelle pour routage

Déterminer passerelle pour routage - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 04-11-2010 à 14:41:53    

Salut à tous,
 
Je développe une appli en C++ pour Windows permettant de faire du forwarding d'IP en utilisant un driver NDIS. Sans rentrer dans les détails de cette application, je suis confronté à la problématique suivante :
J'ai besoin de faire du SNAT sur des paquets, mais l'adresse que je vais choisir pour remplacer la source dépend de l'adresse de destination.
Par exemple, je suis connecté à deux réseaux différents :
- connexion wifi
- connexion ethernet
 
Les deux interfaces me permettent d'accéder à l'extérieur ; ainsi si je fais du SNAT en utilisant l'adresse de l'interface filaire, ça va fonctionner pour un accès à internet. Par contre, si je veux accéder à une machine se trouvant sur le réseau wifi, il va falloir que je SNAT avec mon adresse Wifi.
 
En gros, ce que je cherche à faire, c'est à déterminer avec quelle adresse sortir (donc quelle route utiliser) pour atteindre une certaine destination. Je dois pouvoir le faire dans mon code.
 
A la main, c'est simple : si je veux contacter l'ip 192.168.0.2 par exemple, je lance un route print, et je vois :
 
192.168.0.0    255.255.255.0         On-link     192.168.0.3   4501
 
donc, je vois que je sors avec l'ip 192.168.0.3
 
Mais comment faire faire cette manipulation par mon programme ? Merci à vous.
 

Reply

Marsh Posté le 04-11-2010 à 14:41:53   

Reply

Marsh Posté le 05-11-2010 à 16:16:59    

Bon, ce topic ne rencontre pas beaucoup de succès, pas grave puisque j'ai trouvé un moyen de contourner le problème.

Reply

Sujets relatifs:

Leave a Replay

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