Pour diverses raisons, j'ai 3 routeurs WiFi haut débit chez moi (ou mon laboratoire de piratage personnel). Du côté WAN, l’un est FTTH, l’autre est ADSL et le troisième est 4G-LTE. Du côté WLAN, ils se voient attribuer des sous-réseaux 192.1.xx, 192.2.xx, 192.3.xx et tous sont configurés pour attribuer une adresse IP DHCP aux périphériques demandeurs dans la plage 192.x.1.0 - 192.x.200.0 au-dessus de la plage 192.x.200.0 sont réservés pour une adresse IP statique.
House-Hold (comme beaucoup, ces jours-ci) a une demi-douzaine de téléphones / tablettes Android et peu de PC. Tous les périphériques utilisent DHCP pour l'attribution d'adresse IP. Toutefois, comme on pourrait l’imaginer, un appareil peut être connecté à l’un des 3 routeurs WiFi et peut donc avoir une adresse IP quelconque (plage 192.x.1 ~ 192.x.200, où x = 1, 2, 3).
J'essaie de développer une application Android nécessitant l'utilisation de TCP / IP pour communiquer avec un serveur spécifique. Le serveur est une application Linux s'exécutant dans une machine virtuelle (invité Ubuntu 32 bits, s'exécutant sur l'hyperviseur VMWare Workstation Pro 14), sur un ordinateur portable Windows 10. L'adresse IP est également attribuée à l'ordinateur portable de manière dynamique (DHCP). La machine virtuelle Linux utilise une carte réseau virtuelle en mode NAT.
Voici un diagramme pour expliquer la configuration:
Le problème est qu'en raison de l'utilisation d'une adresse IP dynamique et de l'utilisation d'une adresse IP explicite (classe privée, donc impossible à gérer via DNS), je dois fréquemment reconfigurer l'adresse IP du serveur dans l'application client Android. Une solution simple consisterait à utiliser static-IP pour les serveurs. Cependant, je me demande s’il existe une autre approche, simple et intuitive. élégant ?