A voir également:
- [JAVA] Requêtes HTTP par 2 IPs
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Protocole http - Guide
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
8 réponses
mamiemando
Messages postés
33616
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 avril 2025
7 837
19 déc. 2009 à 13:32
19 déc. 2009 à 13:32
La seule approche que je vois, c'est de jongler en corrigeant dynamiquement les routes de ton linux si tu as une interface réseau par IP, sinon de changer l'IP de l'interface réseau si tu n'en as qu'une.
Dans les deux cas, il faut bien évidemment des droits root ou utiliser un sudo. Pour ajouter et supprimer une route, regarde le man de la commande route, il y a plein d'exemples :
Pour changer d'IP, il faut utiliser la commande ifconfig :
Attention
Changer d'IP à l'arrache peut être problématique dans un réseau si cette IP est déjà utilisée par un autre équipement réseau (PC, ...).
Si tu reçois tes IP dynamiquement par DHCP (c'est typiquement le cas dans un réseau local géré par une box, qui utilise un serveur DHCP), il faut veiller à ne pas "squatter" à l'insu de ce serveur une IP qu'il est susceptible d'attribuer à un équipement réseau. Il suffit par exemple de choisir une adresse IP en dehors de la plage d'adresse qu'il maintient.
De manière plus générale, il faut veiller à ce que cette seconde IP ne soit pas déjà utilisée, car sinon le réseau ne sauras pas forcément router correctement le trafic.
Bonne chance
Dans les deux cas, il faut bien évidemment des droits root ou utiliser un sudo. Pour ajouter et supprimer une route, regarde le man de la commande route, il y a plein d'exemples :
man route sudo route add -net 192.168.1.0 netmask 255.255.255.0 eth0 sudo route add default gw eth0
Pour changer d'IP, il faut utiliser la commande ifconfig :
sudo ifconfig eth0 192.168.1.10
Attention
Changer d'IP à l'arrache peut être problématique dans un réseau si cette IP est déjà utilisée par un autre équipement réseau (PC, ...).
Si tu reçois tes IP dynamiquement par DHCP (c'est typiquement le cas dans un réseau local géré par une box, qui utilise un serveur DHCP), il faut veiller à ne pas "squatter" à l'insu de ce serveur une IP qu'il est susceptible d'attribuer à un équipement réseau. Il suffit par exemple de choisir une adresse IP en dehors de la plage d'adresse qu'il maintient.
De manière plus générale, il faut veiller à ce que cette seconde IP ne soit pas déjà utilisée, car sinon le réseau ne sauras pas forcément router correctement le trafic.
Bonne chance
mamiemando
Messages postés
33616
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 avril 2025
7 837
19 déc. 2009 à 14:14
19 déc. 2009 à 14:14
Je ne vois pas trop comment tu t'en sortirais en NAT, si tu peux détailler...
Bonjour à vous deux :)
@mamiemando : ta solution me parait très bien. Si je comprend bien, il faudrait exécuter ces requêtes dans mon application Java pour que cela change "dynamiquement" l'ip ?
@lami20j : je ne connais pas du tout le NAT. Comme le dit mamiemando, je veux bien aussi quelques détails pour savoir où chercher :)
Merci :)
@mamiemando : ta solution me parait très bien. Si je comprend bien, il faudrait exécuter ces requêtes dans mon application Java pour que cela change "dynamiquement" l'ip ?
@lami20j : je ne connais pas du tout le NAT. Comme le dit mamiemando, je veux bien aussi quelques détails pour savoir où chercher :)
Merci :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33616
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
3 avril 2025
7 837
19 déc. 2009 à 14:33
19 déc. 2009 à 14:33
@mamiemando : ta solution me parait très bien. Si je comprend bien, il faudrait exécuter ces requêtes dans mon application Java pour que cela change "dynamiquement" l'ip ?
Exactement :-) Ceci dit n'oublions pas que java tourne dans une machine virtuelle. Je ne sais pas dans quelle mesure il est possible d'intéragir avec la machine (notamment exécuter des commandes shell) en Java. En outre je doute qu'il existe des fonctions en java qui permettent directement de manipuler la machine "réelle" autrement que via une commande shell comme un ifconfig.
Exactement :-) Ceci dit n'oublions pas que java tourne dans une machine virtuelle. Je ne sais pas dans quelle mesure il est possible d'intéragir avec la machine (notamment exécuter des commandes shell) en Java. En outre je doute qu'il existe des fonctions en java qui permettent directement de manipuler la machine "réelle" autrement que via une commande shell comme un ifconfig.
Re,
Je ne vois pas trop comment tu t'en sortirais en NAT,
Moi non plus, d'ailleurs c'était une question/supposition. ;-)
si tu peux détailler...
Ce n'est pas à moi de détailler mais à bill0ute ;-)
S'il a une seule interface alors oublie le NAT.
Si tu as une interface réseau par IP, alors si je ne me trompe pas, les interfaces peuvent communiquer, par le biais de la chaîne FORWARD de ton firewall, et la table NAT s'occupera de la traduction.
Je ne vois pas trop comment tu t'en sortirais en NAT,
Moi non plus, d'ailleurs c'était une question/supposition. ;-)
si tu peux détailler...
Ce n'est pas à moi de détailler mais à bill0ute ;-)
S'il a une seule interface alors oublie le NAT.
Si tu as une interface réseau par IP, alors si je ne me trompe pas, les interfaces peuvent communiquer, par le biais de la chaîne FORWARD de ton firewall, et la table NAT s'occupera de la traduction.
Ce n'est pas à moi de détailler mais à bill0ute ;-)
Je peux essayé de te détailler si tu veux, même si je suis plutôt noobie en réseau virtuel Linux :)
Dit moi quel point n'est pas clair ? :)
@mamiemando : j'ai trouvé sur un forum ce code, qui permettrait d'exécuter une commande Linux Runtime.getRuntime().exec("Macommande");
Qu'en penses tu ?
(J'ai trouvé ce code ici :https://forum.hardware.fr/hfr/Programmation/Java/java-lancer-commande-sujet_68044_1.htm
Je peux essayé de te détailler si tu veux, même si je suis plutôt noobie en réseau virtuel Linux :)
Dit moi quel point n'est pas clair ? :)
@mamiemando : j'ai trouvé sur un forum ce code, qui permettrait d'exécuter une commande Linux Runtime.getRuntime().exec("Macommande");
Qu'en penses tu ?
(J'ai trouvé ce code ici :https://forum.hardware.fr/hfr/Programmation/Java/java-lancer-commande-sujet_68044_1.htm
Re,
Ton serveur a une interface par ip ou pas?
En root que t'affiche la commande (tu peux caché les ip pour l'affichage)
Ton serveur a une interface par ip ou pas?
En root que t'affiche la commande (tu peux caché les ip pour l'affichage)
ifconfig -a
Ton serveur a une interface par ip ou pas ?
Oui. Si j'en crois le fichier /etc/network/interfaces :
auto venet0:0
iface venet0:0 inet static
address 78.xxx.xxx.52
netmask 255.255.255.255
broadcast 0.0.0.0
auto venet0:1
iface venet0:1 inet static
address 78.xxx.xxx.66
netmask 255.255.255.255
broadcast 0.0.0.0
Oui. Si j'en crois le fichier /etc/network/interfaces :
auto venet0:0
iface venet0:0 inet static
address 78.xxx.xxx.52
netmask 255.255.255.255
broadcast 0.0.0.0
auto venet0:1
iface venet0:1 inet static
address 78.xxx.xxx.66
netmask 255.255.255.255
broadcast 0.0.0.0
Re,
En fait tu as une seule interface venet0 sur la quelle sont configurées deux interfaces virtuelles.
Cette interface doit être lie un une interface physique (eth0 par exemple), mais tu n'as pas accès à cette interface vu que tu es chez un hébergeur.
Quelque chose de ce genre je suppose
Ce qui m'a fait pensé à NAT.
Je ne connais pas le comportement d'iptables dans le cas des interfaces virtuelles.
En fait tu as une seule interface venet0 sur la quelle sont configurées deux interfaces virtuelles.
Cette interface doit être lie un une interface physique (eth0 par exemple), mais tu n'as pas accès à cette interface vu que tu es chez un hébergeur.
Quelque chose de ce genre je suppose
Routeur | Interface physique - eth0 | | vps (venet0) + + | | venet0:0 venet0:1
Ce qui m'a fait pensé à NAT.
Je ne connais pas le comportement d'iptables dans le cas des interfaces virtuelles.