A voir également:
- Deux connections pour un routeur
- Citez deux ports permettant de connecter directement un ordinateur à un écran (tv, vidéoprojecteur, etc.). - Guide
- Deux ecran pc - Guide
- Deux whatsapp sur un téléphone - Guide
- Itinéraire google map entre deux adresses - Guide
- Faire deux colonnes sur word - Guide
9 réponses
brupala
Messages postés
110592
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
3 décembre 2024
13 841
22 mars 2007 à 10:04
22 mars 2007 à 10:04
Salut,
ça n'est pas possible:
Pour cela il faudrait que tu maitrises les 2 extrémités de la liaison (les accès internet coté FAI). ça n'est pas le cas.
tous les accès internet sauf configuration spéciale du FAI répondent aux requetes à la même adresse qui les a envoyées (heureusement) .
ça n'est pas possible:
Pour cela il faudrait que tu maitrises les 2 extrémités de la liaison (les accès internet coté FAI). ça n'est pas le cas.
tous les accès internet sauf configuration spéciale du FAI répondent aux requetes à la même adresse qui les a envoyées (heureusement) .
Merci Brupala pour ta réponse.
Mais malgré tout il y a toujours quelque chose que je ne comprends pas. Le FAI, lorsqu'il retourne les paquets en réponse à une requète, utilise l'adresse source des paquets qu'il a reçu. L'ancienne adresse source devient alors la nouvelle adresse destination.
Si on change l'adresse source à l'origine de la communication par l'adresse d'une autre interface, le FAI renverra le paquet de retour vers cette autre interface, dont il pense que c'est la source.
Théoriquement cela marche-t-il?
Merci de votre réponse
Mais malgré tout il y a toujours quelque chose que je ne comprends pas. Le FAI, lorsqu'il retourne les paquets en réponse à une requète, utilise l'adresse source des paquets qu'il a reçu. L'ancienne adresse source devient alors la nouvelle adresse destination.
Si on change l'adresse source à l'origine de la communication par l'adresse d'une autre interface, le FAI renverra le paquet de retour vers cette autre interface, dont il pense que c'est la source.
Théoriquement cela marche-t-il?
Merci de votre réponse
Bon j'avance pas à pas à force de surfer sur le net.
J'ai découvert que ce type de routage s'appelle routage asymétrique (upstream et downstream par deux interfaces différentes).
Est-ce que quelqu'un connait une manière de paramétrer un routeur en routage asymétrque sous linux, avec des règles iptables notemment?
J'ai découvert que ce type de routage s'appelle routage asymétrique (upstream et downstream par deux interfaces différentes).
Est-ce que quelqu'un connait une manière de paramétrer un routeur en routage asymétrque sous linux, avec des règles iptables notemment?
mrud
Messages postés
216
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
19 mai 2010
100
22 mars 2007 à 12:13
22 mars 2007 à 12:13
salut,
Ce sujet m'a l'air interessant je n'y connais rien en gprs (je sais juste utiliser i-mode via mon mobile) tu utilise un mobile ? comment ça marche ?
si c'est qu'une histoire d'ip il faudrait inverser les ip dans les packets source et destination ça donnerait ça ?
envoi :
[modem (ip gprs)] ---> fai ----> .... ----> fai ---> gprs
retour :
[gprs (ip modem)] ---> fai ----> .... ----> fai ---> modem
c'est du spoofing ?
[edit] mais en fait, ça fait juste une boucle !?? tu veux communiquer de l'interface du modem vers l'interface gprs en passant par internet ?
Ce sujet m'a l'air interessant je n'y connais rien en gprs (je sais juste utiliser i-mode via mon mobile) tu utilise un mobile ? comment ça marche ?
si c'est qu'une histoire d'ip il faudrait inverser les ip dans les packets source et destination ça donnerait ça ?
envoi :
[modem (ip gprs)] ---> fai ----> .... ----> fai ---> gprs
retour :
[gprs (ip modem)] ---> fai ----> .... ----> fai ---> modem
c'est du spoofing ?
[edit] mais en fait, ça fait juste une boucle !?? tu veux communiquer de l'interface du modem vers l'interface gprs en passant par internet ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut mrud,
Non en fait je souhaite aller sur internet mais en empruntant deux chemins différents entre le upstream et le downstream.
C'est à dire utiliser le modem pour le uptream (envoie de requete http par exemple), et le gprs pour le downstream (réponse des requètes http).
Je ne sais pas vraiment ce qu'est le spoofing, mise à part qu'il s'agit d'un procédé utilisé lors de hacking.
Le problème que je rencontre c'est que d'habitude lors d'un SNAT sur une seule interface, le SNAT inverse est réalisé implicitement sur cette même interface. Or je souhaiterai que ce soit une autre interface qui réalise le SNAT inverse. Je sais pas si c'est possible. (une sorte de DNAT, mais je n'arrive pas à résoudre un problème de port)
J'ai vu que iproute2 était peut etre une solution pour réaliser du routage asymétrique... Qu'en est-il?
Non en fait je souhaite aller sur internet mais en empruntant deux chemins différents entre le upstream et le downstream.
C'est à dire utiliser le modem pour le uptream (envoie de requete http par exemple), et le gprs pour le downstream (réponse des requètes http).
Je ne sais pas vraiment ce qu'est le spoofing, mise à part qu'il s'agit d'un procédé utilisé lors de hacking.
Le problème que je rencontre c'est que d'habitude lors d'un SNAT sur une seule interface, le SNAT inverse est réalisé implicitement sur cette même interface. Or je souhaiterai que ce soit une autre interface qui réalise le SNAT inverse. Je sais pas si c'est possible. (une sorte de DNAT, mais je n'arrive pas à résoudre un problème de port)
J'ai vu que iproute2 était peut etre une solution pour réaliser du routage asymétrique... Qu'en est-il?
Voici ce que j'ai déjà fait pour que ce soit plus compréhensible:
J'ai un ordi perso (192.168.1.2) relié à un routeur (192.168.1.1).
Ce même routeur possède deux autres interfaces aui partenet vers internet (ppp0 et ppp1).
ppp0: 1.1.1.1
| |----------------->
Ordi perso ------------->| routeur|
LAN | |----------------->
ppp1: 2.2.2.2
Voici le schéma d'une requete http type:
Ordi perso --------------------------->routeur
src: 192.168.1.2:3000
dst: 5.5.5.5:80
Routeur ppp0 ------------------------>serveur http
src: @ppp1:10000
dst: 5.5.5.5:80
Voici le schéma retour correspondant:
Routeur ppp1 <----------------------- serveur http
src: 5.5.5.5: x
dst: @ppp1:10000
Ordi perso <-------------------- routeur
src: 192.168.1.1:y
dst: 192.168.1.2:3000
Voilà ce que fait le routeur:
A l'allée: route vers la passerelle ppp0 MAIS change la source en ppp1 (SNAT)
Au retour: change la destination vers l'ordi perso (DNAT). Cela revient à faire le SNAT inversé.
Problème:
Dans cette configuration, comment faire pour que le routeur, lors du retour, dirige le paquet vers le bon port de l'ordi peso?
Peut etre avec du port forwarding, mais... j'en sais trop rien...
J'espère que c'est plus clair ainsi. Ne vous découragez pas les gars!!!
J'ai un ordi perso (192.168.1.2) relié à un routeur (192.168.1.1).
Ce même routeur possède deux autres interfaces aui partenet vers internet (ppp0 et ppp1).
ppp0: 1.1.1.1
| |----------------->
Ordi perso ------------->| routeur|
LAN | |----------------->
ppp1: 2.2.2.2
Voici le schéma d'une requete http type:
Ordi perso --------------------------->routeur
src: 192.168.1.2:3000
dst: 5.5.5.5:80
Routeur ppp0 ------------------------>serveur http
src: @ppp1:10000
dst: 5.5.5.5:80
Voici le schéma retour correspondant:
Routeur ppp1 <----------------------- serveur http
src: 5.5.5.5: x
dst: @ppp1:10000
Ordi perso <-------------------- routeur
src: 192.168.1.1:y
dst: 192.168.1.2:3000
Voilà ce que fait le routeur:
A l'allée: route vers la passerelle ppp0 MAIS change la source en ppp1 (SNAT)
Au retour: change la destination vers l'ordi perso (DNAT). Cela revient à faire le SNAT inversé.
Problème:
Dans cette configuration, comment faire pour que le routeur, lors du retour, dirige le paquet vers le bon port de l'ordi peso?
Peut etre avec du port forwarding, mais... j'en sais trop rien...
J'espère que c'est plus clair ainsi. Ne vous découragez pas les gars!!!
mrud
Messages postés
216
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
19 mai 2010
100
22 mars 2007 à 23:20
22 mars 2007 à 23:20
et si tu ne précises pas le port source et destination dans les régles iptables il gardera le bon port ou non ? faut tester
exemple de requete a un serveur web
une requete part de ton pc avec le port source et destination il arrive au routeur qui se charge de juste changer l'ip source en mettant celle de l'interface gprs, la requete arrive sur un serveur web qui renvoi alors la reponse sur le routeur interface gprs qui modifie l'ip destination en mettant celle de ton pc.
j'ai trouver ça à midi ça peut servir d'exemple pour configurer iptables avec les interfaces in et out et ip src et dst (enfin j'espère):
iptables -A OUTPUT --protocol icmp --out-interface eth1.1 --source 192.168.1.254 --destination 192.168.1.10 --jump ACCEPT
iptables -A INPUT --protocol icmp --in-interface eth1.1 --source 192.168.1.10 --destination 192.168.1.254 --jump ACCEPT
exemple de requete a un serveur web
une requete part de ton pc avec le port source et destination il arrive au routeur qui se charge de juste changer l'ip source en mettant celle de l'interface gprs, la requete arrive sur un serveur web qui renvoi alors la reponse sur le routeur interface gprs qui modifie l'ip destination en mettant celle de ton pc.
j'ai trouver ça à midi ça peut servir d'exemple pour configurer iptables avec les interfaces in et out et ip src et dst (enfin j'espère):
iptables -A OUTPUT --protocol icmp --out-interface eth1.1 --source 192.168.1.254 --destination 192.168.1.10 --jump ACCEPT
iptables -A INPUT --protocol icmp --in-interface eth1.1 --source 192.168.1.10 --destination 192.168.1.254 --jump ACCEPT
Malheureusement j'ai de bonnes raisons de croire que le port de destination change.
D'abords c'est ce que raconte ce site:
https://www.figer.com/Publications/nat.htm
De plus, j'ai fait le test, et ça n'a pas marché. Je crois que le problème venait des ports sources et destinations. Voilà pour info les règles iptables que j'avais écrites:
iptables -t nat -I POSTROUTING -o ppp1 -j SNAT --to-source $ppp0_IP
iptables -t nat -I PREROUTING -d $ppp0_IP -j DNAT --to-destination 192.168.1.2
iptables -I FORWARD -j ACCEPT
D'habitude tu as raison. Lorsque on opère un SNAT sur un ppaquet sortant, lorsqu'un paquet de retour revient, le SNAT inverse lui réattribue le port dont la requète est issue. Mais j'ai l'impresson (à confirmer) que la table SNAT est propre à l'interface. Ce qui signifierait que lorsque le paquet revient mais par l'autre interface, alors aucun SNAT inverse ne s'opère.
Je pensais remplacer cela par un DNAT, mais impossible de rerouter sur le bon port. En effet, sur l'ordi de départ, le port source est choisi quasi-aléatoirement...
Voilà ou j'en suis...
Ce qui m'étonne le plus, c'est que j'ai l'impression qu'aucun site ne traite de ce sujet. Comme si j'étais le premier, ce qui ne doit pas être le cas. Alors je ne dois pas utiliser les bons mots clés.
D'abords c'est ce que raconte ce site:
https://www.figer.com/Publications/nat.htm
De plus, j'ai fait le test, et ça n'a pas marché. Je crois que le problème venait des ports sources et destinations. Voilà pour info les règles iptables que j'avais écrites:
iptables -t nat -I POSTROUTING -o ppp1 -j SNAT --to-source $ppp0_IP
iptables -t nat -I PREROUTING -d $ppp0_IP -j DNAT --to-destination 192.168.1.2
iptables -I FORWARD -j ACCEPT
D'habitude tu as raison. Lorsque on opère un SNAT sur un ppaquet sortant, lorsqu'un paquet de retour revient, le SNAT inverse lui réattribue le port dont la requète est issue. Mais j'ai l'impresson (à confirmer) que la table SNAT est propre à l'interface. Ce qui signifierait que lorsque le paquet revient mais par l'autre interface, alors aucun SNAT inverse ne s'opère.
Je pensais remplacer cela par un DNAT, mais impossible de rerouter sur le bon port. En effet, sur l'ordi de départ, le port source est choisi quasi-aléatoirement...
Voilà ou j'en suis...
Ce qui m'étonne le plus, c'est que j'ai l'impression qu'aucun site ne traite de ce sujet. Comme si j'étais le premier, ce qui ne doit pas être le cas. Alors je ne dois pas utiliser les bons mots clés.
brupala
Messages postés
110592
Date d'inscription
lundi 16 juillet 2001
Statut
Membre
Dernière intervention
3 décembre 2024
13 841
>
ben
23 mars 2007 à 15:12
23 mars 2007 à 15:12
bien sûr,
chaque table nat dynamique est liée à une interface , les tables de conversion de l'une ne sont pas valables pour l'autre, heureusement.
pour ta recherche:
déjà la nat n'est pas une chose "naturelle" sur internet alors qu 'une interface vers un fournisseur d'accès le fasse pour le compte d'un autre, c'est plus que tiré par les cheveux.
je vois comme toi qu'il ya une faille pouvant conduire à beaucoup d 'affabulations et de contournements, voire de piratages:
utiliser une connexion taxée à l'upload uniquement pour du download en envoyant le traffic upload sur une autre non taxée mais moins performante.
Mais sans équipements spécialement développés pour , ça n'est pas bien facile.
chaque table nat dynamique est liée à une interface , les tables de conversion de l'une ne sont pas valables pour l'autre, heureusement.
pour ta recherche:
déjà la nat n'est pas une chose "naturelle" sur internet alors qu 'une interface vers un fournisseur d'accès le fasse pour le compte d'un autre, c'est plus que tiré par les cheveux.
je vois comme toi qu'il ya une faille pouvant conduire à beaucoup d 'affabulations et de contournements, voire de piratages:
utiliser une connexion taxée à l'upload uniquement pour du download en envoyant le traffic upload sur une autre non taxée mais moins performante.
Mais sans équipements spécialement développés pour , ça n'est pas bien facile.
Merci brupala,
En effet je me rend compte que ce n'est vraiment pas simple.
J'ai vu qu'il existe un protocole utilisé majoritairement pour les communications satellites, c'est l'UDLR (unidirectionnal ... routing protocole ;)).
Qu'en est-il? Est ce implémentable sur linux?
Sinon serait-il possible de développer une application capable de filtrer les paquets (genre un nouveau patch netfilter)? Peut etre qu'une solution existe déjà dans cette direction?
Ainsi en forçant les paquets à monter vers la couche applicative (input---application---output) on pourrait peut etre soumettre chaque paquet à un NAT fait maison?? Ca demande des connaissances en programmation TCP et C surement. Ca s'annonce chaud chaud...
Je vois que la tâche devient compliqué pour le petit stagiaire que je suis... argh
En effet je me rend compte que ce n'est vraiment pas simple.
J'ai vu qu'il existe un protocole utilisé majoritairement pour les communications satellites, c'est l'UDLR (unidirectionnal ... routing protocole ;)).
Qu'en est-il? Est ce implémentable sur linux?
Sinon serait-il possible de développer une application capable de filtrer les paquets (genre un nouveau patch netfilter)? Peut etre qu'une solution existe déjà dans cette direction?
Ainsi en forçant les paquets à monter vers la couche applicative (input---application---output) on pourrait peut etre soumettre chaque paquet à un NAT fait maison?? Ca demande des connaissances en programmation TCP et C surement. Ca s'annonce chaud chaud...
Je vois que la tâche devient compliqué pour le petit stagiaire que je suis... argh
mrud
Messages postés
216
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
19 mai 2010
100
23 mars 2007 à 20:41
23 mars 2007 à 20:41
une idée : peut être en fusionnant les deux interfaces tout en gardant les régles iptables?
si ça peut t'aider j'ai trouver ça http://okki666.free.fr/docmaster/articles/linux093.htm
regarde le "bonding" heu "eql" dans ton cas
si ça peut t'aider j'ai trouver ça http://okki666.free.fr/docmaster/articles/linux093.htm
regarde le "bonding" heu "eql" dans ton cas